@@ -1295,18 +1295,30 @@ private void enableUserSelectorIfNecessary() {
12951295 if (!UserManager .supportsMultipleUsers ()) {
12961296 return ; // device doesn't support multi-user mode
12971297 }
1298+ UserManager um = (UserManager ) mContext .getSystemService (Context .USER_SERVICE );
1299+ if (um == null ) {
1300+ Throwable t = new Throwable ();
1301+ t .fillInStackTrace ();
1302+ Log .e (TAG , "user service is null." , t );
1303+ return ;
1304+ }
12981305
12991306 // if there are multiple users, we need to enable to multi-user switcher
1300- UserManager mUm = (UserManager ) mContext .getSystemService (Context .USER_SERVICE );
1301- List <UserInfo > users = mUm .getUsers (true );
1307+ List <UserInfo > users = um .getUsers (true );
1308+ if (users == null ) {
1309+ Throwable t = new Throwable ();
1310+ t .fillInStackTrace ();
1311+ Log .e (TAG , "list of users is null." , t );
1312+ return ;
1313+ }
13021314
1303- if (users != null && users .size () > 1 ) {
1315+ if (users .size () > 1 ) {
13041316 View multiUserView = findViewById (R .id .keyguard_user_selector );
13051317 if (multiUserView instanceof KeyguardMultiUserSelectorView ) {
13061318 KeyguardMultiUserSelectorView multiUser =
13071319 (KeyguardMultiUserSelectorView ) multiUserView ;
13081320 multiUser .setVisibility (View .VISIBLE );
1309- multiUser .addUsers (mUm . getUsers ( true ) );
1321+ multiUser .addUsers (users );
13101322 UserSwitcherCallback callback = new UserSwitcherCallback () {
13111323 @ Override
13121324 public void hideSecurityView (int duration ) {
@@ -1333,6 +1345,14 @@ public void userActivity() {
13331345 }
13341346 };
13351347 multiUser .setCallback (callback );
1348+ } else {
1349+ Throwable t = new Throwable ();
1350+ t .fillInStackTrace ();
1351+ if (multiUserView == null ) {
1352+ Log .e (TAG , "could not find the user_selector." , t );
1353+ } else {
1354+ Log .e (TAG , "user_selector is the wrong type." , t );
1355+ }
13361356 }
13371357 }
13381358 }
0 commit comments