This is an automated email from the ASF dual-hosted git repository.

kyork pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-weex.git


The following commit(s) were added to refs/heads/master by this push:
     new 349ee5f  [android] fix slider crash when adapter is null (#1816)
349ee5f is described below

commit 349ee5f1377116dc5c7b97f5b8a08e8845c7268b
Author: Klueze <hz.klu...@gmail.com>
AuthorDate: Mon Nov 26 17:24:20 2018 +0800

    [android] fix slider crash when adapter is null (#1816)
---
 .../java/com/taobao/weex/ui/action/GraphicActionLayout.java  |  2 +-
 .../main/java/com/taobao/weex/ui/component/WXComponent.java  | 12 +++++++++---
 .../src/main/java/com/taobao/weex/ui/component/WXSlider.java |  4 +++-
 .../taobao/weex/ui/component/list/BasicListComponent.java    |  5 -----
 .../java/com/taobao/weex/ui/component/ComponentTest.java     |  2 +-
 5 files changed, 14 insertions(+), 11 deletions(-)

diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionLayout.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionLayout.java
index 45846cf..24946fe 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionLayout.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/action/GraphicActionLayout.java
@@ -41,7 +41,7 @@ public class GraphicActionLayout extends BasicGraphicAction {
     }
 
     component.setDemission(mLayoutSize, mLayoutPosition);
-    component.setLayout(component);
+    component.setSafeLayout(component);
     component.setPadding(component.getPadding(), component.getBorder());
   }
 }
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 fbf8bc3..4d94471 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
@@ -682,7 +682,7 @@ public abstract class WXComponent<T extends View> extends 
WXBasicComponent imple
         component = this;
       }
       bindComponent(component);
-      setLayout(component);
+      setSafeLayout(component);
       setPadding(component.getPadding(), component.getBorder());
       applyEvents();
     }
@@ -701,7 +701,7 @@ public abstract class WXComponent<T extends View> extends 
WXBasicComponent imple
 
   public void applyLayoutOnly(){
     if(!isLazy()) {
-      setLayout(this);
+      setSafeLayout(this);
       setPadding(this.getPadding(), this.getBorder());
     }
   }
@@ -922,13 +922,19 @@ public abstract class WXComponent<T extends View> extends 
WXBasicComponent imple
   /**
    * layout view
    */
-  public void setLayout(WXComponent component) {
+  public void setSafeLayout(WXComponent component) {
     if (TextUtils.isEmpty(component.getComponentType())
             || TextUtils.isEmpty(component.getRef()) || 
component.getLayoutPosition() == null
             || component.getLayoutSize() == null) {
       return;
     }
+    setLayout(component);
+  }
 
+  /**
+   * layout view
+   */
+  public void setLayout(WXComponent component) {
     setLayoutSize(component.getLayoutSize());
     setLayoutPosition(component.getLayoutPosition());
     setPaddings(component.getPadding());
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
index 8e94740..d003318 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/component/WXSlider.java
@@ -214,7 +214,9 @@ public class WXSlider extends WXVContainer<FrameLayout> {
 
   @Override
   public void setLayout(WXComponent component) {
-    mAdapter.setLayoutDirectionRTL(this.isNativeLayoutRTL());
+    if (mAdapter != null) {
+      mAdapter.setLayoutDirectionRTL(this.isNativeLayoutRTL());
+    }
     super.setLayout(component);
   }
 
diff --git 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
index a9a2c67..c994707 100644
--- 
a/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
+++ 
b/android/sdk/src/main/java/com/taobao/weex/ui/component/list/BasicListComponent.java
@@ -198,11 +198,6 @@ public abstract class BasicListComponent<T extends 
ViewGroup & ListComponentView
 
   @Override
   public void setLayout(WXComponent component) {
-    if (TextUtils.isEmpty(component.getComponentType())
-            || TextUtils.isEmpty(component.getRef()) || 
component.getLayoutPosition() == null
-            || component.getLayoutSize() == null) {
-      return;
-    }
     if (component.getHostView() != null) {
       int layoutDirection = component.isNativeLayoutRTL() ? 
View.LAYOUT_DIRECTION_RTL : View.LAYOUT_DIRECTION_LTR;
       ViewCompat.setLayoutDirection(component.getHostView(), layoutDirection);
diff --git 
a/android/sdk/src/test/java/com/taobao/weex/ui/component/ComponentTest.java 
b/android/sdk/src/test/java/com/taobao/weex/ui/component/ComponentTest.java
index 1e74e7a..bcafc2a 100644
--- a/android/sdk/src/test/java/com/taobao/weex/ui/component/ComponentTest.java
+++ b/android/sdk/src/test/java/com/taobao/weex/ui/component/ComponentTest.java
@@ -49,7 +49,7 @@ public class ComponentTest {
       parent.createChildViewAt(-1);
     }
 
-    comp.setLayout(comp);
+    comp.setSafeLayout(comp);
 
 //    domObject = new TestDomObject();
 //    comp.updateDom(domObject);

Reply via email to