summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java28
1 files changed, 24 insertions, 4 deletions
diff --git a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
index 75b754f..83ba6fe 100644
--- a/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
+++ b/policy/src/com/android/internal/policy/impl/keyguard/KeyguardHostView.java
@@ -1300,18 +1300,30 @@ public class KeyguardHostView extends KeyguardViewBase {
if (!UserManager.supportsMultipleUsers()) {
return; // device doesn't support multi-user mode
}
+ UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
+ if (um == null) {
+ Throwable t = new Throwable();
+ t.fillInStackTrace();
+ Log.e(TAG, "user service is null.", t);
+ return;
+ }
// if there are multiple users, we need to enable to multi-user switcher
- UserManager mUm = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
- List<UserInfo> users = mUm.getUsers(true);
+ List<UserInfo> users = um.getUsers(true);
+ if (users == null) {
+ Throwable t = new Throwable();
+ t.fillInStackTrace();
+ Log.e(TAG, "list of users is null.", t);
+ return;
+ }
- if (users != null && users.size() > 1) {
+ if (users.size() > 1) {
View multiUserView = findViewById(R.id.keyguard_user_selector);
if (multiUserView instanceof KeyguardMultiUserSelectorView) {
KeyguardMultiUserSelectorView multiUser =
(KeyguardMultiUserSelectorView) multiUserView;
multiUser.setVisibility(View.VISIBLE);
- multiUser.addUsers(mUm.getUsers(true));
+ multiUser.addUsers(users);
UserSwitcherCallback callback = new UserSwitcherCallback() {
@Override
public void hideSecurityView(int duration) {
@@ -1338,6 +1350,14 @@ public class KeyguardHostView extends KeyguardViewBase {
}
};
multiUser.setCallback(callback);
+ } else {
+ Throwable t = new Throwable();
+ t.fillInStackTrace();
+ if (multiUserView == null) {
+ Log.e(TAG, "could not find the user_selector.", t);
+ } else {
+ Log.e(TAG, "user_selector is the wrong type.", t);
+ }
}
}
}