Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 038e86d8 authored by Jeff Nainaparampil's avatar Jeff Nainaparampil Committed by Android (Google) Code Review
Browse files

Merge "[People Service] Re-order clean-up to only occur once per shortcuts update" into tm-qpr-dev

parents 12dbc309 68b75d0c
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -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);
                }
            });
        }