Repository: incubator-weex Updated Branches: refs/heads/master 3023b070b -> c6754e68f
JsService should be registered during weex reload Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/c6754e68 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/c6754e68 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/c6754e68 Branch: refs/heads/master Commit: c6754e68f57f7a926ed49e864079abd3444a820d Parents: 3023b07 Author: Darin <dyy...@qq.com> Authored: Thu Jan 25 16:21:08 2018 +0800 Committer: yuhun-alibaba <tomcat...@gmail.com> Committed: Fri Feb 2 16:23:50 2018 +0800 ---------------------------------------------------------------------- .../main/java/com/taobao/weex/WXSDKEngine.java | 1 + .../taobao/weex/bridge/WXServiceManager.java | 25 +++++++++++++------- 2 files changed, 18 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c6754e68/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java index 5548ced..7069729 100644 --- a/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java +++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKEngine.java @@ -523,6 +523,7 @@ public class WXSDKEngine { WXBridgeManager.getInstance().restart(); WXBridgeManager.getInstance().initScriptsFramework(framework); + WXServiceManager.reload(); WXModuleManager.reload(); WXComponentRegistry.reload(); WXSDKManager.getInstance().postOnUiThread(new Runnable() { http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/c6754e68/android/sdk/src/main/java/com/taobao/weex/bridge/WXServiceManager.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXServiceManager.java b/android/sdk/src/main/java/com/taobao/weex/bridge/WXServiceManager.java index 4baf3ba..27bfb5a 100644 --- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXServiceManager.java +++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXServiceManager.java @@ -19,7 +19,6 @@ package com.taobao.weex.bridge; import android.text.TextUtils; - import com.taobao.weex.WXEnvironment; import com.taobao.weex.common.WXJSService; @@ -46,13 +45,11 @@ public class WXServiceManager { } String serviceJs = String.format(";(function(service, options){ ;%s; })({ %s }, { %s });", serviceScript, param1, param2); - if(WXEnvironment.isApkDebugable()) { - WXJSService service = new WXJSService(); - service.setName(name); - service.setScript(serviceScript); - service.setOptions(options); - sInstanceJSServiceMap.put(name, service); - } + WXJSService service = new WXJSService(); + service.setName(name); + service.setScript(serviceScript); + service.setOptions(options); + sInstanceJSServiceMap.put(name, service); WXBridgeManager.getInstance().execJSService(serviceJs); return true; @@ -84,4 +81,16 @@ public class WXServiceManager { } return null; } + + public static void reload() { + WXBridgeManager.getInstance().post(new Runnable() { + @Override + public void run() { + for (Map.Entry<String, WXJSService> entry : sInstanceJSServiceMap.entrySet()) { + WXJSService service = entry.getValue(); + registerService(service.getName(), service.getScript(), service.getOptions()); + } + } + }); + } }