You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@weex.apache.org by GitBox <gi...@apache.org> on 2018/09/19 07:31:16 UTC

[GitHub] YorkShen closed pull request #1542: [WEEX-624][Android] add condition to prevent calling jni method when so or jfm not ready

YorkShen closed pull request #1542: [WEEX-624][Android] add condition to prevent calling jni method when so or jfm not ready
URL: https://github.com/apache/incubator-weex/pull/1542
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

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 f9d15f1d3d..9a73f4e20c 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
@@ -1630,7 +1630,10 @@ private String invokeExecJSOnInstance(String instanceId, String js, int type) {
     WXLogUtils.d(mLodBuilder.substring(0));
     mLodBuilder.setLength(0);
     // }
-    return mWXBridge.execJSOnInstance(instanceId, js, type);
+    if (isJSFrameworkInit()) {
+      return mWXBridge.execJSOnInstance(instanceId, js, type);
+    }
+    return null;
   }
 
   private byte[] invokeExecJSWithResult(String instanceId, String namespace, String function,
@@ -1644,7 +1647,10 @@ private String invokeExecJSOnInstance(String instanceId, String js, int type) {
       WXLogUtils.d(mLodBuilder.substring(0));
       mLodBuilder.setLength(0);
     }
-    return  mWXBridge.execJSWithResult(instanceId, namespace, function, args);
+    if (isJSFrameworkInit()) {
+      return mWXBridge.execJSWithResult(instanceId, namespace, function, args);
+    }
+    return null;
   }
 
   public @NonNull static String argsToJSON(WXJSObject[] args) {
@@ -2746,7 +2752,9 @@ public ContentBoxMeasurement getMeasurementFunc(String instanceId, long renderOb
   }
   
   public void bindMeasurementToRenderObject(long ptr){
-    mWXBridge.bindMeasurementToRenderObject(ptr);
+    if (isJSFrameworkInit()) {
+      mWXBridge.bindMeasurementToRenderObject(ptr);
+    }
   }
 
 
@@ -2757,12 +2765,17 @@ public void bindMeasurementToRenderObject(long ptr){
    */
   @UiThread
   public boolean notifyLayout(String instanceId) {
-    return mWXBridge.notifyLayout(instanceId);
+    if (isJSFrameworkInit()) {
+      return mWXBridge.notifyLayout(instanceId);
+    }
+    return false;
   }
 
   @UiThread
   public void forceLayout(String instanceId) {
-    mWXBridge.forceLayout(instanceId);
+    if (isJSFrameworkInit()) {
+      mWXBridge.forceLayout(instanceId);
+    }
   }
 
   /**
@@ -2783,7 +2796,9 @@ public void onInstanceClose(String instanceId) {
    * @param defaultHeight
    */
   public void setDefaultRootSize(final String instanceId, final float defaultWidth, final float defaultHeight, final boolean isWidthWrapContent, final boolean isHeightWrapContent) {
-    mWXBridge.setDefaultHeightAndWidthIntoRootDom(instanceId, defaultWidth, defaultHeight, isWidthWrapContent, isHeightWrapContent);
+    if (isJSFrameworkInit()) {
+      mWXBridge.setDefaultHeightAndWidthIntoRootDom(instanceId, defaultWidth, defaultHeight, isWidthWrapContent, isHeightWrapContent);
+    }
   }
 
   public void setRenderContentWrapContentToCore(boolean wrap, final String instanceId) {
@@ -2793,35 +2808,53 @@ public void setRenderContentWrapContentToCore(boolean wrap, final String instanc
   }
 
   public void setStyleWidth(String instanceId, String ref, float value) {
-    mWXBridge.setStyleWidth(instanceId, ref, value);
+    if (isJSFrameworkInit()) {
+      mWXBridge.setStyleWidth(instanceId, ref, value);
+    }
   }
 
   public void setStyleHeight(String instanceId, String ref, float value) {
-    mWXBridge.setStyleHeight(instanceId, ref, value);
+    if (isJSFrameworkInit()) {
+      mWXBridge.setStyleHeight(instanceId, ref, value);
+    }
   }
 
   public long[] getFirstScreenRenderTime(String instanceId) {
-    return mWXBridge.getFirstScreenRenderTime(instanceId);
+    if (isJSFrameworkInit()) {
+      return mWXBridge.getFirstScreenRenderTime(instanceId);
+    }
+    return null;
   }
 
   public long[] getRenderFinishTime(String instanceId) {
-    return mWXBridge.getRenderFinishTime(instanceId);
+    if (isJSFrameworkInit()) {
+      return mWXBridge.getRenderFinishTime(instanceId);
+    }
+    return null;
   }
 
   public void setMargin(String instanceId, String ref, CSSShorthand.EDGE edge, float value) {
-    mWXBridge.setMargin(instanceId, ref, edge, value);
+    if (isJSFrameworkInit()) {
+      mWXBridge.setMargin(instanceId, ref, edge, value);
+    }
   }
 
   public void setPadding(String instanceId, String ref, CSSShorthand.EDGE edge, float value) {
-    mWXBridge.setPadding(instanceId, ref, edge, value);
+    if (isJSFrameworkInit()) {
+      mWXBridge.setPadding(instanceId, ref, edge, value);
+    }
   }
 
   public void setPosition(String instanceId, String ref, CSSShorthand.EDGE edge, float value) {
-    mWXBridge.setPosition(instanceId, ref, edge, value);
+    if (isJSFrameworkInit()) {
+      mWXBridge.setPosition(instanceId, ref, edge, value);
+    }
   }
 
   public void markDirty(String instanceId, String ref, boolean dirty) {
-    mWXBridge.markDirty(instanceId, ref, dirty);
+    if (isJSFrameworkInit()) {
+      mWXBridge.markDirty(instanceId, ref, dirty);
+    }
   }
 
   public int callHasTransitionPros(String instanceId, String ref, HashMap<String, String> styles) {


 

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services