use of com.android.settings.testutils.shadow.ShadowUserManager in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class ExternalSourcesDetailsTest method refreshUi_userRestrictionsUnknownSourcesGlobally_disablesSwitchPreference.
@Test
public void refreshUi_userRestrictionsUnknownSourcesGlobally_disablesSwitchPreference() {
// Mocks set up
final ExternalSourcesDetails fragment = new ExternalSourcesDetails();
final ContextWrapper context = RuntimeEnvironment.application;
final UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
final ShadowUserManager shadowUserManager = Shadow.extract(userManager);
ReflectionHelpers.setField(fragment, "mSwitchPref", mSwitchPref);
ReflectionHelpers.setField(fragment, "mPackageInfo", mPackageInfo);
mPackageInfo.applicationInfo = new ApplicationInfo();
ReflectionHelpers.setField(fragment, "mUserManager", userManager);
ReflectionHelpers.setField(mSwitchPref, "mHelper", mHelper);
final AppStateInstallAppsBridge appBridge = mock(AppStateInstallAppsBridge.class);
ReflectionHelpers.setField(fragment, "mAppBridge", appBridge);
when(appBridge.createInstallAppsStateFor(nullable(String.class), anyInt())).thenReturn(mock(InstallAppsState.class));
// Test restriction set up
shadowUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()), UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY, true);
doAnswer((answer) -> {
when(mSwitchPref.isDisabledByAdmin()).thenReturn(true);
return null;
}).when(mSwitchPref).checkRestrictionAndSetDisabled(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY);
// Code execution
assertThat(fragment.refreshUi()).isTrue();
// Assertions
assertThat(userManager.hasUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY, UserHandle.of(UserHandle.myUserId()))).isTrue();
assertThat(mSwitchPref.isDisabledByAdmin()).isTrue();
}
use of com.android.settings.testutils.shadow.ShadowUserManager in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class ExternalSourcesDetailsTest method refreshUi_userRestrictionsUnknownSources_disablesSwitchPreference.
@Test
public void refreshUi_userRestrictionsUnknownSources_disablesSwitchPreference() {
// Mocks set up
final ExternalSourcesDetails fragment = new ExternalSourcesDetails();
final ContextWrapper context = RuntimeEnvironment.application;
final UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
final ShadowUserManager shadowUserManager = Shadow.extract(userManager);
ReflectionHelpers.setField(fragment, "mSwitchPref", mSwitchPref);
ReflectionHelpers.setField(fragment, "mPackageInfo", mPackageInfo);
mPackageInfo.applicationInfo = new ApplicationInfo();
ReflectionHelpers.setField(fragment, "mUserManager", userManager);
ReflectionHelpers.setField(mSwitchPref, "mHelper", mHelper);
final AppStateInstallAppsBridge appBridge = mock(AppStateInstallAppsBridge.class);
ReflectionHelpers.setField(fragment, "mAppBridge", appBridge);
when(appBridge.createInstallAppsStateFor(nullable(String.class), anyInt())).thenReturn(mock(InstallAppsState.class));
// Test restriction set up
shadowUserManager.setUserRestriction(UserHandle.of(UserHandle.myUserId()), UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES, true);
doAnswer((answer) -> {
when(mSwitchPref.isDisabledByAdmin()).thenReturn(true);
return null;
}).when(mSwitchPref).checkRestrictionAndSetDisabled(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES);
// Code execution
assertThat(fragment.refreshUi()).isTrue();
// Assertions
assertThat(userManager.hasUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES, UserHandle.of(UserHandle.myUserId()))).isTrue();
assertThat(mSwitchPref.isDisabledByAdmin()).isTrue();
}
use of com.android.settings.testutils.shadow.ShadowUserManager in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class ActionDisabledByAdminDialogHelperTest method testMaybeSetLearnMoreButton.
@Test
public void testMaybeSetLearnMoreButton() {
final UserManager userManager = RuntimeEnvironment.application.getSystemService(UserManager.class);
final ShadowUserManager userManagerShadow = Shadow.extract(userManager);
final ComponentName component = new ComponentName("some.package.name", "some.package.name.SomeClass");
mHelper.mEnforcedAdmin = new EnforcedAdmin(component, UserHandle.of(123));
// Set up for shadow call.
userManagerShadow.getSameProfileGroupIds().put(123, 0);
// Test that the button is shown when user IDs are in the same profile group
AlertDialog.Builder builder = mock(AlertDialog.Builder.class);
mHelper.maybeSetLearnMoreButton(builder);
verify(builder).setNeutralButton(anyInt(), any());
// Test that the button is not shown when user IDs are not in the same profile group
userManagerShadow.getSameProfileGroupIds().clear();
builder = mock(AlertDialog.Builder.class);
mHelper.maybeSetLearnMoreButton(builder);
verify(builder, never()).setNeutralButton(anyInt(), any());
}
use of com.android.settings.testutils.shadow.ShadowUserManager in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class ActionDisabledByAdminDialogHelperTest method testSetAdminSupportDetailsNotAdmin.
@Test
public void testSetAdminSupportDetailsNotAdmin() {
final ShadowDevicePolicyManager dpmShadow = ShadowDevicePolicyManager.getShadow();
final UserManager userManager = RuntimeEnvironment.application.getSystemService(UserManager.class);
final ShadowUserManager userManagerShadow = Shadow.extract(userManager);
final ComponentName component = new ComponentName("some.package.name", "some.package.name.SomeClass");
final EnforcedAdmin admin = new EnforcedAdmin(component, UserHandle.of(123));
dpmShadow.setShortSupportMessageForUser(component, 123, "some message");
dpmShadow.setIsAdminActiveAsUser(false);
userManagerShadow.addProfile(new UserInfo(123, null, 0));
mHelper.setAdminSupportDetails(mActivity, null, admin);
assertNull(admin.component);
}
use of com.android.settings.testutils.shadow.ShadowUserManager in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class ActionDisabledByAdminDialogHelperTest method testSetAdminSupportDetails.
@Test
public void testSetAdminSupportDetails() {
final ShadowDevicePolicyManager dpmShadow = ShadowDevicePolicyManager.getShadow();
final UserManager userManager = RuntimeEnvironment.application.getSystemService(UserManager.class);
final ShadowUserManager userManagerShadow = Shadow.extract(userManager);
final ViewGroup view = new FrameLayout(mActivity);
final ComponentName component = new ComponentName("some.package.name", "some.package.name.SomeClass");
final EnforcedAdmin admin = new EnforcedAdmin(component, UserHandle.of(123));
final TextView textView = new TextView(mActivity);
textView.setId(R.id.admin_support_msg);
view.addView(textView);
dpmShadow.setShortSupportMessageForUser(component, 123, "some message");
dpmShadow.setIsAdminActiveAsUser(true);
userManagerShadow.addProfile(new UserInfo(123, null, 0));
userManagerShadow.addUserProfile(new UserHandle(123));
ShadowProcess.setUid(Process.SYSTEM_UID);
mHelper.setAdminSupportDetails(mActivity, view, admin);
assertNotNull(admin.component);
assertEquals("some message", Shadows.shadowOf(textView).innerText());
}
Aggregations