summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/model
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2015-08-04 11:40:13 -0700
committerSunny Goyal <sunnygoyal@google.com>2015-08-04 12:37:05 -0700
commit823fd5090209017a029460e7dbd8ab9d51d013dd (patch)
tree9c8564ee6a098377aeb57b427bfeebbb6957355c /src/com/android/launcher3/model
parent317698bd012c1930b83bb4e2e47ac9e363fa6c6a (diff)
downloadandroid_packages_apps_Trebuchet-823fd5090209017a029460e7dbd8ab9d51d013dd.tar.gz
android_packages_apps_Trebuchet-823fd5090209017a029460e7dbd8ab9d51d013dd.tar.bz2
android_packages_apps_Trebuchet-823fd5090209017a029460e7dbd8ab9d51d013dd.zip
Creating a cache of users to avoid multiple calls to UserManager
Bug: 22805101 Change-Id: I9cd270efd74fdd34a7eb738fc25797e6f1bf2487
Diffstat (limited to 'src/com/android/launcher3/model')
-rw-r--r--src/com/android/launcher3/model/AbstractUserComparator.java22
-rw-r--r--src/com/android/launcher3/model/AppNameComparator.java2
2 files changed, 2 insertions, 22 deletions
diff --git a/src/com/android/launcher3/model/AbstractUserComparator.java b/src/com/android/launcher3/model/AbstractUserComparator.java
index cf47ce648..bd28560f3 100644
--- a/src/com/android/launcher3/model/AbstractUserComparator.java
+++ b/src/com/android/launcher3/model/AbstractUserComparator.java
@@ -22,14 +22,12 @@ import com.android.launcher3.compat.UserHandleCompat;
import com.android.launcher3.compat.UserManagerCompat;
import java.util.Comparator;
-import java.util.HashMap;
/**
* A comparator to arrange items based on user profiles.
*/
public abstract class AbstractUserComparator<T extends ItemInfo> implements Comparator<T> {
- private HashMap<UserHandleCompat, Long> mUserSerialCache = new HashMap<>();
private final UserManagerCompat mUserManager;
private final UserHandleCompat mMyUser;
@@ -43,25 +41,9 @@ public abstract class AbstractUserComparator<T extends ItemInfo> implements Comp
if (mMyUser.equals(lhs.user)) {
return -1;
} else {
- Long aUserSerial = getAndCacheUserSerial(lhs.user);
- Long bUserSerial = getAndCacheUserSerial(rhs.user);
+ Long aUserSerial = mUserManager.getSerialNumberForUser(lhs.user);
+ Long bUserSerial = mUserManager.getSerialNumberForUser(rhs.user);
return aUserSerial.compareTo(bUserSerial);
}
}
-
- /**
- * Returns the user serial for this user, using a cached serial if possible.
- */
- private Long getAndCacheUserSerial(UserHandleCompat user) {
- Long userSerial = mUserSerialCache.get(user);
- if (userSerial == null) {
- userSerial = mUserManager.getSerialNumberForUser(user);
- mUserSerialCache.put(user, userSerial);
- }
- return userSerial;
- }
-
- public void clearUserCache() {
- mUserSerialCache.clear();
- }
}
diff --git a/src/com/android/launcher3/model/AppNameComparator.java b/src/com/android/launcher3/model/AppNameComparator.java
index c4b74d4dc..5f80037dc 100644
--- a/src/com/android/launcher3/model/AppNameComparator.java
+++ b/src/com/android/launcher3/model/AppNameComparator.java
@@ -68,8 +68,6 @@ public class AppNameComparator {
* Returns a locale-aware comparator that will alphabetically order a list of applications.
*/
public Comparator<ItemInfo> getAppInfoComparator() {
- // Clear the user serial cache so that we get serials as needed in the comparator
- mAppInfoComparator.clearUserCache();
return mAppInfoComparator;
}