Merge "[People Service] Re-order clean-up to only occur once per shortcuts update" into tm-qpr-dev am: 038e86d89a am: 481c92f5eb

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/21649889

Change-Id: I80454fecd2fdf48cd2d8b3b8db5d95ba100fcb1a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jeff Nainaparampil
2023-03-08 04:47:26 +00:00
committed by Automerger Merge Worker

View File

@@ -129,7 +129,6 @@ public class DataManager {
private final List<PeopleService.ConversationsListener> mConversationsListeners =
new ArrayList<>(1);
private final Handler mHandler;
private ContentObserver mCallLogContentObserver;
private ContentObserver mMmsSmsContentObserver;
@@ -1106,6 +1105,7 @@ public class DataManager {
@NonNull List<ShortcutInfo> shortcuts, @NonNull UserHandle user) {
mInjector.getBackgroundExecutor().execute(() -> {
PackageData packageData = getPackage(packageName, user.getIdentifier());
boolean hasCachedShortcut = false;
for (ShortcutInfo shortcut : shortcuts) {
if (ShortcutHelper.isConversationShortcut(
shortcut, mShortcutServiceInternal, user.getIdentifier())) {
@@ -1114,15 +1114,18 @@ public class DataManager {
? packageData.getConversationInfo(shortcut.getId()) : null;
if (conversationInfo == null
|| !conversationInfo.isShortcutCachedForNotification()) {
// This is a newly cached shortcut. Clean up the existing cached
// shortcuts to ensure the cache size is under the limit.
cleanupCachedShortcuts(user.getIdentifier(),
MAX_CACHED_RECENT_SHORTCUTS - 1);
hasCachedShortcut = true;
}
}
addOrUpdateConversationInfo(shortcut);
}
}
// Added at least one new conversation. Uncache older existing cached
// shortcuts to ensure the cache size is under the limit.
if (hasCachedShortcut) {
cleanupCachedShortcuts(user.getIdentifier(),
MAX_CACHED_RECENT_SHORTCUTS);
}
});
}