Use RoleControllerService for role related APIs.

Move isApplicationQualifiedForRole() and isRoleVisible() from
PermissionControllerService to RoleControllerService.

Bug: 127691087
Test: manual
Change-Id: I87edb1bc457fbbec3d9a87054eaad5024ed91310
This commit is contained in:
Hai Zhang
2019-03-06 16:05:54 -08:00
parent f514f1eecf
commit 729f1bb48b
7 changed files with 31 additions and 32 deletions

View File

@@ -14,12 +14,12 @@
package com.android.settings.applications.appinfo;
import android.app.role.RoleControllerManager;
import android.app.role.RoleManager;
import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;
import android.os.UserManager;
import android.permission.PermissionControllerManager;
import android.text.TextUtils;
import androidx.preference.Preference;
@@ -58,14 +58,14 @@ public abstract class DefaultAppShortcutPreferenceControllerBase extends BasePre
mRoleManager = context.getSystemService(RoleManager.class);
final PermissionControllerManager permissionControllerManager =
mContext.getSystemService(PermissionControllerManager.class);
final RoleControllerManager roleControllerManager =
mContext.getSystemService(RoleControllerManager.class);
final Executor executor = mContext.getMainExecutor();
permissionControllerManager.isRoleVisible(mRoleName, executor, visible -> {
roleControllerManager.isRoleVisible(mRoleName, executor, visible -> {
mRoleVisible = visible;
refreshAvailability();
});
permissionControllerManager.isApplicationQualifiedForRole(mRoleName, mPackageName, executor,
roleControllerManager.isApplicationQualifiedForRole(mRoleName, mPackageName, executor,
qualified -> {
mAppQualified = qualified;
refreshAvailability();

View File

@@ -25,11 +25,11 @@ import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf;
import android.app.Activity;
import android.app.role.RoleControllerManager;
import android.app.role.RoleManager;
import android.content.Context;
import android.content.Intent;
import android.os.UserManager;
import android.permission.PermissionControllerManager;
import androidx.preference.Preference;
@@ -63,7 +63,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
@Mock
private RoleManager mRoleManager;
@Mock
private PermissionControllerManager mPermissionControllerManager;
private RoleControllerManager mRoleControllerManager;
@Mock
private Preference mPreference;
@@ -77,8 +77,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
MockitoAnnotations.initMocks(this);
ShadowApplication shadowApplication = ShadowApplication.getInstance();
shadowApplication.setSystemService(Context.ROLE_SERVICE, mRoleManager);
shadowApplication.setSystemService(Context.PERMISSION_CONTROLLER_SERVICE,
mPermissionControllerManager);
shadowApplication.setSystemService(Context.ROLE_CONTROLLER_SERVICE, mRoleControllerManager);
mActivity = Robolectric.setupActivity(Activity.class);
mShadowUserManager = shadowOf(mActivity.getSystemService(UserManager.class));
mController = new TestRolePreferenceController(mActivity);
@@ -87,7 +86,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
@Test
public void constructor_callsIsApplicationQualifiedForRole() {
verify(mPermissionControllerManager).isApplicationQualifiedForRole(eq(TEST_ROLE_NAME), eq(
verify(mRoleControllerManager).isApplicationQualifiedForRole(eq(TEST_ROLE_NAME), eq(
TEST_PACKAGE_NAME), any(Executor.class), any(Consumer.class));
}
@@ -154,7 +153,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
private void setRoleIsVisible(boolean visible) {
final ArgumentCaptor<Consumer<Boolean>> callbackCaptor = ArgumentCaptor.forClass(
Consumer.class);
verify(mPermissionControllerManager).isRoleVisible(eq(TEST_ROLE_NAME), any(Executor.class),
verify(mRoleControllerManager).isRoleVisible(eq(TEST_ROLE_NAME), any(Executor.class),
callbackCaptor.capture());
final Consumer<Boolean> callback = callbackCaptor.getValue();
callback.accept(visible);
@@ -163,7 +162,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
private void setApplicationIsQualifiedForRole(boolean qualified) {
final ArgumentCaptor<Consumer<Boolean>> callbackCaptor = ArgumentCaptor.forClass(
Consumer.class);
verify(mPermissionControllerManager).isApplicationQualifiedForRole(eq(TEST_ROLE_NAME), eq(
verify(mRoleControllerManager).isApplicationQualifiedForRole(eq(TEST_ROLE_NAME), eq(
TEST_PACKAGE_NAME), any(Executor.class), callbackCaptor.capture());
final Consumer<Boolean> callback = callbackCaptor.getValue();
callback.accept(qualified);

View File

@@ -18,8 +18,8 @@ package com.android.settings.applications.appinfo;
import static com.google.common.truth.Truth.assertThat;
import android.app.role.RoleControllerManager;
import android.content.Context;
import android.permission.PermissionControllerManager;
import org.junit.Before;
import org.junit.Test;
@@ -34,15 +34,15 @@ import org.robolectric.shadows.ShadowApplication;
public class DefaultBrowserShortcutPreferenceControllerTest {
@Mock
private PermissionControllerManager mPermissionControllerManager;
private RoleControllerManager mRoleControllerManager;
private DefaultBrowserShortcutPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
ShadowApplication.getInstance().setSystemService(Context.PERMISSION_CONTROLLER_SERVICE,
mPermissionControllerManager);
ShadowApplication.getInstance().setSystemService(Context.ROLE_CONTROLLER_SERVICE,
mRoleControllerManager);
mController = new DefaultBrowserShortcutPreferenceController(RuntimeEnvironment.application,
"Package1");
}

View File

@@ -18,8 +18,8 @@ package com.android.settings.applications.appinfo;
import static com.google.common.truth.Truth.assertThat;
import android.app.role.RoleControllerManager;
import android.content.Context;
import android.permission.PermissionControllerManager;
import org.junit.Before;
import org.junit.Test;
@@ -34,15 +34,15 @@ import org.robolectric.shadows.ShadowApplication;
public class DefaultEmergencyShortcutPreferenceControllerTest {
@Mock
private PermissionControllerManager mPermissionControllerManager;
private RoleControllerManager mRoleControllerManager;
private DefaultEmergencyShortcutPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
ShadowApplication.getInstance().setSystemService(Context.PERMISSION_CONTROLLER_SERVICE,
mPermissionControllerManager);
ShadowApplication.getInstance().setSystemService(Context.ROLE_CONTROLLER_SERVICE,
mRoleControllerManager);
mController = new DefaultEmergencyShortcutPreferenceController(
RuntimeEnvironment.application, "Package1");
}

View File

@@ -18,8 +18,8 @@ package com.android.settings.applications.appinfo;
import static com.google.common.truth.Truth.assertThat;
import android.app.role.RoleControllerManager;
import android.content.Context;
import android.permission.PermissionControllerManager;
import org.junit.Before;
import org.junit.Test;
@@ -34,15 +34,15 @@ import org.robolectric.shadows.ShadowApplication;
public class DefaultHomeShortcutPreferenceControllerTest {
@Mock
private PermissionControllerManager mPermissionControllerManager;
private RoleControllerManager mRoleControllerManager;
private DefaultHomeShortcutPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
ShadowApplication.getInstance().setSystemService(Context.PERMISSION_CONTROLLER_SERVICE,
mPermissionControllerManager);
ShadowApplication.getInstance().setSystemService(Context.ROLE_CONTROLLER_SERVICE,
mRoleControllerManager);
mController = new DefaultHomeShortcutPreferenceController(RuntimeEnvironment.application,
"Package1");
}

View File

@@ -18,8 +18,8 @@ package com.android.settings.applications.appinfo;
import static com.google.common.truth.Truth.assertThat;
import android.app.role.RoleControllerManager;
import android.content.Context;
import android.permission.PermissionControllerManager;
import org.junit.Before;
import org.junit.Test;
@@ -37,15 +37,15 @@ public class DefaultPhoneShortcutPreferenceControllerTest {
private static final String PREFERENCE_KEY = "default_phone_app";
@Mock
private PermissionControllerManager mPermissionControllerManager;
private RoleControllerManager mRoleControllerManager;
private DefaultPhoneShortcutPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
ShadowApplication.getInstance().setSystemService(Context.PERMISSION_CONTROLLER_SERVICE,
mPermissionControllerManager);
ShadowApplication.getInstance().setSystemService(Context.ROLE_CONTROLLER_SERVICE,
mRoleControllerManager);
mController = new DefaultPhoneShortcutPreferenceController(RuntimeEnvironment.application,
TEST_PACKAGE_NAME);
}

View File

@@ -18,8 +18,8 @@ package com.android.settings.applications.appinfo;
import static com.google.common.truth.Truth.assertThat;
import android.app.role.RoleControllerManager;
import android.content.Context;
import android.permission.PermissionControllerManager;
import org.junit.Before;
import org.junit.Test;
@@ -37,15 +37,15 @@ public class DefaultSmsShortcutPreferenceControllerTest {
private static final String PREFERENCE_KEY = "default_sms_app";
@Mock
private PermissionControllerManager mPermissionControllerManager;
private RoleControllerManager mRoleControllerManager;
private DefaultSmsShortcutPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
ShadowApplication.getInstance().setSystemService(Context.PERMISSION_CONTROLLER_SERVICE,
mPermissionControllerManager);
ShadowApplication.getInstance().setSystemService(Context.ROLE_CONTROLLER_SERVICE,
mRoleControllerManager);
mController = new DefaultSmsShortcutPreferenceController(RuntimeEnvironment.application,
TEST_PACKAGE_NAME);
}