diff options
author | 2024-05-14 14:18:15 +0000 | |
---|---|---|
committer | 2024-05-14 14:18:15 +0000 | |
commit | 98bb2ee4d5f1caf40810f33f6ff6dedfd8c2b15b (patch) | |
tree | e547f2bd5c9b1eabf6aaca277f62df6e73c90cc9 | |
parent | b72a4128dc028ad527526c533f87ab5604cb3673 (diff) | |
parent | 91ed58744f3d2e5fbbc265a59df3491a44955acb (diff) |
Merge "AppDataHelper:fix ArrayIndexOutOfBoundsException happen in fixAppsDataOnBoot method due to forget add lock." into main am: 91ed58744f
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3075184
Change-Id: Ibe3458b9ba07c293d35605b6b0f7ca7832efab76
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 79d17534ab26..348452e8f097 100644 --- a/services/core/java/com/android/server/pm/AppDataHelper.java +++ b/services/core/java/com/android/server/pm/AppDataHelper.java @@ -534,9 +534,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); |