From 50941fb8a6ba4e1b6fca6cbf35e1a5efca7156f3 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 4 Aug 2016 12:03:52 -0700 Subject: [PATCH] Adding support for updating the pinned shortcuts without updating the ID map Bug: 30654182 Change-Id: I30082bd87466a29b7bafe1e8cbf1446e1d1e4f3e --- src/com/android/launcher3/LauncherModel.java | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 9fddd3d8d..a51fd07e4 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -1179,7 +1179,12 @@ public class LauncherModel extends BroadcastReceiver @Override public void onShortcutsChanged(String packageName, List shortcuts, UserHandleCompat user) { - enqueueItemUpdatedTask(new ShortcutsChangedTask(packageName, shortcuts, user)); + enqueueItemUpdatedTask(new ShortcutsChangedTask(packageName, shortcuts, user, true)); + } + + public void updatePinnedShortcuts(String packageName, List shortcuts, + UserHandleCompat user) { + enqueueItemUpdatedTask(new ShortcutsChangedTask(packageName, shortcuts, user, false)); } /** @@ -3317,15 +3322,17 @@ public class LauncherModel extends BroadcastReceiver } private class ShortcutsChangedTask implements Runnable { - private String mPackageName; - private List mShortcuts; - private UserHandleCompat mUser; + private final String mPackageName; + private final List mShortcuts; + private final UserHandleCompat mUser; + private final boolean mUpdateIdMap; public ShortcutsChangedTask(String packageName, List shortcuts, - UserHandleCompat user) { + UserHandleCompat user, boolean updateIdMap) { mPackageName = packageName; mShortcuts = shortcuts; mUser = user; + mUpdateIdMap = updateIdMap; } @Override @@ -3366,9 +3373,11 @@ public class LauncherModel extends BroadcastReceiver } bindUpdatedShortcuts(updatedShortcutInfos, mUser); - // Update the deep shortcut map, in case the list of ids has changed for an activity. - updateDeepShortcutMap(mPackageName, mUser, mShortcuts); - bindDeepShortcuts(); + if (mUpdateIdMap) { + // Update the deep shortcut map if the list of ids has changed for an activity. + updateDeepShortcutMap(mPackageName, mUser, mShortcuts); + bindDeepShortcuts(); + } } } -- 2.11.0