From 2e428767640d4a1943f373fdd7074065bcdd55ec Mon Sep 17 00:00:00 2001 From: codefurture Date: Thu, 16 Aug 2018 11:13:20 +0800 Subject: [PATCH] [WEEX-568][Android]Add Scan Delay Interface For AutoScanConfigRegister (#1439) --- .../ui/config/AutoScanConfigRegister.java | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/config/AutoScanConfigRegister.java b/android/sdk/src/main/java/com/taobao/weex/ui/config/AutoScanConfigRegister.java index 597fb4d89b..b8b5805f88 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/config/AutoScanConfigRegister.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/config/AutoScanConfigRegister.java @@ -26,6 +26,7 @@ import com.alibaba.fastjson.JSONObject; import com.taobao.weex.WXEnvironment; import com.taobao.weex.WXSDKEngine; +import com.taobao.weex.WXSDKManager; import com.taobao.weex.bridge.JavascriptInvokable; import com.taobao.weex.utils.WXFileUtils; import com.taobao.weex.utils.WXLogUtils; @@ -39,6 +40,7 @@ public class AutoScanConfigRegister { + private static long scanDelay = 0; public static final String TAG = "WeexScanConfigRegister"; @@ -61,7 +63,20 @@ public static void preLoad(JavascriptInvokable invokable){ * auto scan config files and do auto config from files, none need center register * */ public static void doScanConfig(){ - Thread thread = new Thread(new Runnable() { + if(scanDelay > 0){ + WXSDKManager.getInstance().getWXRenderManager().postOnUiThread(new Runnable() { + @Override + public void run() { + doScanConfigAsync(); + } + }, scanDelay); + }else{ + doScanConfigAsync(); + } + } + + public static void doScanConfigAsync(){ + Thread thread = new Thread(new Runnable() { @Override public void run() { doScanConfigSync(); @@ -77,8 +92,8 @@ public void run() { } } }); - thread.setName("AutoScanConfigRegister"); - thread.start(); + thread.setName("AutoScanConfigRegister"); + thread.start(); } private static void doScanConfigSync(){ @@ -146,4 +161,7 @@ private static void doScanConfigSync(){ } } + public static void setScanDelay(long scanDelay) { + AutoScanConfigRegister.scanDelay = scanDelay; + } }