From 35908f9e67b9cdae917385ef9e67e168cb0c93b3 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Wed, 31 Aug 2016 14:15:40 -0700 Subject: Splitting some methods into individual compat classes Change-Id: Id5a2650b290367d1574eb56346beca389900596b --- .../launcher3/compat/UserManagerCompat.java | 6 +++- .../launcher3/compat/UserManagerCompatVL.java | 4 --- .../launcher3/compat/UserManagerCompatVM.java | 34 ++++++++++++++++++++++ .../launcher3/compat/UserManagerCompatVN.java | 11 +------ .../launcher3/compat/UserManagerCompatVNMr1.java | 34 ++++++++++++++++++++++ 5 files changed, 74 insertions(+), 15 deletions(-) create mode 100644 src/com/android/launcher3/compat/UserManagerCompatVM.java create mode 100644 src/com/android/launcher3/compat/UserManagerCompatVNMr1.java (limited to 'src') diff --git a/src/com/android/launcher3/compat/UserManagerCompat.java b/src/com/android/launcher3/compat/UserManagerCompat.java index ecf596f78..a5f8dd296 100644 --- a/src/com/android/launcher3/compat/UserManagerCompat.java +++ b/src/com/android/launcher3/compat/UserManagerCompat.java @@ -32,8 +32,12 @@ public abstract class UserManagerCompat { public static UserManagerCompat getInstance(Context context) { synchronized (sInstanceLock) { if (sInstance == null) { - if (Utilities.isNycOrAbove()) { + if (Utilities.isNycMR1OrAbove()) { + sInstance = new UserManagerCompatVNMr1(context.getApplicationContext()); + } else if (Utilities.isNycOrAbove()) { sInstance = new UserManagerCompatVN(context.getApplicationContext()); + } else if (Utilities.ATLEAST_MARSHMALLOW) { + sInstance = new UserManagerCompatVM(context.getApplicationContext()); } else if (Utilities.ATLEAST_LOLLIPOP) { sInstance = new UserManagerCompatVL(context.getApplicationContext()); } else if (Utilities.ATLEAST_JB_MR1) { diff --git a/src/com/android/launcher3/compat/UserManagerCompatVL.java b/src/com/android/launcher3/compat/UserManagerCompatVL.java index c53d702b7..2552b0c2c 100644 --- a/src/com/android/launcher3/compat/UserManagerCompatVL.java +++ b/src/com/android/launcher3/compat/UserManagerCompatVL.java @@ -1,4 +1,3 @@ - /* * Copyright (C) 2014 The Android Open Source Project * @@ -94,9 +93,6 @@ public class UserManagerCompatVL extends UserManagerCompatV17 { @Override public long getUserCreationTime(UserHandleCompat user) { - if (Utilities.ATLEAST_MARSHMALLOW) { - return mUserManager.getUserCreationTime(user.getUser()); - } SharedPreferences prefs = Utilities.getPrefs(mContext); String key = USER_CREATION_TIME_KEY + getSerialNumberForUser(user); if (!prefs.contains(key)) { diff --git a/src/com/android/launcher3/compat/UserManagerCompatVM.java b/src/com/android/launcher3/compat/UserManagerCompatVM.java new file mode 100644 index 000000000..81d67ea43 --- /dev/null +++ b/src/com/android/launcher3/compat/UserManagerCompatVM.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.launcher3.compat; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; + +@TargetApi(Build.VERSION_CODES.M) +public class UserManagerCompatVM extends UserManagerCompatVL { + + UserManagerCompatVM(Context context) { + super(context); + } + + @Override + public long getUserCreationTime(UserHandleCompat user) { + return mUserManager.getUserCreationTime(user.getUser()); + } +} diff --git a/src/com/android/launcher3/compat/UserManagerCompatVN.java b/src/com/android/launcher3/compat/UserManagerCompatVN.java index be3232302..4edac0522 100644 --- a/src/com/android/launcher3/compat/UserManagerCompatVN.java +++ b/src/com/android/launcher3/compat/UserManagerCompatVN.java @@ -23,7 +23,7 @@ import android.os.Build; import com.android.launcher3.Utilities; @TargetApi(Build.VERSION_CODES.N) -public class UserManagerCompatVN extends UserManagerCompatVL { +public class UserManagerCompatVN extends UserManagerCompatVM { UserManagerCompatVN(Context context) { super(context); @@ -38,14 +38,5 @@ public class UserManagerCompatVN extends UserManagerCompatVL { public boolean isUserUnlocked(UserHandleCompat user) { return mUserManager.isUserUnlocked(user.getUser()); } - - @Override - public boolean isDemoUser() { - if (Utilities.isNycMR1OrAbove()) { - return mUserManager.isDemoUser(); - } else { - return super.isDemoUser(); - } - } } diff --git a/src/com/android/launcher3/compat/UserManagerCompatVNMr1.java b/src/com/android/launcher3/compat/UserManagerCompatVNMr1.java new file mode 100644 index 000000000..3f64bc863 --- /dev/null +++ b/src/com/android/launcher3/compat/UserManagerCompatVNMr1.java @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.launcher3.compat; + +import android.annotation.TargetApi; +import android.content.Context; +import android.os.Build; + +@TargetApi(Build.VERSION_CODES.N_MR1) +public class UserManagerCompatVNMr1 extends UserManagerCompatVN { + + UserManagerCompatVNMr1(Context context) { + super(context); + } + + @Override + public boolean isDemoUser() { + return mUserManager.isDemoUser(); + } +} -- cgit v1.2.3