Repository: incubator-weex
Updated Branches:
  refs/heads/master 5ca1f002a -> c281b565a


[WEEX-506][Android] try fix report defaultUrl in mutilThread case


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

Branch: refs/heads/master
Commit: c281b565a0e6707aaac81bbf66a44f5ec348633c
Parents: 5ca1f00
Author: zhongcang <qh438406...@gmail.com>
Authored: Mon Jul 16 14:11:00 2018 +0800
Committer: zhongcang <qh438406...@gmail.com>
Committed: Mon Jul 16 14:11:00 2018 +0800

----------------------------------------------------------------------
 .../sdk/src/main/java/com/taobao/weex/WXSDKInstance.java | 11 ++++++++++-
 .../java/com/taobao/weex/bridge/WXBridgeManager.java     |  7 +++++++
 2 files changed, 17 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c281b565/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java 
b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
index 0b3c9d9..d0d3c99 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java
@@ -1342,7 +1342,6 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
 
   public synchronized void destroy() {
     if(!isDestroy()) {
-      WXSDKManager.getInstance().getAllInstanceMap().remove(mInstanceId);
       if(mRendered) {
         WXSDKManager.getInstance().destroyInstance(mInstanceId);
       }
@@ -1400,6 +1399,16 @@ public class WXSDKInstance implements 
IWXActivityStateListener,View.OnLayoutChan
           inactiveAddElementAction.clear();
         }
       });
+
+      //when report error in @WXExceptionUtils
+      // instance may had destroy and remove,
+      // so we delay remove from allInstanceMap
+      WXBridgeManager.getInstance().postDelay(new Runnable() {
+        @Override
+        public void run() {
+          WXSDKManager.getInstance().getAllInstanceMap().remove(mInstanceId);
+        }
+      },5000);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c281b565/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 c6395ca..ab4e6da 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
@@ -396,6 +396,13 @@ public class WXBridgeManager implements Callback, 
BactchExecutor {
     m.sendToTarget();
   }
 
+  public void postDelay(Runnable r,long delayMillis){
+    if (mJSHandler == null) {
+      return;
+    }
+    mJSHandler.postDelayed(WXThread.secure(r),delayMillis);
+  }
+
   void setTimeout(String callbackId, String time) {
     Message message = Message.obtain();
     message.what = WXJSBridgeMsgType.SET_TIMEOUT;

Reply via email to