[
https://issues.apache.org/jira/browse/WEEX-474?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16563089#comment-16563089
]
ASF GitHub Bot commented on WEEX-474:
-------------------------------------
YorkShen closed pull request #1292: [android][WEEX-474] when the app's
WXInstance destroy, but Weex page call toast Toast ,crash
URL: https://github.com/apache/incubator-weex/pull/1292
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git
a/android/sdk/src/main/java/com/taobao/weex/ui/module/WXModalUIModule.java
b/android/sdk/src/main/java/com/taobao/weex/ui/module/WXModalUIModule.java
index 76ba718671..3449359e3a 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/module/WXModalUIModule.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/module/WXModalUIModule.java
@@ -61,7 +61,9 @@
@JSMethod(uiThread = true)
public void toast(JSONObject jsObj) {
-
+ if(mWXSDKInstance.getContext() == null){
+ return;
+ }
String message = "";
int duration = Toast.LENGTH_SHORT;
if (jsObj != null) {
diff --git
a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
index 616c16df7c..f44f59a4e3 100644
--- a/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
+++ b/android/sdk/src/main/java/com/taobao/weex/ui/view/WXCircleViewPager.java
@@ -233,11 +233,15 @@ public boolean dispatchTouchEvent(MotionEvent ev) {
}
break;
}
- boolean result = super.dispatchTouchEvent(ev);
- if (wxGesture != null) {
- result |= wxGesture.onTouch(this, ev);
+ try{
+ boolean result = super.dispatchTouchEvent(ev);
+ if (wxGesture != null) {
+ result |= wxGesture.onTouch(this, ev);
+ }
+ return result;
+ }catch (Exception e){
+ return false;
}
- return result;
}
public void destory() {
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Toast ,crash!
> -------------
>
> Key: WEEX-474
> URL: https://issues.apache.org/jira/browse/WEEX-474
> Project: Weex
> Issue Type: Bug
> Components: Android
> Affects Versions: 0.16, 0.18
> Reporter: 武晨
> Assignee: codefurture
> Priority: Blocker
> Fix For: 0.18
>
>
> when the app's WXInstance destroy, but Weex page call toast(),sometimes app
> crash, because null point exception *context is null !!!*, inside toast().
>
> code class *WXModalUIModule*:
> @JSMethod(uiThread = true)
> public void toast(String param) {
> String message = "";
> int duration = Toast.LENGTH_SHORT;
> if (!TextUtils.isEmpty(param)) {
> try
> { param = URLDecoder.decode(param, "utf-8"); JSONObject jsObj =
> JSON.parseObject(param); message = jsObj.getString(MESSAGE); duration =
> jsObj.getInteger(DURATION); }
> catch (Exception e)
> { WXLogUtils.e("[WXModalUIModule] alert param parse error ", e); }
> }
> if (TextUtils.isEmpty(message))
> { WXLogUtils.e("[WXModalUIModule] toast param parse is null "); return; }
> if (duration > 3)
> { duration = Toast.LENGTH_LONG; }
> else
> { duration = Toast.LENGTH_SHORT; }
> if (toast == null) {
> {color:#ff0000}*//crash here!!!! sometime, mWXSDKInstance.getContext() is
> null !!!!*{color}
> t*oast = Toast.makeText(mWXSDKInstance.getContext(), message, duration);*
> } else
> { toast.setDuration(duration); toast.setText(message); }
> toast.setGravity(Gravity.CENTER, 0, 0);
> toast.show();
> }
>
> ps:when weex page closed, and wxSDKInstance destroy,but weex page still
> working on background like asynchronous request(network),on this time.when
> the request is back, and call toast(),now context is null,bug show!
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)