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());
+                }
+            }
+        });
+    }
 }

Reply via email to