diff options
author | Winson Chung <winsonc@google.com> | 2015-06-18 11:38:42 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2015-06-18 12:39:24 -0700 |
commit | 6b1c73f50a99a215c923aa0caca8e63c593a4eb2 (patch) | |
tree | 11f17da80e95d2f7dcbf3cab8187ae7bbaf3a1ec /src/com/android/launcher3/util | |
parent | 01d4053436a6a771b36b527a4f0ff49bbf468632 (diff) | |
download | android_packages_apps_Trebuchet-6b1c73f50a99a215c923aa0caca8e63c593a4eb2.tar.gz android_packages_apps_Trebuchet-6b1c73f50a99a215c923aa0caca8e63c593a4eb2.tar.bz2 android_packages_apps_Trebuchet-6b1c73f50a99a215c923aa0caca8e63c593a4eb2.zip |
Moving predicted apps callbacks to use ComponentKey.
Bug: 21270185
Change-Id: If2d9dd77235e7a96de96a1a5441a589ef8a72a7f
Diffstat (limited to 'src/com/android/launcher3/util')
-rw-r--r-- | src/com/android/launcher3/util/ComponentKey.java | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/src/com/android/launcher3/util/ComponentKey.java b/src/com/android/launcher3/util/ComponentKey.java index 0f17f009e..6a7df4318 100644 --- a/src/com/android/launcher3/util/ComponentKey.java +++ b/src/com/android/launcher3/util/ComponentKey.java @@ -17,8 +17,9 @@ 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; import java.util.Arrays; @@ -38,6 +39,35 @@ public class ComponentKey { } + /** + * Creates a new component key from an encoded component key string in the form of + * [flattenedComponentString#userId]. If the userId is not present, then it defaults + * to the current user. + */ + public ComponentKey(Context context, String componentKeyStr) { + int userDelimiterIndex = componentKeyStr.indexOf("#"); + if (userDelimiterIndex != -1) { + String componentStr = componentKeyStr.substring(0, userDelimiterIndex); + Long componentUser = Long.valueOf(componentKeyStr.substring(userDelimiterIndex + 1)); + componentName = ComponentName.unflattenFromString(componentStr); + user = UserManagerCompat.getInstance(context) + .getUserForSerialNumber(componentUser.longValue()); + } else { + // No user provided, default to the current user + componentName = ComponentName.unflattenFromString(componentKeyStr); + user = UserHandleCompat.myUserHandle(); + } + mHashCode = Arrays.hashCode(new Object[] {componentName, user}); + } + + /** + * Encodes a component key as a string of the form [flattenedComponentString#userId]. + */ + public String flattenToString(Context context) { + return componentName.flattenToString() + "#" + + UserManagerCompat.getInstance(context).getSerialNumberForUser(user); + } + @Override public int hashCode() { return mHashCode; |