summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/compat/UserManagerCompatVL.java
diff options
context:
space:
mode:
authorKenny Guy <kennyguy@google.com>2014-06-24 10:29:28 +0100
committerKenny Guy <kennyguy@google.com>2014-06-24 11:43:19 +0100
commit7bc272a11b701a32d2ed91277341c382cbd84aeb (patch)
treedd38c26e211acf7988f4cdccdca9f46958b56044 /src/com/android/launcher3/compat/UserManagerCompatVL.java
parent01453e855fa87ee19f61223b2b1a6965071ee95a (diff)
downloadandroid_packages_apps_Trebuchet-7bc272a11b701a32d2ed91277341c382cbd84aeb.tar.gz
android_packages_apps_Trebuchet-7bc272a11b701a32d2ed91277341c382cbd84aeb.tar.bz2
android_packages_apps_Trebuchet-7bc272a11b701a32d2ed91277341c382cbd84aeb.zip
Revert Cls stopping now-master running on googlefood
This reverts commits 01453e855fa87ee19f61223b2b1a6965071ee95a. and 242bbe1b72e4978dde8a662d164cd186305e14a7. "Add content description to bagded icons." "Remove reflection now we are building against L" Bug: 15833449 Change-Id: I81a5316f5619a9cd3b6ab9fd03b2ba96657b7f68
Diffstat (limited to 'src/com/android/launcher3/compat/UserManagerCompatVL.java')
-rw-r--r--src/com/android/launcher3/compat/UserManagerCompatVL.java43
1 files changed, 26 insertions, 17 deletions
diff --git a/src/com/android/launcher3/compat/UserManagerCompatVL.java b/src/com/android/launcher3/compat/UserManagerCompatVL.java
index e071a8f71..8d3ca8577 100644
--- a/src/com/android/launcher3/compat/UserManagerCompatVL.java
+++ b/src/com/android/launcher3/compat/UserManagerCompatVL.java
@@ -22,8 +22,9 @@ import android.graphics.drawable.Drawable;
import android.os.UserHandle;
import android.os.UserManager;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
public class UserManagerCompatVL extends UserManagerCompatV17 {
@@ -33,27 +34,35 @@ public class UserManagerCompatVL extends UserManagerCompatV17 {
}
public List<UserHandleCompat> getUserProfiles() {
- List<UserHandle> users = mUserManager.getUserProfiles();
- if (users == null) {
- return Collections.EMPTY_LIST;
+ Method method = ReflectUtils.getMethod(mUserManager.getClass(), "getUserProfiles");
+ if (method != null) {
+ List<UserHandle> users = (List<UserHandle>) ReflectUtils.invokeMethod(
+ mUserManager, method);
+ if (users != null) {
+ ArrayList<UserHandleCompat> compatUsers = new ArrayList<UserHandleCompat>(
+ users.size());
+ for (UserHandle user : users) {
+ compatUsers.add(UserHandleCompat.fromUser(user));
+ }
+ return compatUsers;
+ }
}
- ArrayList<UserHandleCompat> compatUsers = new ArrayList<UserHandleCompat>(
- users.size());
- for (UserHandle user : users) {
- compatUsers.add(UserHandleCompat.fromUser(user));
- }
- return compatUsers;
+ // Fall back to non L version.
+ return super.getUserProfiles();
}
public Drawable getBadgedDrawableForUser(Drawable unbadged, UserHandleCompat user) {
- return mUserManager.getBadgedDrawableForUser(unbadged, user.getUser());
- }
-
- public String getBadgedLabelForUser(String label, UserHandleCompat user) {
- if (user == null) {
- return label;
+ Method method = ReflectUtils.getMethod(mUserManager.getClass(), "getBadgedDrawableForUser",
+ Drawable.class, UserHandle.class);
+ if (method != null) {
+ Drawable d = (Drawable) ReflectUtils.invokeMethod(mUserManager, method, unbadged,
+ user.getUser());
+ if (d != null) {
+ return d;
+ }
}
- return mUserManager.getBadgedLabelForUser(label, user.getUser());
+ // Fall back to non L version.
+ return super.getBadgedDrawableForUser(unbadged, user);
}
}