Merge "[People Service] Re-order clean-up to only occur once per shortcuts update" into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
038e86d89a
@@ -129,7 +129,6 @@ public class DataManager {
|
|||||||
private final List<PeopleService.ConversationsListener> mConversationsListeners =
|
private final List<PeopleService.ConversationsListener> mConversationsListeners =
|
||||||
new ArrayList<>(1);
|
new ArrayList<>(1);
|
||||||
private final Handler mHandler;
|
private final Handler mHandler;
|
||||||
|
|
||||||
private ContentObserver mCallLogContentObserver;
|
private ContentObserver mCallLogContentObserver;
|
||||||
private ContentObserver mMmsSmsContentObserver;
|
private ContentObserver mMmsSmsContentObserver;
|
||||||
|
|
||||||
@@ -1106,6 +1105,7 @@ public class DataManager {
|
|||||||
@NonNull List<ShortcutInfo> shortcuts, @NonNull UserHandle user) {
|
@NonNull List<ShortcutInfo> shortcuts, @NonNull UserHandle user) {
|
||||||
mInjector.getBackgroundExecutor().execute(() -> {
|
mInjector.getBackgroundExecutor().execute(() -> {
|
||||||
PackageData packageData = getPackage(packageName, user.getIdentifier());
|
PackageData packageData = getPackage(packageName, user.getIdentifier());
|
||||||
|
boolean hasCachedShortcut = false;
|
||||||
for (ShortcutInfo shortcut : shortcuts) {
|
for (ShortcutInfo shortcut : shortcuts) {
|
||||||
if (ShortcutHelper.isConversationShortcut(
|
if (ShortcutHelper.isConversationShortcut(
|
||||||
shortcut, mShortcutServiceInternal, user.getIdentifier())) {
|
shortcut, mShortcutServiceInternal, user.getIdentifier())) {
|
||||||
@@ -1114,15 +1114,18 @@ public class DataManager {
|
|||||||
? packageData.getConversationInfo(shortcut.getId()) : null;
|
? packageData.getConversationInfo(shortcut.getId()) : null;
|
||||||
if (conversationInfo == null
|
if (conversationInfo == null
|
||||||
|| !conversationInfo.isShortcutCachedForNotification()) {
|
|| !conversationInfo.isShortcutCachedForNotification()) {
|
||||||
// This is a newly cached shortcut. Clean up the existing cached
|
hasCachedShortcut = true;
|
||||||
// shortcuts to ensure the cache size is under the limit.
|
|
||||||
cleanupCachedShortcuts(user.getIdentifier(),
|
|
||||||
MAX_CACHED_RECENT_SHORTCUTS - 1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
addOrUpdateConversationInfo(shortcut);
|
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);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user