Add settings entrypoint to add a supervised user
Bug: 205101183 Bug: 199868785 Test: croot && make RunSettingsRoboTests -j40 ROBOTEST_FILTER="com.android.settings.users.UserSettingsTest" Change-Id: Ie69786c81ec938f4c4108d7fc9c0874776331865
This commit is contained in:
@@ -59,6 +59,7 @@ import androidx.preference.PreferenceScreen;
|
||||
|
||||
import com.android.settings.SettingsActivity;
|
||||
import com.android.settings.SubSettings;
|
||||
import com.android.settings.testutils.shadow.SettingsShadowResources;
|
||||
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
|
||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||
import com.android.settingslib.RestrictedLockUtils;
|
||||
@@ -85,7 +86,11 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
@RunWith(RobolectricTestRunner.class)
|
||||
@Config(shadows = {ShadowUserManager.class, ShadowDevicePolicyManager.class})
|
||||
@Config(shadows = {
|
||||
ShadowUserManager.class,
|
||||
ShadowDevicePolicyManager.class,
|
||||
SettingsShadowResources.class,
|
||||
})
|
||||
public class UserSettingsTest {
|
||||
|
||||
private static final String KEY_USER_GUEST = "user_guest";
|
||||
@@ -111,6 +116,8 @@ public class UserSettingsTest {
|
||||
@Mock
|
||||
private RestrictedPreference mAddUserPreference;
|
||||
@Mock
|
||||
private RestrictedPreference mAddSupervisedUserPreference;
|
||||
@Mock
|
||||
private RestrictedPreference mAddGuestPreference;
|
||||
@Mock
|
||||
private UserManager mUserManager;
|
||||
@@ -161,6 +168,7 @@ public class UserSettingsTest {
|
||||
|
||||
mFragment.mMePreference = mMePreference;
|
||||
mFragment.mAddUser = mAddUserPreference;
|
||||
mFragment.mAddSupervisedUser = mAddSupervisedUserPreference;
|
||||
mFragment.mAddGuest = mAddGuestPreference;
|
||||
mFragment.mUserListCategory = mock(PreferenceCategory.class);
|
||||
}
|
||||
@@ -169,6 +177,7 @@ public class UserSettingsTest {
|
||||
public void tearDown() {
|
||||
Settings.Global.putInt(mContext.getContentResolver(),
|
||||
Settings.Global.DEVICE_PROVISIONED, mProvisionedBackupValue);
|
||||
SettingsShadowResources.reset();
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -694,6 +703,36 @@ public class UserSettingsTest {
|
||||
verify(mUserManager).getUsers();
|
||||
}
|
||||
|
||||
private void setConfigSupervisedUserCreationPackage(String value) {
|
||||
SettingsShadowResources.overrideResource(
|
||||
com.android.internal.R.string.config_supervisedUserCreationPackage,
|
||||
value
|
||||
);
|
||||
mFragment.setConfigSupervisedUserCreationPackage();
|
||||
mUserCapabilities.mCanAddUser = true;
|
||||
mFragment.updateUserList();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addSupervisedUserOption_resourceIsDefined_shouldBeDisplayed() {
|
||||
try {
|
||||
setConfigSupervisedUserCreationPackage("test");
|
||||
verify(mAddSupervisedUserPreference).setVisible(true);
|
||||
} finally {
|
||||
SettingsShadowResources.reset();
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addSupervisedUserOption_resourceIsNotDefined_shouldBeHidden() {
|
||||
try {
|
||||
setConfigSupervisedUserCreationPackage("");
|
||||
verify(mAddSupervisedUserPreference).setVisible(false);
|
||||
} finally {
|
||||
SettingsShadowResources.reset();
|
||||
}
|
||||
}
|
||||
|
||||
private void givenUsers(UserInfo... userInfo) {
|
||||
List<UserInfo> users = Arrays.asList(userInfo);
|
||||
doReturn(users).when(mUserManager).getUsers();
|
||||
|
Reference in New Issue
Block a user