Repository: incubator-weex
Updated Branches:
  refs/heads/master a90abd6c1 -> cb452bf5b


[WEEX-199][android] Add Global Switch Control Wson on or off


Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/cb452bf5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/cb452bf5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/cb452bf5

Branch: refs/heads/master
Commit: cb452bf5bac1e22f2ca2be9043d2b6220ea25bb3
Parents: a90abd6
Author: jianbai.gbj <[email protected]>
Authored: Mon Jan 22 14:25:29 2018 +0800
Committer: jianbai.gbj <[email protected]>
Committed: Mon Jan 22 16:34:09 2018 +0800

----------------------------------------------------------------------
 .../java/com/alibaba/weex/WXApplication.java    |   3 ++
 .../java/com/alibaba/weex/WXPageActivity.java   |   3 ++
 android/sdk/libs/armeabi/libweexjsb.so          | Bin 22620 -> 22620 bytes
 android/sdk/libs/armeabi/libweexjsc.so          | Bin 337420 -> 337468 bytes
 android/sdk/libs/armeabi/libweexjss.so          | Bin 6774612 -> 6774704 bytes
 .../java/com/taobao/weex/WXEnvironment.java     |   2 +-
 .../java/com/taobao/weex/bridge/WXBridge.java   |   6 +++
 .../com/taobao/weex/bridge/WXBridgeManager.java |  47 ++++++++++++++++++-
 .../java/com/taobao/weex/utils/WXJsonUtils.java |   7 ++-
 9 files changed, 64 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb452bf5/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
----------------------------------------------------------------------
diff --git 
a/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java 
b/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
index adfc9d4..41ca4cb 100644
--- a/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
+++ b/android/playground/app/src/main/java/com/alibaba/weex/WXApplication.java
@@ -43,6 +43,7 @@ import com.taobao.weex.InitConfig;
 import com.taobao.weex.WXEnvironment;
 import com.taobao.weex.WXSDKEngine;
 import com.taobao.weex.WXSDKManager;
+import com.taobao.weex.bridge.WXBridgeManager;
 import com.taobao.weex.common.WXException;
 
 public class WXApplication extends Application {
@@ -61,6 +62,8 @@ public class WXApplication extends Application {
      * Fresco.initialize(this,config);
      **/
 //    initDebugEnvironment(true, false, "DEBUG_SERVER_HOST");
+    WXBridgeManager.updateGlobalConfig("wson_off");
+    WXEnvironment.setApkDebugable(true);
     WXSDKEngine.addCustomOptions("appName", "WXSample");
     WXSDKEngine.addCustomOptions("appGroup", "WXApp");
     WXSDKEngine.initialize(this,

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb452bf5/android/playground/app/src/main/java/com/alibaba/weex/WXPageActivity.java
----------------------------------------------------------------------
diff --git 
a/android/playground/app/src/main/java/com/alibaba/weex/WXPageActivity.java 
b/android/playground/app/src/main/java/com/alibaba/weex/WXPageActivity.java
index 87765f3..0c18d2a 100644
--- a/android/playground/app/src/main/java/com/alibaba/weex/WXPageActivity.java
+++ b/android/playground/app/src/main/java/com/alibaba/weex/WXPageActivity.java
@@ -55,9 +55,11 @@ import com.alibaba.weex.https.WXHttpTask;
 import com.alibaba.weex.https.WXRequestListener;
 import com.taobao.weex.IWXRenderListener;
 import com.taobao.weex.RenderContainer;
+import com.taobao.weex.WXEnvironment;
 import com.taobao.weex.WXSDKEngine;
 import com.taobao.weex.WXSDKInstance;
 import com.taobao.weex.appfram.navigator.IActivityNavBarSetter;
+import com.taobao.weex.bridge.WXBridgeManager;
 import com.taobao.weex.common.IWXDebugProxy;
 import com.taobao.weex.common.WXRenderStrategy;
 import com.taobao.weex.dom.ImmutableDomObject;
@@ -65,6 +67,7 @@ import com.taobao.weex.ui.component.NestedContainer;
 import com.taobao.weex.ui.component.WXComponent;
 import com.taobao.weex.ui.component.WXVContainer;
 import com.taobao.weex.utils.WXFileUtils;
+import com.taobao.weex.utils.WXJsonUtils;
 import com.taobao.weex.utils.WXLogUtils;
 
 import java.io.File;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb452bf5/android/sdk/libs/armeabi/libweexjsb.so
----------------------------------------------------------------------
diff --git a/android/sdk/libs/armeabi/libweexjsb.so 
b/android/sdk/libs/armeabi/libweexjsb.so
index cb739b4..f0287cf 100644
Binary files a/android/sdk/libs/armeabi/libweexjsb.so and 
b/android/sdk/libs/armeabi/libweexjsb.so differ

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb452bf5/android/sdk/libs/armeabi/libweexjsc.so
----------------------------------------------------------------------
diff --git a/android/sdk/libs/armeabi/libweexjsc.so 
b/android/sdk/libs/armeabi/libweexjsc.so
index 748ef88..28ee2a3 100644
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/cb452bf5/android/sdk/libs/armeabi/libweexjss.so
----------------------------------------------------------------------
diff --git a/android/sdk/libs/armeabi/libweexjss.so 
b/android/sdk/libs/armeabi/libweexjss.so
index ce5d928..dc93f8d 100644
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/cb452bf5/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java 
b/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
index 1f5b31c..e19570f 100644
--- a/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
+++ b/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java
@@ -85,7 +85,7 @@ public class WXEnvironment {
   public static long sSDKInitTime =0;
 
   public static LogLevel sLogLevel = LogLevel.DEBUG;
-  private static boolean isApkDebug = false;
+  private static boolean isApkDebug = true;
   public static boolean isPerf = false;
 
   private static String sGlobalFontFamily;

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb452bf5/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java 
b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
index 8e328fc..ef30168 100644
--- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
+++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridge.java
@@ -92,6 +92,12 @@ class WXBridge implements IWXBridge {
   public native void takeHeapSnapshot(String filename);
 
 
+  /**
+   * update global config,
+   * @param config params
+   * */
+  public native void  updateGlobalConfig(String config);
+
   public int initFrameworkEnv(String framework, WXParams params, String 
cacheDir, boolean pieSupport){
     if (MULTIPROCESS) {
       return initFrameworkMultiProcess(framework, params, cacheDir, 
pieSupport);

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb452bf5/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 d86dfbc..349b5f8 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
@@ -147,6 +147,12 @@ public class WXBridgeManager implements Callback, 
BactchExecutor {
    * Whether JS Framework(main.js) has been initialized.
    */
   private volatile static boolean mInit = false;
+
+
+
+  private static String globalConfig = "none";
+  private static String GLOBAL_CONFIG_KEY = "global_switch_config";
+
   /**
    * package
    **/
@@ -1667,7 +1673,7 @@ public class WXBridgeManager implements Callback, 
BactchExecutor {
     builder.append("[");
     for(WXJSObject object : args){
       if(object.type == WXJSObject.WSON){
-        object = new WXJSObject(WXJSObject.WSON, Wson.parse((byte[]) 
object.data));
+        object = new WXJSObject(WXJSObject.WSON, 
WXJsonUtils.parseWson(((byte[]) object.data)));
       }
       builder.append(WXJsonUtils.fromObjectToJSONString(object));
       builder.append(",");
@@ -2137,6 +2143,43 @@ public class WXBridgeManager implements Callback, 
BactchExecutor {
 
   }
 
+  /**
+   * update js server global config, current support turn wson off
+   * by pass wson_off
+   * */
+  public static void  updateGlobalConfig(String config){
+    if(TextUtils.isEmpty(config)){
+      config = "none";
+    }
+    if(!TextUtils.equals(config, globalConfig)){
+      globalConfig = config;
+      WXEnvironment.getCustomOptions().put(GLOBAL_CONFIG_KEY, globalConfig);
+      Runnable runnable = new Runnable() {
+        @Override
+        public void run() {
+          if(mBridgeManager != null){
+            if(mBridgeManager.isJSFrameworkInit()){
+              if(mBridgeManager.mWXBridge instanceof WXBridge) {
+                final WXBridge bridge = (WXBridge) mBridgeManager.mWXBridge;
+                bridge.updateGlobalConfig(globalConfig);
+              }
+            }
+          }
+          if(globalConfig.contains("wson_off")){
+            WXJsonUtils.USE_WSON = false;
+          }else{
+            WXJsonUtils.USE_WSON = true;
+          }
+        }
+      };
+      if(mBridgeManager != null && mBridgeManager.isJSFrameworkInit()){
+         mBridgeManager.post(runnable);
+      }else{
+         runnable.run();
+      }
+    }
+  }
+
   public
   @Nullable
   Looper getJSLooper() {
@@ -2174,4 +2217,6 @@ public class WXBridgeManager implements Callback, 
BactchExecutor {
     public String instanceId;
   }
 
+
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/cb452bf5/android/sdk/src/main/java/com/taobao/weex/utils/WXJsonUtils.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/utils/WXJsonUtils.java 
b/android/sdk/src/main/java/com/taobao/weex/utils/WXJsonUtils.java
index a52323f..7856a05 100644
--- a/android/sdk/src/main/java/com/taobao/weex/utils/WXJsonUtils.java
+++ b/android/sdk/src/main/java/com/taobao/weex/utils/WXJsonUtils.java
@@ -122,6 +122,9 @@ public class WXJsonUtils {
       return new WXJSObject(WXJSObject.JSON, 
WXJsonUtils.fromObjectToJSONString(tasks));
     }
   }
-
-  private static final  boolean USE_WSON = true;
+  /**
+   * config whether use json or wson,  you should update this value by 
updateGlobalConfig(String config)
+   * in WXBridgeManager class  method
+   * */
+  public static  boolean USE_WSON = true;
 }

Reply via email to