Catch exceptions thrown by pending activity launches.

When we perform pendign activity launches from the handler
thread (as opposed to the a client binder thread), we must
take care exceptions from such will not bring the system
server down.

Bug: 24983901
Change-Id: I0e75f6b51bf6172a8e1b9cccc5fffb9d50c63e30
This commit is contained in:
Robert Carr
2015-10-20 14:44:45 -07:00
committed by Rob Carr
parent 4823493647
commit f1ddb5e090

View File

@@ -2467,8 +2467,13 @@ public final class ActivityStackSupervisor implements DisplayListener {
final void doPendingActivityLaunchesLocked(boolean doResume) {
while (!mPendingActivityLaunches.isEmpty()) {
PendingActivityLaunch pal = mPendingActivityLaunches.remove(0);
startActivityUncheckedLocked(pal.r, pal.sourceRecord, null, null, pal.startFlags,
doResume && mPendingActivityLaunches.isEmpty(), null, null);
try {
startActivityUncheckedLocked(pal.r, pal.sourceRecord, null, null, pal.startFlags,
doResume && mPendingActivityLaunches.isEmpty(), null, null);
} catch (Exception e) {
Slog.w(TAG, "Exception during pending activity launch pal=" + pal, e);
}
}
}