diff options
author | leo_hsu <leo_hsu@htc.com> | 2014-03-21 12:27:16 +0800 |
---|---|---|
committer | leo_hsu <leo_hsu@htc.com> | 2014-03-21 12:27:16 +0800 |
commit | 82a91631d58d0d378ae93afc034aef3b44aef81b (patch) | |
tree | 5b341e6e486c44eecf7e75b11bcde523f0e9f210 /rs/java/android/renderscript/RenderScriptGL.java | |
parent | 4308a5230e2887c1ee12e7bdc60e0b93212637ab (diff) |
[ActivityManager] Fix a bug: unable to start activity after starting activities during screen off.
Symptom: Unable to start any activity.
Root Cause: ActivityStack.mPausingActivity() points to a destroyed activity of a died process, so that ActivityStackSupervisor.allPausedActivitiesComplete() always returns false.
Solution: Set mPausingActivity to null in ActivityStack.cleanUpActivityLocked().
Reproduce steps:
a. Turn screen off.
b. A background service starts an activity X (in process X).
c. A background service starts a no-history activity Y (in process Y), but the main thread of Y was blocked.
d. A background service starts Y 3~4 times --> this causes am_failed_to_pause on X.
e. Main thread of Y is freed finally --> this causes Y crash for android.view.WindowManager$BadTokenException.
f. Turn screen on, X is shown on screen, but neither back key nor home key can work because mPausingActivity is Y.
Change-Id: I320b3db407e2d4cc745c8ca22a6e548742234242
Diffstat (limited to 'rs/java/android/renderscript/RenderScriptGL.java')
0 files changed, 0 insertions, 0 deletions