diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java index f0ec107865075..a803e60e18206 100644 --- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java +++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java @@ -649,7 +649,11 @@ public class ApplicationsState { } if (comparator != null) { - Collections.sort(filteredApps, comparator); + synchronized (mEntriesMap) { + // Locking to ensure that the background handler does not mutate + // the size of AppEntries used for ordering while sorting. + Collections.sort(filteredApps, comparator); + } } synchronized (mRebuildSync) {