summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/compat/UserManagerCompatVL.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2016-12-16 15:04:51 -0800
committerSunny Goyal <sunnygoyal@google.com>2016-12-16 15:05:09 -0800
commita52ecb0390c85afb385371bb844bb496c59ddf87 (patch)
treea3a0a6fff80e059a0a10181fb74164aa3e642758 /src/com/android/launcher3/compat/UserManagerCompatVL.java
parent90a40570bc54506979d3610ee331deacfa7300ec (diff)
downloadandroid_packages_apps_Trebuchet-a52ecb0390c85afb385371bb844bb496c59ddf87.tar.gz
android_packages_apps_Trebuchet-a52ecb0390c85afb385371bb844bb496c59ddf87.tar.bz2
android_packages_apps_Trebuchet-a52ecb0390c85afb385371bb844bb496c59ddf87.zip
Removing all compatibility code below Lollipop
Bug: 32745285 Change-Id: I62971908e3e4402941fab627bbdfd47be64473a3
Diffstat (limited to 'src/com/android/launcher3/compat/UserManagerCompatVL.java')
-rw-r--r--src/com/android/launcher3/compat/UserManagerCompatVL.java50
1 files changed, 45 insertions, 5 deletions
diff --git a/src/com/android/launcher3/compat/UserManagerCompatVL.java b/src/com/android/launcher3/compat/UserManagerCompatVL.java
index 277460281..45525f521 100644
--- a/src/com/android/launcher3/compat/UserManagerCompatVL.java
+++ b/src/com/android/launcher3/compat/UserManagerCompatVL.java
@@ -16,12 +16,11 @@
package com.android.launcher3.compat;
-import android.annotation.TargetApi;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
-import android.os.Build;
import android.os.UserHandle;
+import android.os.UserManager;
import com.android.launcher3.Utilities;
import com.android.launcher3.util.LongArrayMap;
@@ -31,20 +30,61 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
-@TargetApi(Build.VERSION_CODES.LOLLIPOP)
-public class UserManagerCompatVL extends UserManagerCompatV17 {
+public class UserManagerCompatVL extends UserManagerCompat {
private static final String USER_CREATION_TIME_KEY = "user_creation_time_";
+ protected final UserManager mUserManager;
private final PackageManager mPm;
private final Context mContext;
+ protected LongArrayMap<UserHandle> mUsers;
+ // Create a separate reverse map as LongArrayMap.indexOfValue checks if objects are same
+ // and not {@link Object#equals}
+ protected HashMap<UserHandle, Long> mUserToSerialMap;
+
UserManagerCompatVL(Context context) {
- super(context);
+ mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
mPm = context.getPackageManager();
mContext = context;
}
@Override
+ public long getSerialNumberForUser(UserHandle user) {
+ synchronized (this) {
+ if (mUserToSerialMap != null) {
+ Long serial = mUserToSerialMap.get(user);
+ return serial == null ? 0 : serial;
+ }
+ }
+ return mUserManager.getSerialNumberForUser(user);
+ }
+
+ @Override
+ public UserHandle getUserForSerialNumber(long serialNumber) {
+ synchronized (this) {
+ if (mUsers != null) {
+ return mUsers.get(serialNumber);
+ }
+ }
+ return mUserManager.getUserForSerialNumber(serialNumber);
+ }
+
+ @Override
+ public boolean isQuietModeEnabled(UserHandle user) {
+ return false;
+ }
+
+ @Override
+ public boolean isUserUnlocked(UserHandle user) {
+ return true;
+ }
+
+ @Override
+ public boolean isDemoUser() {
+ return false;
+ }
+
+ @Override
public void enableAndResetCache() {
synchronized (this) {
mUsers = new LongArrayMap<>();