From 729f1bb48b7fa670ed37e880d5c2432d1e23a724 Mon Sep 17 00:00:00 2001 From: Hai Zhang Date: Wed, 6 Mar 2019 16:05:54 -0800 Subject: [PATCH] Use RoleControllerService for role related APIs. Move isApplicationQualifiedForRole() and isRoleVisible() from PermissionControllerService to RoleControllerService. Bug: 127691087 Test: manual Change-Id: I87edb1bc457fbbec3d9a87054eaad5024ed91310 --- .../DefaultAppShortcutPreferenceControllerBase.java | 10 +++++----- ...aultAppShortcutPreferenceControllerBaseTest.java | 13 ++++++------- ...aultBrowserShortcutPreferenceControllerTest.java | 8 ++++---- ...ltEmergencyShortcutPreferenceControllerTest.java | 8 ++++---- ...DefaultHomeShortcutPreferenceControllerTest.java | 8 ++++---- ...efaultPhoneShortcutPreferenceControllerTest.java | 8 ++++---- .../DefaultSmsShortcutPreferenceControllerTest.java | 8 ++++---- 7 files changed, 31 insertions(+), 32 deletions(-) diff --git a/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBase.java b/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBase.java index ca8dda3b167..0663e2a35b4 100644 --- a/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBase.java +++ b/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBase.java @@ -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(); diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java index 7b9bc253425..81d52d2a6e3 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java @@ -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> 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 callback = callbackCaptor.getValue(); callback.accept(visible); @@ -163,7 +162,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest { private void setApplicationIsQualifiedForRole(boolean qualified) { final ArgumentCaptor> 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 callback = callbackCaptor.getValue(); callback.accept(qualified); diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultBrowserShortcutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultBrowserShortcutPreferenceControllerTest.java index c2a3b4a8f02..5940d72cb59 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultBrowserShortcutPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultBrowserShortcutPreferenceControllerTest.java @@ -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"); } diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultEmergencyShortcutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultEmergencyShortcutPreferenceControllerTest.java index 8466092fa55..8dcf530aa4a 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultEmergencyShortcutPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultEmergencyShortcutPreferenceControllerTest.java @@ -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"); } diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultHomeShortcutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultHomeShortcutPreferenceControllerTest.java index c5cae3ae307..7071fec1186 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultHomeShortcutPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultHomeShortcutPreferenceControllerTest.java @@ -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"); } diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceControllerTest.java index 4e7a80028f0..d1b6aebf55e 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceControllerTest.java @@ -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); } diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultSmsShortcutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultSmsShortcutPreferenceControllerTest.java index b31a10d75dd..8626d2da3c9 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultSmsShortcutPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultSmsShortcutPreferenceControllerTest.java @@ -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); }