DO Disclosure: add UI that lists apps that were managed by owner:
- had permissions granted by admin - were installed by owner via policy Bug: 32692748 Test: m RunSettingsRoboTests Change-Id: I365e2f8f351671e68f83cceb7c0ca241d7a5a588
This commit is contained in:
@@ -33,6 +33,7 @@ import com.android.settings.TestConfig;
|
||||
import com.android.settings.enterprise.DevicePolicyManagerWrapper;
|
||||
import com.android.settings.testutils.ApplicationTestUtils;
|
||||
import com.android.settings.testutils.shadow.ShadowUserManager;
|
||||
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
@@ -42,6 +43,7 @@ import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowApplication;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
@@ -76,6 +78,7 @@ public final class ApplicationFeatureProviderImplTest {
|
||||
private ApplicationFeatureProvider mProvider;
|
||||
|
||||
private int mAppCount = -1;
|
||||
private List<UserAppInfo> mAppList = null;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
@@ -105,6 +108,22 @@ public final class ApplicationFeatureProviderImplTest {
|
||||
assertThat(mAppCount).isEqualTo(1);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListPolicyInstalledApps() {
|
||||
setUpUsersAndInstalledApps();
|
||||
|
||||
when(mPackageManager.getInstallReason(APP_1, new UserHandle(MAIN_USER_ID)))
|
||||
.thenReturn(PackageManager.INSTALL_REASON_UNKNOWN);
|
||||
when(mPackageManager.getInstallReason(APP_2, new UserHandle(MANAGED_PROFILE_ID)))
|
||||
.thenReturn(PackageManager.INSTALL_REASON_POLICY);
|
||||
|
||||
mAppList = null;
|
||||
mProvider.listPolicyInstalledApps((list) -> mAppList = list);
|
||||
assertThat(mAppList).isNotNull();
|
||||
assertThat(mAppList.size()).isEqualTo(1);
|
||||
assertThat(mAppList.get(0).appInfo.packageName).isEqualTo(APP_2);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCalculateNumberOfInstalledAppsSync() {
|
||||
verifyCalculateNumberOfPolicyInstalledApps(false /* async */);
|
||||
@@ -139,7 +158,6 @@ public final class ApplicationFeatureProviderImplTest {
|
||||
ShadowApplication.runBackgroundTasks();
|
||||
}
|
||||
assertThat(mAppCount).isEqualTo(2);
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -152,6 +170,34 @@ public final class ApplicationFeatureProviderImplTest {
|
||||
verifyCalculateNumberOfAppsWithAdminGrantedPermissions(true /* async */);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListAppsWithAdminGrantedPermissions()
|
||||
throws Exception {
|
||||
setUpUsersAndInstalledApps();
|
||||
|
||||
when(mDevicePolicyManager.getPermissionGrantState(null, APP_1, PERMISSION))
|
||||
.thenReturn(DevicePolicyManager.PERMISSION_GRANT_STATE_GRANTED);
|
||||
when(mDevicePolicyManager.getPermissionGrantState(null, APP_2, PERMISSION))
|
||||
.thenReturn(DevicePolicyManager.PERMISSION_GRANT_STATE_DENIED);
|
||||
when(mPackageManagerService.checkUidPermission(PERMISSION, APP_1_UID))
|
||||
.thenReturn(PackageManager.PERMISSION_DENIED);
|
||||
when(mPackageManagerService.checkUidPermission(PERMISSION, APP_2_UID))
|
||||
.thenReturn(PackageManager.PERMISSION_GRANTED);
|
||||
when(mPackageManager.getInstallReason(APP_1, new UserHandle(MAIN_USER_ID)))
|
||||
.thenReturn(PackageManager.INSTALL_REASON_UNKNOWN);
|
||||
when(mPackageManager.getInstallReason(APP_2, new UserHandle(MANAGED_PROFILE_ID)))
|
||||
.thenReturn(PackageManager.INSTALL_REASON_POLICY);
|
||||
|
||||
mAppList = null;
|
||||
mProvider.listAppsWithAdminGrantedPermissions(new String[] {PERMISSION},
|
||||
(list) -> mAppList = list);
|
||||
assertThat(mAppList).isNotNull();
|
||||
assertThat(mAppList.size()).isEqualTo(2);
|
||||
assertThat(Arrays.asList(mAppList.get(0).appInfo.packageName,
|
||||
mAppList.get(1).appInfo.packageName).containsAll(Arrays.asList(APP_1, APP_2)))
|
||||
.isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFindPersistentPreferredActivities() throws Exception {
|
||||
when(mUserManager.getUserProfiles()).thenReturn(Arrays.asList(new UserHandle(MAIN_USER_ID),
|
||||
|
Reference in New Issue
Block a user