Loading src/com/android/settings/users/MultiUserSwitchBarController.java +1 −2 Original line number Diff line number Diff line Loading @@ -63,8 +63,7 @@ public class MultiUserSwitchBarController implements SwitchWidgetController.OnSw .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_ADD_USER, UserHandle.myUserId())); } else { mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser && !mUserCapabilities.mIsGuest && mUserCapabilities.isAdmin()); mSwitchBar.setEnabled(mUserCapabilities.mIsMain); } mSwitchBar.setListener(this); } Loading src/com/android/settings/users/UserCapabilities.java +2 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ public class UserCapabilities { boolean mEnabled = true; boolean mCanAddUser = true; boolean mCanAddRestrictedProfile; boolean mIsMain; boolean mIsAdmin; boolean mIsGuest; boolean mIsEphemeral; Loading @@ -57,6 +58,7 @@ public class UserCapabilities { final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId()); caps.mIsGuest = myUserInfo.isGuest(); caps.mIsAdmin = myUserInfo.isAdmin(); caps.mIsMain = myUserInfo.isMain(); caps.mIsEphemeral = myUserInfo.isEphemeral(); DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService( Context.DEVICE_POLICY_SERVICE); Loading src/com/android/settings/users/UserSettings.java +1 −1 Original line number Diff line number Diff line Loading @@ -287,7 +287,7 @@ public class UserSettings extends SettingsPreferenceFragment final SettingsActivity activity = (SettingsActivity) getActivity(); final SettingsMainSwitchBar switchBar = activity.getSwitchBar(); switchBar.setTitle(getContext().getString(R.string.multiple_users_main_switch_title)); if (isCurrentUserAdmin()) { if (!mUserCaps.mIsGuest) { switchBar.show(); } else { switchBar.hide(); Loading tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import android.content.Context; import android.content.pm.UserInfo; import android.os.UserHandle; import android.os.UserManager; Loading Loading @@ -79,4 +80,26 @@ public class MultiUserSwitchBarControllerTest { verify(mSwitchWidgetController, never()).setDisabledByAdmin(any()); } @Test public void onStart_userIsNotMain_shouldNotBeEnabled() { mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()), UserManager.DISALLOW_USER_SWITCH, false); mUserManager.addUser(10, "Test", UserInfo.FLAG_ADMIN); mUserManager.switchUser(10); new MultiUserSwitchBarController(mContext, mSwitchWidgetController, null); verify(mSwitchWidgetController, never()).setDisabledByAdmin(any()); verify(mSwitchWidgetController).setEnabled(false); } @Test public void onStart_userIsMain_shouldBeEnabled() { mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()), UserManager.DISALLOW_USER_SWITCH, false); new MultiUserSwitchBarController(mContext, mSwitchWidgetController, null); verify(mSwitchWidgetController, never()).setDisabledByAdmin(any()); verify(mSwitchWidgetController).setEnabled(true); } } Loading
src/com/android/settings/users/MultiUserSwitchBarController.java +1 −2 Original line number Diff line number Diff line Loading @@ -63,8 +63,7 @@ public class MultiUserSwitchBarController implements SwitchWidgetController.OnSw .checkIfRestrictionEnforced(mContext, UserManager.DISALLOW_ADD_USER, UserHandle.myUserId())); } else { mSwitchBar.setEnabled(!mUserCapabilities.mDisallowSwitchUser && !mUserCapabilities.mIsGuest && mUserCapabilities.isAdmin()); mSwitchBar.setEnabled(mUserCapabilities.mIsMain); } mSwitchBar.setListener(this); } Loading
src/com/android/settings/users/UserCapabilities.java +2 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,7 @@ public class UserCapabilities { boolean mEnabled = true; boolean mCanAddUser = true; boolean mCanAddRestrictedProfile; boolean mIsMain; boolean mIsAdmin; boolean mIsGuest; boolean mIsEphemeral; Loading @@ -57,6 +58,7 @@ public class UserCapabilities { final UserInfo myUserInfo = userManager.getUserInfo(UserHandle.myUserId()); caps.mIsGuest = myUserInfo.isGuest(); caps.mIsAdmin = myUserInfo.isAdmin(); caps.mIsMain = myUserInfo.isMain(); caps.mIsEphemeral = myUserInfo.isEphemeral(); DevicePolicyManager dpm = (DevicePolicyManager) context.getSystemService( Context.DEVICE_POLICY_SERVICE); Loading
src/com/android/settings/users/UserSettings.java +1 −1 Original line number Diff line number Diff line Loading @@ -287,7 +287,7 @@ public class UserSettings extends SettingsPreferenceFragment final SettingsActivity activity = (SettingsActivity) getActivity(); final SettingsMainSwitchBar switchBar = activity.getSwitchBar(); switchBar.setTitle(getContext().getString(R.string.multiple_users_main_switch_title)); if (isCurrentUserAdmin()) { if (!mUserCaps.mIsGuest) { switchBar.show(); } else { switchBar.hide(); Loading
tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java +23 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,7 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import android.content.Context; import android.content.pm.UserInfo; import android.os.UserHandle; import android.os.UserManager; Loading Loading @@ -79,4 +80,26 @@ public class MultiUserSwitchBarControllerTest { verify(mSwitchWidgetController, never()).setDisabledByAdmin(any()); } @Test public void onStart_userIsNotMain_shouldNotBeEnabled() { mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()), UserManager.DISALLOW_USER_SWITCH, false); mUserManager.addUser(10, "Test", UserInfo.FLAG_ADMIN); mUserManager.switchUser(10); new MultiUserSwitchBarController(mContext, mSwitchWidgetController, null); verify(mSwitchWidgetController, never()).setDisabledByAdmin(any()); verify(mSwitchWidgetController).setEnabled(false); } @Test public void onStart_userIsMain_shouldBeEnabled() { mUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()), UserManager.DISALLOW_USER_SWITCH, false); new MultiUserSwitchBarController(mContext, mSwitchWidgetController, null); verify(mSwitchWidgetController, never()).setDisabledByAdmin(any()); verify(mSwitchWidgetController).setEnabled(true); } }