This is an automated email from the ASF dual-hosted git repository.

zshshr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new eb3f28b  * [Android] build fix
eb3f28b is described below

commit eb3f28b1da57c9fbbd8efd0661c3affbad64178e
Author: zhongcang <qh438406...@gmail.com>
AuthorDate: Thu Jan 3 20:53:47 2019 +0800

    * [Android] build fix
---
 .../java/com/taobao/weex/common/WXPerformance.java |  2 ++
 .../com/taobao/weex/performance/WXInstanceApm.java | 31 ++++++++++++++++++++++
 2 files changed, 33 insertions(+)

diff --git 
a/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java 
b/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java
index b70c42f..1a8532a 100644
--- a/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/common/WXPerformance.java
@@ -175,6 +175,8 @@ public class WXPerformance {
 
   public long interactionTime;
 
+  public long interactionRealUnixTime;
+
   public int interactionViewAddCount;
 
   public int interactionViewAddLimitCount;
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceApm.java 
b/android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceApm.java
index c1d8330..4cb4f8a 100644
--- a/android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceApm.java
+++ b/android/sdk/src/main/java/com/taobao/weex/performance/WXInstanceApm.java
@@ -18,6 +18,7 @@
  */
 package com.taobao.weex.performance;
 
+import java.util.HashMap;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
@@ -132,6 +133,11 @@ public class WXInstanceApm {
     public boolean hasAddView;
     private Handler mUIHandler;
 
+    /**
+     * send performance value to js
+     **/
+    private boolean hasSendInteractionToJS = false;
+
     public WXInstanceApm(String instanceId) {
         mInstanceId = instanceId;
         extInfo = new ConcurrentHashMap<>();
@@ -357,6 +363,7 @@ public class WXInstanceApm {
         }
 
         performanceRecord.interactionTime = curTime - 
performanceRecord.renderUnixTimeOrigin;
+        performanceRecord.interactionRealUnixTime = System.currentTimeMillis();
         onStageWithTime(KEY_PAGE_STAGES_INTERACTION,curTime);
 
         updateDiffStats(KEY_PAGE_STATS_I_SCREEN_VIEW_COUNT, 1);
@@ -474,4 +481,28 @@ public class WXInstanceApm {
             updateDiffStats(WXInstanceApm.KEY_PAGE_STATS_IMG_LOAD_FAIL_NUM, 1);
         }
     }
+
+    public void sendPerformanceToJS() {
+        if (hasSendInteractionToJS) {
+            return;
+        }
+        hasSendInteractionToJS = true;
+        WXSDKInstance instance = 
WXSDKManager.getInstance().getAllInstanceMap().get(mInstanceId);
+        if (null == instance) {
+            return;
+        }
+
+        Map<String,String> sendProperties = new HashMap<>(2);
+        sendProperties.put(KEY_PAGE_PROPERTIES_BIZ_ID,reportPageName);
+        
sendProperties.put(KEY_PAGE_PROPERTIES_BUBDLE_URL,instance.getBundleUrl());
+
+        Map<String,Long> sendStage = new HashMap<>(1);
+        
sendStage.put(KEY_PAGE_STAGES_INTERACTION,instance.getWXPerformance().interactionRealUnixTime);
+
+        Map<String, Object> data = new HashMap<>(2);
+        data.put("stage",sendStage);
+        data.put("properties",sendProperties);
+
+        instance.fireGlobalEventCallback("wx_apm", data);
+    }
 }

Reply via email to