summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Louis Chang <louischang@google.com> 2021-03-17 14:21:10 +0800
committer Louis Chang <louischang@google.com> 2021-03-19 02:37:37 +0000
commited9f50dd589b2dfa0f01e2783c56ae9b7b48a1f5 (patch)
tree2a55840efd788d02533bcc12bf47daa83703c2b2
parente1e036661c5bf3b642e4ac0a4f20e2a38a14a7ae (diff)
Dump warning logs to prevent app crash while no top-resumed changes
Applications crashed due to duplicated top resumed activity change events. Currently, the only possible scenario we know if that the application invokes Looper#loop() and reverse the messages order. Write warning logs vs. throwing exceptions to prevent application crashes. Bug: 140571893 Test: build and boot pass Change-Id: If6f6c502b96ccc11b230ba075c61118f03e13d5c
-rw-r--r--core/java/android/app/ActivityThread.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index b47d44d60790..4cc486a0b9b4 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -4602,6 +4602,10 @@ public final class ActivityThread extends ClientTransactionHandler {
}
if (r.isTopResumedActivity == onTop) {
+ if (!Build.IS_DEBUGGABLE) {
+ Slog.w(TAG, "Activity top position already set to onTop=" + onTop);
+ return;
+ }
throw new IllegalStateException("Activity top position already set to onTop=" + onTop);
}