use of com.android.settings.applications.AppStateInstallAppsBridge in project android_packages_apps_Settings by omnirom.
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.applications.AppStateInstallAppsBridge in project android_packages_apps_Settings by omnirom.
the class ExternalSourcesDetailsTest method refreshUi_hasApplicationInfo_shouldReturnTrue.
@Test
public void refreshUi_hasApplicationInfo_shouldReturnTrue() {
ReflectionHelpers.setField(mFragment, "mPackageInfo", mPackageInfo);
mPackageInfo.applicationInfo = new ApplicationInfo();
final AppStateInstallAppsBridge appBridge = mock(AppStateInstallAppsBridge.class);
ReflectionHelpers.setField(mFragment, "mAppBridge", appBridge);
when(appBridge.createInstallAppsStateFor(nullable(String.class), anyInt())).thenReturn(mock(InstallAppsState.class));
mFragment.refreshUi();
assertThat(mFragment.refreshUi()).isTrue();
assertThat(mSwitchPref.isDisabledByAdmin()).isFalse();
}
use of com.android.settings.applications.AppStateInstallAppsBridge in project android_packages_apps_Settings by omnirom.
the class ExternalSourcesDetailsTest method refreshUi_bothUnknownSourcesUserRestrictions_disableSwitchPreference.
@Test
public void refreshUi_bothUnknownSourcesUserRestrictions_disableSwitchPreference() {
// 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);
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_GLOBALLY);
// Code execution
assertThat(fragment.refreshUi()).isTrue();
// Assertions
assertThat(userManager.hasUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY, UserHandle.of(UserHandle.myUserId()))).isTrue();
assertThat(userManager.hasUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES, UserHandle.of(UserHandle.myUserId()))).isTrue();
assertThat(mSwitchPref.isDisabledByAdmin()).isTrue();
}
use of com.android.settings.applications.AppStateInstallAppsBridge in project android_packages_apps_Settings by omnirom.
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.applications.AppStateInstallAppsBridge in project Resurrection_packages_apps_Settings by ResurrectionRemix.
the class ExternalSourceDetailPreferenceController method isPotentialAppSource.
@VisibleForTesting
boolean isPotentialAppSource() {
final PackageInfo packageInfo = mParent.getPackageInfo();
if (packageInfo == null) {
return false;
}
AppStateInstallAppsBridge.InstallAppsState appState = new AppStateInstallAppsBridge(mContext, null, null).createInstallAppsStateFor(mPackageName, packageInfo.applicationInfo.uid);
return appState.isPotentialAppSource();
}
Aggregations