You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by ac...@apache.org on 2018/04/25 07:55:53 UTC

incubator-weex git commit: [WEEX-303] [Android] fix nullPoint

Repository: incubator-weex
Updated Branches:
  refs/heads/master 45be6cbb0 -> b4d8ecbb1


[WEEX-303] [Android] fix nullPoint

close #1106


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/b4d8ecbb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/b4d8ecbb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/b4d8ecbb

Branch: refs/heads/master
Commit: b4d8ecbb1fe1f7dbd7f1d70ef67a3915e231e92f
Parents: 45be6cb
Author: zhongcang <qh...@gmail.com>
Authored: Tue Apr 10 15:01:05 2018 +0800
Committer: acton393 <zh...@gmail.com>
Committed: Wed Apr 25 15:41:55 2018 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/bridge/WXBridgeManager.java |  9 ++++++--
 .../taobao/weex/ui/module/WXTimerModule.java    | 22 ++++++--------------
 2 files changed, 13 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b4d8ecbb/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
index f931ccf..bb90f23 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -58,6 +58,7 @@ import com.taobao.weex.dom.action.Actions;
 import com.taobao.weex.dom.action.TraceableAction;
 import com.taobao.weex.tracing.WXTracing;
 import com.taobao.weex.ui.WXComponentRegistry;
+import com.taobao.weex.ui.component.WXComponent;
 import com.taobao.weex.utils.WXExceptionUtils;
 import com.taobao.weex.utils.WXFileUtils;
 import com.taobao.weex.utils.WXJsonUtils;
@@ -2509,7 +2510,7 @@ public void invokeDestoryInstance(String instanceId, String namespace, String fu
 
      if (checkEmptyScreen(instance)){
         if (WXEnvironment.isApkDebugable()){
-          WXLogUtils.d("render error 4 js error !");
+          WXLogUtils.e("render error 4 js error !");
         }
        WXExceptionUtils.commitCriticalExceptionRT(exceptionId, WXErrorCode.WX_RENDER_ERR_JS_RUNTIME,
                                                   function,
@@ -2528,8 +2529,12 @@ public void invokeDestoryInstance(String instanceId, String namespace, String fu
     if (null == instance || instance.isDestroy()){
       return false;
     }
+    WXComponent rootComponent = instance.getRootComponent();
+    if (null == rootComponent) {
+      return true;
+    }
 
-    View rootView = instance.getRootView();
+    View rootView = rootComponent.getRealView();
     if (null == rootView){
       return true;
     }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/b4d8ecbb/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java b/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java
index 8745b54..2a29a29 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/module/WXTimerModule.java
@@ -70,14 +70,9 @@ public class WXTimerModule extends WXModule implements Destroyable, Handler.Call
   public void setTimeout(@IntRange(from = 1) int funcId, @FloatRange(from = 0) float delay) {
     if(mWXSDKInstance != null) {
       postOrHoldMessage(MODULE_TIMEOUT, funcId, (int) delay, Integer.parseInt(mWXSDKInstance.getInstanceId()));
-      WXSDKManager.getInstance().postOnUiThread(new Runnable() {
-          @Override
-          public void run() {
-            if (null != mWXSDKInstance){
-              mWXSDKInstance.getWXPerformance().timerInvokeCount++;
-            }
-          }
-      },0);
+      if (null != mWXSDKInstance.getWXPerformance()){
+        mWXSDKInstance.getWXPerformance().timerInvokeCount++;
+      }
     }
   }
 
@@ -85,14 +80,9 @@ public class WXTimerModule extends WXModule implements Destroyable, Handler.Call
   public void setInterval(@IntRange(from = 1) int funcId, @FloatRange(from = 0) float interval) {
     if(mWXSDKInstance != null) {
       postOrHoldMessage(MODULE_INTERVAL, funcId, (int) interval, Integer.parseInt(mWXSDKInstance.getInstanceId()));
-      WXSDKManager.getInstance().postOnUiThread(new Runnable() {
-          @Override
-          public void run() {
-            if (null != mWXSDKInstance){
-              mWXSDKInstance.getWXPerformance().timerInvokeCount++;
-            }
-          }
-      },0);
+      if (null != mWXSDKInstance.getWXPerformance()){
+        mWXSDKInstance.getWXPerformance().timerInvokeCount++;
+      }
     }
   }