[TIMOB-1975] Android: Showing JS error dialog (rhino dialog) can FC app if activity has finished
GitHub Issue | n/a |
---|---|
Type | Bug |
Priority | Low |
Status | Closed |
Resolution | Fixed |
Resolution Date | 2011-04-17T01:57:42.000+0000 |
Affected Version/s | n/a |
Fix Version/s | Release 1.5.0 |
Components | Android |
Labels | android, defect |
Reporter | Bill Dawson |
Assignee | Bill Dawson |
Created | 2011-04-15T03:07:00.000+0000 |
Updated | 2011-04-17T01:57:42.000+0000 |
Description
Attempting to show an error dialog inside the JS (our
doRhinoDialog
in TiContext
) FCs the app
if the activity belonging to the context that is attempting to show
the dialog has finished.
This can happen, for example, if a user backs out of a heavyweight window while a separate thread (like an XHR callback, which is how we found out about this problem) is running JS in that window's context and comes across an error.
For a failcase, use this app.js and then win.js.
app.js:
Titanium.UI.setBackgroundColor('#000');
Titanium.UI.createWindow({
title:'Test',
backgroundColor:'#fff',
fullscreen: true,
url: 'win.js'
}).open();
win.js:
var win = Ti.UI.currentWindow;
win.addEventListener('close', function(){
Ti.API.info(win.nonsense.nonsense);
});
The FC is this exception:
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@45d433c8 is not valid; is your activity running?
at android.view.ViewRoot.setView(ViewRoot.java:509)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.view.Window$LocalWindowManager.addView(Window.java:424)
at android.app.Dialog.show(Dialog.java:241)
at org.appcelerator.titanium.TiContext$1.run(TiContext.java:811)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:
(from [480434de05223577f1903689349b567fd8cfccd7]) [#1975 state:fixed-in-qa] Check if activity finished/finishing before attempting to display dialog in it http://github.com/appcelerator/titanium_mobile/commit/480434de05223577f1903689349b567fd8cfccd7"> http://github.com/appcelerator/titanium_mobile/commit/480434de05223...
1.4.2.4ce7ff G1 running 1.6, 2.2 simulator