@@ -1300,18 +1300,30 @@ private void enableUserSelectorIfNecessary() {
13001300 if (!UserManager .supportsMultipleUsers ()) {
13011301 return ; // device doesn't support multi-user mode
13021302 }
1303+ UserManager um = (UserManager ) mContext .getSystemService (Context .USER_SERVICE );
1304+ if (um == null ) {
1305+ Throwable t = new Throwable ();
1306+ t .fillInStackTrace ();
1307+ Log .e (TAG , "user service is null." , t );
1308+ return ;
1309+ }
13031310
13041311 // if there are multiple users, we need to enable to multi-user switcher
1305- UserManager mUm = (UserManager ) mContext .getSystemService (Context .USER_SERVICE );
1306- List <UserInfo > users = mUm .getUsers (true );
1312+ List <UserInfo > users = um .getUsers (true );
1313+ if (users == null ) {
1314+ Throwable t = new Throwable ();
1315+ t .fillInStackTrace ();
1316+ Log .e (TAG , "list of users is null." , t );
1317+ return ;
1318+ }
13071319
1308- if (users != null && users .size () > 1 ) {
1320+ if (users .size () > 1 ) {
13091321 View multiUserView = findViewById (R .id .keyguard_user_selector );
13101322 if (multiUserView instanceof KeyguardMultiUserSelectorView ) {
13111323 KeyguardMultiUserSelectorView multiUser =
13121324 (KeyguardMultiUserSelectorView ) multiUserView ;
13131325 multiUser .setVisibility (View .VISIBLE );
1314- multiUser .addUsers (mUm . getUsers ( true ) );
1326+ multiUser .addUsers (users );
13151327 UserSwitcherCallback callback = new UserSwitcherCallback () {
13161328 @ Override
13171329 public void hideSecurityView (int duration ) {
@@ -1338,6 +1350,14 @@ public void userActivity() {
13381350 }
13391351 };
13401352 multiUser .setCallback (callback );
1353+ } else {
1354+ Throwable t = new Throwable ();
1355+ t .fillInStackTrace ();
1356+ if (multiUserView == null ) {
1357+ Log .e (TAG , "could not find the user_selector." , t );
1358+ } else {
1359+ Log .e (TAG , "user_selector is the wrong type." , t );
1360+ }
13411361 }
13421362 }
13431363 }
0 commit comments