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);