From 4869bf3f74d4dd97b81b3aed2f2f47bf9226681b Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 17 May 2017 12:05:46 -0700 Subject: [PATCH] Removing workspaceLoaded check from loadDeepShortcuts() loadDeepShortcuts() is called after loadWorkspace() which already clears the shortcutMap. So if loader runs twice, during the second run, workspaceLoaded is true, but the shortcutMap had already been cleared in loadWorkspace(). Bug: 38384071 Change-Id: I40f0faf88376617e56819aef02620488e528dfb2 --- src/com/android/launcher3/LauncherModel.java | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index e68e637c5a..f881b380a2 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -1763,17 +1763,15 @@ public class LauncherModel extends BroadcastReceiver } private void loadDeepShortcuts() { - if (!mModelLoaded) { - sBgDataModel.deepShortcutMap.clear(); - DeepShortcutManager shortcutManager = DeepShortcutManager.getInstance(mContext); - mHasShortcutHostPermission = shortcutManager.hasHostPermission(); - if (mHasShortcutHostPermission) { - for (UserHandle user : mUserManager.getUserProfiles()) { - if (mUserManager.isUserUnlocked(user)) { - List shortcuts = - shortcutManager.queryForAllShortcuts(user); - sBgDataModel.updateDeepShortcutMap(null, user, shortcuts); - } + sBgDataModel.deepShortcutMap.clear(); + DeepShortcutManager shortcutManager = DeepShortcutManager.getInstance(mContext); + mHasShortcutHostPermission = shortcutManager.hasHostPermission(); + if (mHasShortcutHostPermission) { + for (UserHandle user : mUserManager.getUserProfiles()) { + if (mUserManager.isUserUnlocked(user)) { + List shortcuts = + shortcutManager.queryForAllShortcuts(user); + sBgDataModel.updateDeepShortcutMap(null, user, shortcuts); } } }