From c94965914ac3e7fe77113c7da440da2f3ece7879 Mon Sep 17 00:00:00 2001 From: Robin Lee Date: Thu, 19 Mar 2020 15:36:57 +0100 Subject: [PATCH] Let Home activity restart during first few crashes After we get to the rate-limit, we wind up on the "Home App keeps stopping App info Close app" screen like we're supposed to. Bug: 148087283 Test: adb shell kill -11 `adb shell pidof {launcher}` Change-Id: I85874c2e4ad7098f87f1dbe6d0430b244852478b --- .../core/java/com/android/server/wm/ActivityStack.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java index e8bfe8ef63ac2..1feea1f20318d 100644 --- a/services/core/java/com/android/server/wm/ActivityStack.java +++ b/services/core/java/com/android/server/wm/ActivityStack.java @@ -2588,6 +2588,13 @@ class ActivityStack extends Task { if (r == null || r.app != app) { return null; } + if (r.isActivityTypeHome() && mAtmService.mHomeProcess == app) { + // Home activities should not be force-finished as we have nothing else to go + // back to. AppErrors will get to it after two crashes in MIN_CRASH_INTERVAL. + Slog.w(TAG, " Not force finishing home activity " + + r.intent.getComponent().flattenToShortString()); + return null; + } Slog.w(TAG, " Force finishing activity " + r.intent.getComponent().flattenToShortString()); Task finishedTask = r.getTask();