Merge "Revert "Expose role API for Settings on RoleManager.""

This commit is contained in:
Diego Vela
2021-01-11 19:30:04 +00:00
committed by Android (Google) Code Review
7 changed files with 33 additions and 17 deletions

View File

@@ -14,7 +14,9 @@
package com.android.settings.applications.appinfo; package com.android.settings.applications.appinfo;
import android.app.role.RoleControllerManager;
import android.app.role.RoleManager; import android.app.role.RoleManager;
import android.app.settings.SettingsEnums;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.UserManager; import android.os.UserManager;
@@ -56,12 +58,14 @@ public abstract class DefaultAppShortcutPreferenceControllerBase extends BasePre
mRoleManager = context.getSystemService(RoleManager.class); mRoleManager = context.getSystemService(RoleManager.class);
final RoleControllerManager roleControllerManager =
mContext.getSystemService(RoleControllerManager.class);
final Executor executor = mContext.getMainExecutor(); final Executor executor = mContext.getMainExecutor();
mRoleManager.isRoleVisible(mRoleName, executor, visible -> { roleControllerManager.isRoleVisible(mRoleName, executor, visible -> {
mRoleVisible = visible; mRoleVisible = visible;
refreshAvailability(); refreshAvailability();
}); });
mRoleManager.isApplicationVisibleForRole(mRoleName, mPackageName, executor, roleControllerManager.isApplicationVisibleForRole(mRoleName, mPackageName, executor,
visible -> { visible -> {
mAppVisible = visible; mAppVisible = visible;
refreshAvailability(); refreshAvailability();

View File

@@ -25,6 +25,7 @@ import static org.mockito.Mockito.when;
import static org.robolectric.Shadows.shadowOf; import static org.robolectric.Shadows.shadowOf;
import android.app.Activity; import android.app.Activity;
import android.app.role.RoleControllerManager;
import android.app.role.RoleManager; import android.app.role.RoleManager;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
@@ -62,6 +63,8 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
@Mock @Mock
private RoleManager mRoleManager; private RoleManager mRoleManager;
@Mock @Mock
private RoleControllerManager mRoleControllerManager;
@Mock
private Preference mPreference; private Preference mPreference;
private Activity mActivity; private Activity mActivity;
@@ -74,6 +77,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
ShadowApplication shadowApplication = ShadowApplication.getInstance(); ShadowApplication shadowApplication = ShadowApplication.getInstance();
shadowApplication.setSystemService(Context.ROLE_SERVICE, mRoleManager); shadowApplication.setSystemService(Context.ROLE_SERVICE, mRoleManager);
shadowApplication.setSystemService(Context.ROLE_CONTROLLER_SERVICE, mRoleControllerManager);
mActivity = Robolectric.setupActivity(Activity.class); mActivity = Robolectric.setupActivity(Activity.class);
mShadowUserManager = shadowOf(mActivity.getSystemService(UserManager.class)); mShadowUserManager = shadowOf(mActivity.getSystemService(UserManager.class));
mController = new TestRolePreferenceController(mActivity); mController = new TestRolePreferenceController(mActivity);
@@ -82,7 +86,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
@Test @Test
public void constructor_callsIsApplicationVisibleForRole() { public void constructor_callsIsApplicationVisibleForRole() {
verify(mRoleManager).isApplicationVisibleForRole(eq(TEST_ROLE_NAME), eq( verify(mRoleControllerManager).isApplicationVisibleForRole(eq(TEST_ROLE_NAME), eq(
TEST_PACKAGE_NAME), any(Executor.class), any(Consumer.class)); TEST_PACKAGE_NAME), any(Executor.class), any(Consumer.class));
} }
@@ -149,7 +153,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
private void setRoleIsVisible(boolean visible) { private void setRoleIsVisible(boolean visible) {
final ArgumentCaptor<Consumer<Boolean>> callbackCaptor = ArgumentCaptor.forClass( final ArgumentCaptor<Consumer<Boolean>> callbackCaptor = ArgumentCaptor.forClass(
Consumer.class); Consumer.class);
verify(mRoleManager).isRoleVisible(eq(TEST_ROLE_NAME), any(Executor.class), verify(mRoleControllerManager).isRoleVisible(eq(TEST_ROLE_NAME), any(Executor.class),
callbackCaptor.capture()); callbackCaptor.capture());
final Consumer<Boolean> callback = callbackCaptor.getValue(); final Consumer<Boolean> callback = callbackCaptor.getValue();
callback.accept(visible); callback.accept(visible);
@@ -158,7 +162,7 @@ public class DefaultAppShortcutPreferenceControllerBaseTest {
private void setApplicationIsVisibleForRole(boolean visible) { private void setApplicationIsVisibleForRole(boolean visible) {
final ArgumentCaptor<Consumer<Boolean>> callbackCaptor = ArgumentCaptor.forClass( final ArgumentCaptor<Consumer<Boolean>> callbackCaptor = ArgumentCaptor.forClass(
Consumer.class); Consumer.class);
verify(mRoleManager).isApplicationVisibleForRole(eq(TEST_ROLE_NAME), eq( verify(mRoleControllerManager).isApplicationVisibleForRole(eq(TEST_ROLE_NAME), eq(
TEST_PACKAGE_NAME), any(Executor.class), callbackCaptor.capture()); TEST_PACKAGE_NAME), any(Executor.class), callbackCaptor.capture());
final Consumer<Boolean> callback = callbackCaptor.getValue(); final Consumer<Boolean> callback = callbackCaptor.getValue();
callback.accept(visible); callback.accept(visible);

View File

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

View File

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

View File

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

View File

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

View File

@@ -18,6 +18,7 @@ package com.android.settings.applications.appinfo;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import android.app.role.RoleControllerManager;
import android.app.role.RoleManager; import android.app.role.RoleManager;
import android.content.Context; import android.content.Context;
@@ -38,6 +39,8 @@ public class DefaultSmsShortcutPreferenceControllerTest {
@Mock @Mock
private RoleManager mRoleManager; private RoleManager mRoleManager;
@Mock
private RoleControllerManager mRoleControllerManager;
private DefaultSmsShortcutPreferenceController mController; private DefaultSmsShortcutPreferenceController mController;
@@ -46,6 +49,7 @@ public class DefaultSmsShortcutPreferenceControllerTest {
MockitoAnnotations.initMocks(this); MockitoAnnotations.initMocks(this);
final ShadowApplication shadowApplication = ShadowApplication.getInstance(); final ShadowApplication shadowApplication = ShadowApplication.getInstance();
shadowApplication.setSystemService(Context.ROLE_SERVICE, mRoleManager); shadowApplication.setSystemService(Context.ROLE_SERVICE, mRoleManager);
shadowApplication.setSystemService(Context.ROLE_CONTROLLER_SERVICE, mRoleControllerManager);
mController = new DefaultSmsShortcutPreferenceController(RuntimeEnvironment.application, mController = new DefaultSmsShortcutPreferenceController(RuntimeEnvironment.application,
TEST_PACKAGE_NAME); TEST_PACKAGE_NAME);
} }