From d24e5af1e2f410bde6c5a17244f9a3ef9e28bf81 Mon Sep 17 00:00:00 2001 From: chen Date: Mon, 16 Sep 2019 19:01:38 +0800 Subject: [PATCH] [Android] add mode check (#2908) --- .../src/main/java/com/taobao/weex/WXEnvironment.java | 2 ++ .../com/taobao/weex/adapter/IWXConfigAdapter.java | 1 + .../java/com/taobao/weex/bridge/WXBridgeManager.java | 11 ++++++++--- .../com/taobao/weex/performance/WXStateRecord.java | 8 ++++---- 4 files changed, 15 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 9d3250d6a8..0df610514b 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 isWsFixMode = true; + /** * component and modules ready * */ diff --git a/android/sdk/src/main/java/com/taobao/weex/adapter/IWXConfigAdapter.java b/android/sdk/src/main/java/com/taobao/weex/adapter/IWXConfigAdapter.java index 84de459ca4..953bf2c865 100644 --- a/android/sdk/src/main/java/com/taobao/weex/adapter/IWXConfigAdapter.java +++ b/android/sdk/src/main/java/com/taobao/weex/adapter/IWXConfigAdapter.java @@ -25,4 +25,5 @@ public interface IWXConfigAdapter { String getConfig(String nameSpace,String key,String defaultValue); String getConfigWhenInit(String nameSpace,String key,String defaultValue); + boolean checkMode(String name); } 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 9b87882037..9e70482a15 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 @@ -897,10 +897,10 @@ public int callReportCrashReloadPage(String instanceId, String crashFile) { } 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); } @@ -2285,7 +2285,12 @@ private WXParams assembleDefaultOptions() { IWXConfigAdapter adapter = WXSDKManager.getInstance().getWxConfigAdapter(); if (null != adapter){ try { - enableAlarmSignal = adapter.getConfigWhenInit("wxapm","enableAlarmSignal",enableAlarmSignal); + if (adapter.checkMode("white_screen_fix_open")){ + WXEnvironment.isWsFixMode = true; + }else { + enableAlarmSignal = adapter.getConfigWhenInit("wxapm","enableAlarmSignal",enableAlarmSignal); + WXEnvironment.isWsFixMode = "true".equalsIgnoreCase(enableAlarmSignal); + } }catch (Exception e){ e.printStackTrace(); } 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 365a85e608..0711af2378 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 @@ -104,15 +104,15 @@ public void recordJsThreadWatch(String msg){ /** * 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 list ,Info info){