Repository: incubator-weex Updated Branches: refs/heads/master 1ab83cdcf -> 0bc243d95
[WEEX-269] [android] add T3D api support can use callT3DLinkNative on js runtime Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/0bc243d9 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/0bc243d9 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/0bc243d9 Branch: refs/heads/master Commit: 0bc243d95812d2e1d19922ec8480278cad6ca11e Parents: e69a0d2 Author: yuhun-alibaba <tomcat...@gmail.com> Authored: Thu Mar 29 14:57:35 2018 +0800 Committer: wentao.swt <wentao....@alibaba-inc.com> Committed: Thu Mar 29 15:24:34 2018 +0800 ---------------------------------------------------------------------- android/playground/app/build.gradle | 2 +- android/sdk/libs/armeabi/libweexjsc.so | Bin 276000 -> 276000 bytes android/sdk/libs/armeabi/libweexjss.so | Bin 2965560 -> 2965608 bytes .../com/taobao/weex/bridge/WXBridgeManager.java | 13 +++++++++++-- 4 files changed, 12 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0bc243d9/android/playground/app/build.gradle ---------------------------------------------------------------------- diff --git a/android/playground/app/build.gradle b/android/playground/app/build.gradle index ede9c84..bae43ca 100755 --- a/android/playground/app/build.gradle +++ b/android/playground/app/build.gradle @@ -104,5 +104,5 @@ dependencies { compile 'com.jakewharton.scalpel:scalpel:1.1.2' compile 'com.taobao.android.weex_inspection:urlconnection_interceptor:1.0.0' compile 'com.android.support.test.espresso:espresso-idling-resource:2.2.2' - compile 'com.taobao.android:weex_inspector:0.13.4' + compile 'com.taobao.android:weex_inspector:0.13.5-multicontext' } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0bc243d9/android/sdk/libs/armeabi/libweexjsc.so ---------------------------------------------------------------------- diff --git a/android/sdk/libs/armeabi/libweexjsc.so b/android/sdk/libs/armeabi/libweexjsc.so index f45aee4..96fe1c2 100755 Binary files a/android/sdk/libs/armeabi/libweexjsc.so and b/android/sdk/libs/armeabi/libweexjsc.so differ http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0bc243d9/android/sdk/libs/armeabi/libweexjss.so ---------------------------------------------------------------------- diff --git a/android/sdk/libs/armeabi/libweexjss.so b/android/sdk/libs/armeabi/libweexjss.so index 94d4478..f91f45a 100755 Binary files a/android/sdk/libs/armeabi/libweexjss.so and b/android/sdk/libs/armeabi/libweexjss.so differ http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/0bc243d9/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 aed1c53..ffede54 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 @@ -117,6 +117,7 @@ import static com.taobao.weex.bridge.WXModuleManager.createDomModule; public class WXBridgeManager implements Callback, BactchExecutor { public static final String METHOD_CREATE_INSTANCE = "createInstance"; + public static final String METHOD_CREATE_INSTANCE_CONTEXT = "createInstanceContext"; public static final String METHOD_DESTROY_INSTANCE = "destroyInstance"; public static final String METHOD_CALL_JS = "callJS"; public static final String METHOD_SET_TIMEOUT = "setTimeoutCallback"; @@ -1175,6 +1176,14 @@ public class WXBridgeManager implements Callback, BactchExecutor { public String syncExecJsOnInstanceWithResult(final String instanceId, final String js, final int type) { + try { + if (isJSThread()) { + return invokeExecJSOnInstance(instanceId, js, type); + } + } catch (Throwable e) { + WXLogUtils.e("[WXBridgeManager] syncExecJsOnInstanceWithResult on jsThread Exception"); + return ""; + } final CountDownLatch waitLatch = new CountDownLatch(1); EventResult callback = new EventResult(){ @Override @@ -1746,7 +1755,7 @@ public class WXBridgeManager implements Callback, BactchExecutor { return; } if (type == BundType.Vue || type == BundType.Rax) { - invokeCreateInstanceContext(instance.getInstanceId(), null, METHOD_CREATE_INSTANCE, args, false); + invokeCreateInstanceContext(instance.getInstanceId(), null, METHOD_CREATE_INSTANCE_CONTEXT, args, false); return; } else { invokeExecJS(instance.getInstanceId(), null, METHOD_CREATE_INSTANCE, args, false); @@ -2420,7 +2429,7 @@ public void invokeDestoryInstance(String instanceId, String namespace, String fu WXSDKInstance instance = null; if (instanceId != null && (instance = WXSDKManager.getInstance().getSDKInstance(instanceId)) != null) { exception += "\n getTemplateInfo==" +instance.getTemplateInfo();//add network header info - if (METHOD_CREATE_INSTANCE.equals(function) || !instance.isContentMd5Match()) { + if (METHOD_CREATE_INSTANCE_CONTEXT.equals(function) || METHOD_CREATE_INSTANCE.equals(function) || !instance.isContentMd5Match()) { try { if (isJSFrameworkInit() && reInitCount > 1 && !instance.isNeedReLoad()) { // JSONObject domObject = JSON.parseObject(tasks);