Skip to content

Commit 2e9a078

Browse files
miominYorkShen
authored andcommitted
* [android] Fix crash due to instanceId is null
1 parent 66571ad commit 2e9a078

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

android/sdk/src/main/java/com/taobao/weex/WXSDKInstance.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ public ScrollView getScrollView() {
438438

439439
public void setRootScrollView(ScrollView scrollView) {
440440
mScrollView = scrollView;
441-
if (mWXScrollViewListener != null) {
441+
if (mWXScrollViewListener != null && mScrollView instanceof WXScrollView) {
442442
((WXScrollView) mScrollView).addScrollViewListener(mWXScrollViewListener);
443443
}
444444
}

android/sdk/src/main/java/com/taobao/weex/common/WXErrorCode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ public enum WXErrorCode {
236236
WX_RENDER_ERR_NULL_KEY("-9603", "WX_RENDER_ERR_NULL_KEY", ErrorType.NATIVE_ERROR, ErrorGroup.NATIVE),
237237
WX_RENDER_ERR_CONTAINER_TYPE("-9611", "WX_RENDER_ERR_CONTAINER_TYPE", ErrorType.JS_ERROR,ErrorGroup.JS),
238238
WX_RENDER_ERR_TRANSITION("-9616", "WX_RENDER_ERR_TRANSITION", ErrorType.JS_ERROR, ErrorGroup.JS),
239-
239+
WX_RENDER_ERR_INSTANCE_ID_NULL("-9618", "WX_RENDER_ERR_INSTANCE_ID_NULL", ErrorType.NATIVE_ERROR, ErrorGroup.NATIVE),
240240

241241

242242
/**

android/sdk/src/main/java/com/taobao/weex/ui/WXRenderManager.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,13 @@
2424
import android.text.TextUtils;
2525

2626
import com.taobao.weex.WXSDKInstance;
27+
import com.taobao.weex.common.WXErrorCode;
2728
import com.taobao.weex.common.WXRuntimeException;
2829
import com.taobao.weex.common.WXThread;
2930
import com.taobao.weex.dom.RenderContext;
3031
import com.taobao.weex.ui.action.BasicGraphicAction;
3132
import com.taobao.weex.ui.component.WXComponent;
33+
import com.taobao.weex.utils.WXExceptionUtils;
3234
import com.taobao.weex.utils.WXUtils;
3335

3436
import java.util.ArrayList;
@@ -122,7 +124,15 @@ public void postGraphicAction(final String instanceId, final BasicGraphicAction
122124
}
123125

124126
public void registerInstance(WXSDKInstance instance) {
125-
mRenderContext.put(instance.getInstanceId(), new RenderContextImpl(instance));
127+
if (instance.getInstanceId() == null) {
128+
WXExceptionUtils.commitCriticalExceptionRT(null,
129+
WXErrorCode.WX_RENDER_ERR_INSTANCE_ID_NULL,
130+
"registerInstance",
131+
WXErrorCode.WX_RENDER_ERR_INSTANCE_ID_NULL.getErrorMsg() + "instanceId is null",
132+
null);
133+
} else {
134+
mRenderContext.put(instance.getInstanceId(), new RenderContextImpl(instance));
135+
}
126136
}
127137

128138
public List<WXSDKInstance> getAllInstances() {

0 commit comments

Comments
 (0)