[WEEX-261][android]Flat GUI NullPointerException fix
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/a6fa146c Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/a6fa146c Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/a6fa146c Branch: refs/heads/master Commit: a6fa146cb97fbcd38d75e5c8cd20a2165c5dbb78 Parents: 6e5558b Author: jianbai.gbj <[email protected]> Authored: Thu Mar 22 15:05:33 2018 +0800 Committer: jianbai.gbj <[email protected]> Committed: Thu Mar 22 15:05:33 2018 +0800 ---------------------------------------------------------------------- .../java/com/taobao/weex/ui/WXComponentRegistry.java | 5 +++-- .../taobao/weex/ui/config/AutoScanConfigRegister.java | 11 +++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a6fa146c/android/sdk/src/main/java/com/taobao/weex/ui/WXComponentRegistry.java ---------------------------------------------------------------------- diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/WXComponentRegistry.java b/android/sdk/src/main/java/com/taobao/weex/ui/WXComponentRegistry.java index bfaff30..39e3b89 100644 --- a/android/sdk/src/main/java/com/taobao/weex/ui/WXComponentRegistry.java +++ b/android/sdk/src/main/java/com/taobao/weex/ui/WXComponentRegistry.java @@ -29,16 +29,17 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; /** * All components must be registered within this class before used. */ public class WXComponentRegistry { - private static Map<String, IFComponentHolder> sTypeComponentMap = new HashMap<>(); + private static Map<String, IFComponentHolder> sTypeComponentMap = new ConcurrentHashMap<>(); private static ArrayList<Map<String, Object>> sComponentInfos=new ArrayList<>(); - public static boolean registerComponent(final String type, final IFComponentHolder holder, final Map<String, Object> componentInfo) throws WXException { + public static synchronized boolean registerComponent(final String type, final IFComponentHolder holder, final Map<String, Object> componentInfo) throws WXException { if (holder == null || TextUtils.isEmpty(type)) { return false; } http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/a6fa146c/android/sdk/src/main/java/com/taobao/weex/ui/config/AutoScanConfigRegister.java ---------------------------------------------------------------------- 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 94278a9..5c35de6 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 @@ -45,6 +45,17 @@ public class AutoScanConfigRegister { * auto scan config files and do auto config from files, none need center register * */ public static void doScanConfig(){ + Thread thread = new Thread(new Runnable() { + @Override + public void run() { + doScanConfigSync(); + } + }); + thread.setName("AutoScanConfigRegister"); + thread.start(); + } + + private static void doScanConfigSync(){ if(WXEnvironment.sApplication == null){ return; }
