diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2016-07-20 22:13:58 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-07-20 22:13:58 +0000 |
commit | 2eeae10e984993af563b4d207deac855ca7d8620 (patch) | |
tree | 4323f317dba83826eb006c3755319137664cebe1 /src | |
parent | 11439c58546be37a309e99983ed40917408a2de2 (diff) | |
parent | 860538df1d72b3840811b7a39940a224f3326066 (diff) | |
download | android_packages_apps_Trebuchet-2eeae10e984993af563b4d207deac855ca7d8620.tar.gz android_packages_apps_Trebuchet-2eeae10e984993af563b4d207deac855ca7d8620.tar.bz2 android_packages_apps_Trebuchet-2eeae10e984993af563b4d207deac855ca7d8620.zip |
Merge "Fixing missing user check when updating shortcuts for an app" into ub-launcher3-calgary
Diffstat (limited to 'src')
4 files changed, 20 insertions, 24 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index a75edb715..ddd60c89c 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -2782,7 +2782,7 @@ public class LauncherModel extends BroadcastReceiver for (UserHandleCompat user : mUserManager.getUserProfiles()) { List<ShortcutInfoCompat> shortcuts = mDeepShortcutManager .queryForAllShortcuts(user); - updateDeepShortcutMap(null, shortcuts); + updateDeepShortcutMap(null, user, shortcuts); } synchronized (LoaderTask.this) { if (mStopped) { @@ -2804,13 +2804,17 @@ public class LauncherModel extends BroadcastReceiver } } - // Clear all the shortcuts for the given package, and re-add the new shortcuts. - private void updateDeepShortcutMap(String packageName, List<ShortcutInfoCompat> shortcuts) { - // Remove all keys associated with the given package. + /** + * Clear all the shortcuts for the given package, and re-add the new shortcuts. + */ + private void updateDeepShortcutMap( + String packageName, UserHandleCompat user, List<ShortcutInfoCompat> shortcuts) { if (packageName != null) { Iterator<ComponentKey> keysIter = mBgDeepShortcutMap.keySet().iterator(); while (keysIter.hasNext()) { - if (keysIter.next().componentName.getPackageName().equals(packageName)) { + ComponentKey next = keysIter.next(); + if (next.componentName.getPackageName().equals(packageName) + && next.user.equals(user)) { keysIter.remove(); } } @@ -3336,7 +3340,7 @@ 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, mShortcuts); + updateDeepShortcutMap(mPackageName, mUser, mShortcuts); bindDeepShortcuts(); } } diff --git a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java index b70c16511..7127ec44b 100644 --- a/src/com/android/launcher3/allapps/AlphabeticalAppsList.java +++ b/src/com/android/launcher3/allapps/AlphabeticalAppsList.java @@ -440,7 +440,7 @@ public class AlphabeticalAppsList { mPredictedApps.add(info); } else { if (ProviderConfig.IS_DOGFOOD_BUILD) { - Log.e(TAG, "Predicted app not found: " + ck.flattenToString(mLauncher)); + Log.e(TAG, "Predicted app not found: " + ck); } } // Stop at the number of predicted apps diff --git a/src/com/android/launcher3/shortcuts/ShortcutKey.java b/src/com/android/launcher3/shortcuts/ShortcutKey.java index c9d66eb7c..c15f91dd3 100644 --- a/src/com/android/launcher3/shortcuts/ShortcutKey.java +++ b/src/com/android/launcher3/shortcuts/ShortcutKey.java @@ -2,7 +2,6 @@ package com.android.launcher3.shortcuts; import android.content.ComponentName; -import com.android.launcher3.LauncherAppState; import com.android.launcher3.compat.UserHandleCompat; import com.android.launcher3.util.ComponentKey; @@ -22,9 +21,4 @@ public class ShortcutKey extends ComponentKey { return new ShortcutKey(shortcutInfo.getPackage(), shortcutInfo.getUserHandle(), shortcutInfo.getId()); } - - @Override - public String toString() { - return flattenToString(LauncherAppState.getInstance().getContext()); - } } diff --git a/src/com/android/launcher3/util/ComponentKey.java b/src/com/android/launcher3/util/ComponentKey.java index b7aafaea9..144b411fa 100644 --- a/src/com/android/launcher3/util/ComponentKey.java +++ b/src/com/android/launcher3/util/ComponentKey.java @@ -18,6 +18,7 @@ package com.android.launcher3.util; import android.content.ComponentName; import android.content.Context; + import com.android.launcher3.compat.UserHandleCompat; import com.android.launcher3.compat.UserManagerCompat; @@ -60,17 +61,6 @@ public class ComponentKey { mHashCode = Arrays.hashCode(new Object[] {componentName, user}); } - /** - * Encodes a component key as a string of the form [flattenedComponentString#userId]. - */ - public String flattenToString(Context context) { - String flattened = componentName.flattenToString(); - if (user != null) { - flattened += "#" + UserManagerCompat.getInstance(context).getSerialNumberForUser(user); - } - return flattened; - } - @Override public int hashCode() { return mHashCode; @@ -81,4 +71,12 @@ public class ComponentKey { ComponentKey other = (ComponentKey) o; return other.componentName.equals(componentName) && other.user.equals(user); } + + /** + * Encodes a component key as a string of the form [flattenedComponentString#userId]. + */ + @Override + public String toString() { + return componentName.flattenToString() + "#" + user; + } }
\ No newline at end of file |