You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by lu...@apache.org on 2019/08/26 07:12:49 UTC

[incubator-weex] 03/10: [Android] Add `isJSFrameworkInit` before calling `nativeInvokeOnSuccess`

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

luckychen pushed a commit to branch feature/0.26.2.19-jit
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git

commit 92982eea6224ccefe41a5682e8e845b11e486b71
Author: YorkShen <sh...@gmail.com>
AuthorDate: Thu Aug 15 17:59:07 2019 +0800

    [Android] Add `isJSFrameworkInit` before calling `nativeInvokeOnSuccess`
---
 .../main/java/com/taobao/weex/bridge/RequestHandler.java   | 14 ++++++++++++--
 .../main/java/com/taobao/weex/bridge/WXBridgeManager.java  |  5 ++++-
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/RequestHandler.java b/android/sdk/src/main/java/com/taobao/weex/bridge/RequestHandler.java
index f8a505e..f49ba9c 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/RequestHandler.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/RequestHandler.java
@@ -102,7 +102,12 @@ public class RequestHandler {
     WXBridgeManager.getInstance().post(new Runnable() {
       @Override
       public void run() {
-        nativeInvokeOnSuccess(nativeCallback, content, bundleTypeStr);
+        if(WXBridgeManager.getInstance().isJSFrameworkInit()) {
+          nativeInvokeOnSuccess(nativeCallback, content, bundleTypeStr);
+        }
+        else {
+          nativeInvokeOnFailed(nativeCallback);
+        }
       }
     });
   }
@@ -132,7 +137,12 @@ public class RequestHandler {
         WXBridgeManager.getInstance().post(new Runnable() {
           @Override
           public void run() {
-            nativeInvokeOnSuccess(sNativeCallback, script, bundleTypeStr);
+            if(WXBridgeManager.getInstance().isJSFrameworkInit()) {
+              nativeInvokeOnSuccess(sNativeCallback, script, bundleTypeStr);
+            }
+            else{
+              nativeInvokeOnFailed(sNativeCallback);
+            }
           }
         });
     }
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 9dafd92..8efa104 100755
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java
@@ -29,6 +29,8 @@ import android.os.Looper;
 import android.os.Message;
 import android.support.annotation.NonNull;
 import android.support.annotation.Nullable;
+import android.support.annotation.RestrictTo;
+import android.support.annotation.RestrictTo.Scope;
 import android.support.annotation.UiThread;
 import android.support.v4.util.ArrayMap;
 import android.text.TextUtils;
@@ -366,7 +368,8 @@ public class WXBridgeManager implements Callback, BactchExecutor {
 
   // setJSFrameworkInit and isJSFrameworkInit may use on diff thread
   // use volatile
-  private boolean isJSFrameworkInit() {
+  @RestrictTo(Scope.LIBRARY)
+  boolean isJSFrameworkInit() {
     return mInit;
   }