You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@weex.apache.org by mi...@apache.org on 2018/03/22 07:43:43 UTC

[1/2] incubator-weex git commit: [WEEX-261][android]Flat GUI NullPointerException fix

Repository: incubator-weex
Updated Branches:
  refs/heads/master a1d4ed2cd -> 83d254398


[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/83d25439
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/83d25439
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/83d25439

Branch: refs/heads/master
Commit: 83d254398d088f8047362a14dd7d582f08cc87d9
Parents: 9dcd0cd
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Thu Mar 22 15:05:33 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Thu Mar 22 15:43:30 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/83d25439/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/83d25439/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;
         }


[2/2] incubator-weex git commit: [WEEX-261][android]Flat GUI NullPointerException fix

Posted by mi...@apache.org.
[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/9dcd0cdb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/9dcd0cdb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/9dcd0cdb

Branch: refs/heads/master
Commit: 9dcd0cdb6558228d2b6b59f63e8326495bb13cfd
Parents: a1d4ed2
Author: jianbai.gbj <ji...@alibaba-inc.com>
Authored: Thu Mar 22 14:25:24 2018 +0800
Committer: misakuo <mi...@apache.org>
Committed: Thu Mar 22 15:43:30 2018 +0800

----------------------------------------------------------------------
 .../main/java/com/taobao/weex/ui/component/WXComponent.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/9dcd0cdb/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
----------------------------------------------------------------------
diff --git a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
index 6522c9b..1dfb506 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXComponent.java
@@ -553,10 +553,14 @@ public abstract class  WXComponent<T extends View> implements IWXObject, IWXActi
 
   private void setComponentLayoutParams(int realWidth, int realHeight, int realLeft, int realTop,
       int realRight, int realBottom, Point rawOffset) {
+    if(getInstance() == null || getInstance().isDestroy()){
+      return;
+    }
+
     FlatGUIContext UIImp = getInstance().getFlatUIContext();
     WidgetContainer ancestor;
     Widget widget;
-    if ((ancestor = UIImp.getFlatComponentAncestor(this)) != null) {
+    if (UIImp != null && (ancestor = UIImp.getFlatComponentAncestor(this)) != null) {
       if (this instanceof FlatComponent && !((FlatComponent) this).promoteToView(true)) {
         widget = ((FlatComponent) this).getOrCreateFlatWidget();
       } else {