You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by so...@apache.org on 2017/06/07 08:05:41 UTC

[04/50] incubator-weex git commit: + [android] prevent NPE on init Inspector

+ [android] prevent NPE on init Inspector


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

Branch: refs/heads/dev
Commit: dbfda762a84a78ea15e93e16141b0abcf02b30e6
Parents: da396f4
Author: moxun.ljf <fu...@foxmail.com>
Authored: Fri May 26 17:46:26 2017 +0800
Committer: moxun.ljf <fu...@foxmail.com>
Committed: Fri May 26 17:46:26 2017 +0800

----------------------------------------------------------------------
 .../com/taobao/weex/bridge/WXBridgeManager.java | 41 +++++++++-----------
 1 file changed, 18 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/dbfda762/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 e056663..0a2e7ff 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
@@ -58,7 +58,6 @@ import com.taobao.weex.utils.batch.BactchExecutor;
 import com.taobao.weex.utils.batch.Interceptor;
 
 import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -182,31 +181,27 @@ public class WXBridgeManager implements Callback,BactchExecutor {
       mWxDebugProxy.stop(false);
     }
     if (WXEnvironment.sDebugServerConnectable) {
-      try {
-        Class clazz =  Class.forName("com.taobao.weex.devtools.debug.DebugServerProxy");
-        if (clazz != null) {
-          Constructor constructor = clazz.getConstructor(Context.class, WXBridgeManager.class);
-          if (constructor != null) {
-            mWxDebugProxy = (IWXDebugProxy) constructor.newInstance(
-                WXEnvironment.getApplication(), WXBridgeManager.this);
-            if (mWxDebugProxy != null) {
-              mWxDebugProxy.start();
+      if (WXEnvironment.getApplication() != null) {
+        try {
+          Class clazz = Class.forName("com.taobao.weex.devtools.debug.DebugServerProxy");
+          if (clazz != null) {
+            Constructor constructor = clazz.getConstructor(Context.class, WXBridgeManager.class);
+            if (constructor != null) {
+              mWxDebugProxy = (IWXDebugProxy) constructor.newInstance(
+                      WXEnvironment.getApplication(), WXBridgeManager.this);
+              if (mWxDebugProxy != null) {
+                mWxDebugProxy.start();
+              }
             }
           }
+        } catch (Throwable e) {
+          //Ignore, It will throw Exception on Release environment
         }
-      } catch (ClassNotFoundException e) {
-        // ignore
-      } catch (NoSuchMethodException e) {
-        // ignore
-      } catch (InstantiationException e) {
-        // ignore
-      } catch (IllegalAccessException e) {
-        // ignore
-      } catch (InvocationTargetException e) {
-        // ignore
+        WXServiceManager.execAllCacheJsService();
+      } else {
+        WXLogUtils.e("WXBridgeManager", "WXEnvironment.sApplication is null, skip init Inspector");
+        WXLogUtils.w("WXBridgeManager", new Throwable("WXEnvironment.sApplication is null when init Inspector"));
       }
-
-      WXServiceManager.execAllCacheJsService();
     }
     if (remoteDebug && mWxDebugProxy != null) {
       mWXBridge = mWxDebugProxy.getWXBridge();
@@ -892,7 +887,7 @@ public class WXBridgeManager implements Callback,BactchExecutor {
     mWXBridge.execJS(instanceId, namespace, function, args);
   }
 
-  private void invokeInitFramework(Message msg) {   
+  private void invokeInitFramework(Message msg) {
     String framework = "";
     if (msg.obj != null) {
       framework = (String) msg.obj;