This is an automated email from the ASF dual-hosted git repository. luckychen pushed a commit to branch feature/master_ab_new in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
commit 6f962295c45cf16565ea503683f677f56a38ddec Author: chen <[email protected]> AuthorDate: Mon Sep 16 16:16:56 2019 +0800 [Android] tmp --- .../sdk/src/main/java/com/taobao/weex/WXEnvironment.java | 2 ++ .../sdk/src/main/java/com/taobao/weex/WXSDKInstance.java | 3 +++ .../java/com/taobao/weex/bridge/WXBridgeManager.java | 16 +++++++++++++--- .../java/com/taobao/weex/performance/WXStateRecord.java | 8 ++++---- 4 files changed, 22 insertions(+), 7 deletions(-) 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 9d3250d..e089d7a 100644 --- a/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java +++ b/android/sdk/src/main/java/com/taobao/weex/WXEnvironment.java @@ -114,6 +114,8 @@ public class WXEnvironment { public static long sJSFMStartListenerTime=0; + public static volatile boolean isWsFisMode = true; + /** * component and modules ready * */ diff --git a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java index 4d55d45..73027b9 100644 --- a/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java +++ b/android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java @@ -1718,6 +1718,9 @@ public class WXSDKInstance implements IWXActivityStateListener,View.OnLayoutChan } public void onRenderError(final String errCode, final String msg) { + if (WXEnvironment.isWsFisMode){ + hasException = true; + } WXStateRecord.getInstance().recordException(getInstanceId(),"onRenderError,"+errCode+","+msg); if (mRenderListener != null && mContext != null) { WXLogUtils.e("onRenderError "+errCode +","+msg); 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 8c31da1..6398942 100755 --- a/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java +++ b/android/sdk/src/main/java/com/taobao/weex/bridge/WXBridgeManager.java @@ -890,10 +890,10 @@ public class WXBridgeManager implements Callback, BactchExecutor { } catch (Throwable e) { WXLogUtils.e(WXLogUtils.getStackTrace(e)); } - WXStateRecord.getInstance().onJSCCrash(); + WXStateRecord.getInstance().onJSCCrash(TextUtils.isEmpty(instanceId)?"null":instanceId); callReportCrash(crashFile, instanceId, url,extInfo); } else { - WXStateRecord.getInstance().onJSEngineReload(); + WXStateRecord.getInstance().onJSEngineReload(TextUtils.isEmpty(instanceId)?"null":instanceId); commitJscCrashAlarmMonitor(IWXUserTrackAdapter.JS_BRIDGE, WXErrorCode.WX_ERR_RELOAD_PAGE, "reboot jsc Engine", instanceId, url,extInfo); } @@ -1046,8 +1046,18 @@ public class WXBridgeManager implements Callback, BactchExecutor { post(new Runnable() { @Override public void run() { + WXSDKInstance instance = WXSDKManager.getInstance().getAllInstanceMap().get(instanceId); + if (null != instance && !isSkipFrameworkInit(instance) && !isJSFrameworkInit()) { + String err = "[WXBridgeManager] invokeCreateInstance: framework.js uninitialized."; + instance.onRenderError( + WXErrorCode.WX_DEGRAD_ERR_INSTANCE_CREATE_FAILED.getErrorCode(), + WXErrorCode.WX_DEGRAD_ERR_INSTANCE_CREATE_FAILED.getErrorMsg() + ); + WXLogUtils.e(err); + instance.getApmForInstance().onStage("framework.js uninitialized and return"); + return; + } invokeExecJSOnInstance(instanceId, js, -1); - WXSDKInstance instance = WXSDKManager.getInstance().getAllInstanceMap().get(instanceId); if (null != instance && instance.isPreInitMode()){ instance.getApmForInstance().onStage(WXInstanceApm.KEY_PAGE_STAGES_LOAD_BUNDLE_END); instance.getApmForInstance().onStageWithTime(WXInstanceApm.KEY_PAGE_STAGES_END_EXCUTE_BUNDLE,WXUtils.getFixUnixTime()+600); diff --git a/android/sdk/src/main/java/com/taobao/weex/performance/WXStateRecord.java b/android/sdk/src/main/java/com/taobao/weex/performance/WXStateRecord.java index a95e957..ee6390d 100644 --- a/android/sdk/src/main/java/com/taobao/weex/performance/WXStateRecord.java +++ b/android/sdk/src/main/java/com/taobao/weex/performance/WXStateRecord.java @@ -102,15 +102,15 @@ public class WXStateRecord { /** * check onJSEngineReload time,and we know how many times reload and each reload time */ - public void onJSEngineReload() { - recordCommon(mJscReloadHistory,new Info(WXUtils.getFixUnixTime(), "", "onJSEngineReload")); + public void onJSEngineReload(String instanceId) { + recordCommon(mJscReloadHistory,new Info(WXUtils.getFixUnixTime(), instanceId, "onJSEngineReload")); } /** * check jsc crash time,and we know how many times jscCrash and each crash time */ - public void onJSCCrash() { - recordCommon(mJscCrashHistory,new Info(WXUtils.getFixUnixTime(), "", "onJSCCrash")); + public void onJSCCrash(String instanceId) { + recordCommon(mJscCrashHistory,new Info(WXUtils.getFixUnixTime(), instanceId, "onJSCCrash")); } private void recordCommon(RecordList<Info> list ,Info info){
