summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author lumark <lumark@google.com> 2019-03-27 16:40:46 +0800
committer Ming-Shin Lu <lumark@google.com> 2019-03-27 09:30:12 +0000
commit553fec2267bba56b16d8a3e30fe5771e6d2f15c4 (patch)
treef5da2e07809d2b0b5585a2759c48fa0306993d73
parent356c5dfd420331434e893f852ee3ac3f307a3c40 (diff)
Fix system crash during RWC#resumeHomeActivity called.
Add global lock when calling RWC#resumeHomeActivity to fix the CL[1] that calling method by post runnable, system may crash due to race condition during force-stop launcher package. [1]: I243fab507268f81df0a8067883157d63f0f79c22 Fix: 129352498 Test: atest TaplTestsLauncher3 without system crash. Change-Id: I2d63ee43f8ca832d3f1c5e49b518af712ac6e0d3
-rw-r--r--services/core/java/com/android/server/wm/ActivityStack.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index 4c9b80be5d7c..46c017ec7f4f 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -3059,7 +3059,11 @@ class ActivityStack extends ConfigurationContainer {
// activity in home stack.
// See {@link #mInResumeTopActivity}.
mService.mH.post(
- () -> mRootActivityContainer.resumeHomeActivity(prev, reason, mDisplayId));
+ () -> {
+ synchronized (mService.mGlobalLock) {
+ mRootActivityContainer.resumeHomeActivity(prev, reason, mDisplayId);
+ }
+ });
return true;
} else {
return mRootActivityContainer.resumeHomeActivity(prev, reason, mDisplayId);