diff options
author | 2024-05-14 14:33:21 +0000 | |
---|---|---|
committer | 2024-05-14 14:33:21 +0000 | |
commit | 0d5cb38b3b2c347183b57d70ffee4a9af9848e7d (patch) | |
tree | 1aea50e83ea670058eeea082f2a3e4a1361f614e | |
parent | d95cbf18743e9757bace716d6be9f4fdbc2bae59 (diff) | |
parent | 98bb2ee4d5f1caf40810f33f6ff6dedfd8c2b15b (diff) |
Merge "AppDataHelper:fix ArrayIndexOutOfBoundsException happen in fixAppsDataOnBoot method due to forget add lock." into main am: 91ed58744f am: 98bb2ee4d5
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3075184
Change-Id: I76c619877ae376314ad744b8d0588962865cba00
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | services/core/java/com/android/server/pm/AppDataHelper.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/pm/AppDataHelper.java b/services/core/java/com/android/server/pm/AppDataHelper.java index 9ba88aa18ce6..fe774aa75efc 100644 --- a/services/core/java/com/android/server/pm/AppDataHelper.java +++ b/services/core/java/com/android/server/pm/AppDataHelper.java @@ -504,9 +504,12 @@ public class AppDataHelper { } else { storageFlags = StorageManager.FLAG_STORAGE_DE | StorageManager.FLAG_STORAGE_CE; } - List<String> deferPackages = reconcileAppsDataLI(StorageManager.UUID_PRIVATE_INTERNAL, - UserHandle.USER_SYSTEM, storageFlags, true /* migrateAppData */, - true /* onlyCoreApps */); + final List<String> deferPackages; + synchronized (mPm.mInstallLock) { + deferPackages = reconcileAppsDataLI(StorageManager.UUID_PRIVATE_INTERNAL, + UserHandle.USER_SYSTEM, storageFlags, true /* migrateAppData */, + true /* onlyCoreApps */); + } Future<?> prepareAppDataFuture = SystemServerInitThreadPool.submit(() -> { TimingsTraceLog traceLog = new TimingsTraceLog("SystemServerTimingAsync", Trace.TRACE_TAG_PACKAGE_MANAGER); |