summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorRobert Carr <racarr@google.com>2015-10-20 14:44:45 -0700
committerRob Carr <racarr@google.com>2015-10-20 21:51:26 +0000
commitf1ddb5e090d553bf6ddc50a35b455fade3e905b4 (patch)
tree7e62ff79c16c66ebfe3fb70f4510597f88883859 /services
parent482349364715dfcd87dc83e0913fc60dc6df0497 (diff)
downloadframeworks_base-f1ddb5e090d553bf6ddc50a35b455fade3e905b4.zip
frameworks_base-f1ddb5e090d553bf6ddc50a35b455fade3e905b4.tar.gz
frameworks_base-f1ddb5e090d553bf6ddc50a35b455fade3e905b4.tar.bz2
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
Diffstat (limited to 'services')
-rw-r--r--services/core/java/com/android/server/am/ActivityStackSupervisor.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index bf63931..17a86ca 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -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);
+ }
}
}