DO Disclosures: detailed application lists
Add UI that lists enterprise set default apps for handling important intents (opening browser, using camera, phone, etc). Bug: 32692748 Test: m RunSettingsRoboTests Change-Id: I75bb97d1b3728b1dcb90981b24d12edf510c4b04
This commit is contained in:
@@ -20,13 +20,13 @@ import android.app.admin.DevicePolicyManager;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.ActivityInfo;
|
||||
import android.content.pm.ApplicationInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.ResolveInfo;
|
||||
import android.content.pm.UserInfo;
|
||||
import android.os.Build;
|
||||
import android.os.UserHandle;
|
||||
import android.os.UserManager;
|
||||
import android.util.ArraySet;
|
||||
|
||||
import com.android.settings.SettingsRobolectricTestRunner;
|
||||
import com.android.settings.TestConfig;
|
||||
@@ -42,9 +42,9 @@ import org.mockito.MockitoAnnotations;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.shadows.ShadowApplication;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
import static org.mockito.Mockito.when;
|
||||
@@ -200,8 +200,14 @@ public final class ApplicationFeatureProviderImplTest {
|
||||
|
||||
@Test
|
||||
public void testFindPersistentPreferredActivities() throws Exception {
|
||||
final UserInfo mainUser = new UserInfo(MAIN_USER_ID, "main", UserInfo.FLAG_ADMIN);
|
||||
final UserInfo managedUser = new UserInfo(MANAGED_PROFILE_ID, "managed",
|
||||
UserInfo.FLAG_MANAGED_PROFILE);
|
||||
|
||||
when(mUserManager.getUserProfiles()).thenReturn(Arrays.asList(new UserHandle(MAIN_USER_ID),
|
||||
new UserHandle(MANAGED_PROFILE_ID)));
|
||||
when(mUserManager.getUserInfo(MAIN_USER_ID)).thenReturn(mainUser);
|
||||
when(mUserManager.getUserInfo(MANAGED_PROFILE_ID)).thenReturn(managedUser);
|
||||
|
||||
final Intent viewIntent = new Intent(Intent.ACTION_VIEW);
|
||||
final Intent editIntent = new Intent(Intent.ACTION_EDIT);
|
||||
@@ -222,17 +228,21 @@ public final class ApplicationFeatureProviderImplTest {
|
||||
when(mPackageManagerService.findPersistentPreferredActivity(sendIntent, MANAGED_PROFILE_ID))
|
||||
.thenReturn(null);
|
||||
|
||||
final Set<ApplicationFeatureProvider.PersistentPreferredActivityInfo> expectedActivities
|
||||
= new ArraySet<>();
|
||||
expectedActivities.add(new ApplicationFeatureProvider.PersistentPreferredActivityInfo(APP_1,
|
||||
MAIN_USER_ID));
|
||||
expectedActivities.add(new ApplicationFeatureProvider.PersistentPreferredActivityInfo(APP_1,
|
||||
MANAGED_PROFILE_ID));
|
||||
expectedActivities.add(new ApplicationFeatureProvider.PersistentPreferredActivityInfo(APP_2,
|
||||
MANAGED_PROFILE_ID));
|
||||
final List<UserAppInfo> expectedMainUserActivities = new ArrayList<>();
|
||||
expectedMainUserActivities.add(new UserAppInfo(mainUser,
|
||||
new ApplicationInfo(app1.activityInfo.applicationInfo)));
|
||||
final List<UserAppInfo> expectedManagedUserActivities = new ArrayList<>();
|
||||
expectedManagedUserActivities.add(new UserAppInfo(managedUser,
|
||||
new ApplicationInfo(app1.activityInfo.applicationInfo)));
|
||||
expectedManagedUserActivities.add(new UserAppInfo(managedUser,
|
||||
new ApplicationInfo(app2.activityInfo.applicationInfo)));
|
||||
|
||||
assertThat(mProvider.findPersistentPreferredActivities(
|
||||
new Intent[] {viewIntent, editIntent, sendIntent})).isEqualTo(expectedActivities);
|
||||
assertThat(mProvider.findPersistentPreferredActivities(MAIN_USER_ID,
|
||||
new Intent[] {viewIntent, editIntent, sendIntent}))
|
||||
.isEqualTo(expectedMainUserActivities);
|
||||
assertThat(mProvider.findPersistentPreferredActivities(MANAGED_PROFILE_ID,
|
||||
new Intent[] {viewIntent, editIntent, sendIntent}))
|
||||
.isEqualTo(expectedManagedUserActivities);
|
||||
}
|
||||
|
||||
private void setUpUsersAndInstalledApps() {
|
||||
@@ -254,8 +264,11 @@ public final class ApplicationFeatureProviderImplTest {
|
||||
}
|
||||
|
||||
private ResolveInfo createResolveInfo(String packageName) {
|
||||
final ApplicationInfo applicationInfo = new ApplicationInfo();
|
||||
applicationInfo.packageName = packageName;
|
||||
final ActivityInfo activityInfo = new ActivityInfo();
|
||||
activityInfo.packageName = packageName;
|
||||
activityInfo.applicationInfo = applicationInfo;
|
||||
final ResolveInfo resolveInfo = new ResolveInfo();
|
||||
resolveInfo.activityInfo = activityInfo;
|
||||
return resolveInfo;
|
||||
|
Reference in New Issue
Block a user