Merge "Use role for App info default phone shortcut."
This commit is contained in:
committed by
Android (Google) Code Review
commit
6b3db61e53
@@ -14,27 +14,15 @@
|
|||||||
|
|
||||||
package com.android.settings.applications.appinfo;
|
package com.android.settings.applications.appinfo;
|
||||||
|
|
||||||
|
import android.app.role.RoleManager;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
|
||||||
import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
|
|
||||||
|
|
||||||
public class DefaultPhoneShortcutPreferenceController
|
public class DefaultPhoneShortcutPreferenceController
|
||||||
extends DefaultAppShortcutPreferenceControllerBase {
|
extends DefaultAppShortcutPreferenceControllerBase {
|
||||||
|
|
||||||
private static final String KEY = "default_phone_app";
|
private static final String KEY = "default_phone_app";
|
||||||
|
|
||||||
public DefaultPhoneShortcutPreferenceController(Context context, String packageName) {
|
public DefaultPhoneShortcutPreferenceController(Context context, String packageName) {
|
||||||
super(context, KEY, packageName);
|
super(context, KEY, RoleManager.ROLE_DIALER, packageName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean hasAppCapability() {
|
|
||||||
return DefaultPhonePreferenceController.hasPhonePreference(mPackageName, mContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean isDefaultApp() {
|
|
||||||
return DefaultPhonePreferenceController.isPhoneDefault(mPackageName, mContext);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,13 +18,8 @@ package com.android.settings.applications.appinfo;
|
|||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Mockito.spy;
|
|
||||||
import static org.mockito.Mockito.when;
|
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.pm.PackageManager;
|
import android.permission.PermissionControllerManager;
|
||||||
|
|
||||||
import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
|
|
||||||
|
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -33,64 +28,30 @@ import org.mockito.Mock;
|
|||||||
import org.mockito.MockitoAnnotations;
|
import org.mockito.MockitoAnnotations;
|
||||||
import org.robolectric.RobolectricTestRunner;
|
import org.robolectric.RobolectricTestRunner;
|
||||||
import org.robolectric.RuntimeEnvironment;
|
import org.robolectric.RuntimeEnvironment;
|
||||||
import org.robolectric.annotation.Config;
|
import org.robolectric.shadows.ShadowApplication;
|
||||||
import org.robolectric.annotation.Implementation;
|
|
||||||
import org.robolectric.annotation.Implements;
|
|
||||||
|
|
||||||
@RunWith(RobolectricTestRunner.class)
|
@RunWith(RobolectricTestRunner.class)
|
||||||
public class DefaultPhoneShortcutPreferenceControllerTest {
|
public class DefaultPhoneShortcutPreferenceControllerTest {
|
||||||
|
|
||||||
@Mock
|
private static final String TEST_PACKAGE_NAME = "TestPackage";
|
||||||
private PackageManager mPackageManager;
|
private static final String PREFERENCE_KEY = "default_phone_app";
|
||||||
|
|
||||||
|
@Mock
|
||||||
|
private PermissionControllerManager mPermissionControllerManager;
|
||||||
|
|
||||||
private Context mContext;
|
|
||||||
private DefaultPhoneShortcutPreferenceController mController;
|
private DefaultPhoneShortcutPreferenceController mController;
|
||||||
|
|
||||||
@Before
|
@Before
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
MockitoAnnotations.initMocks(this);
|
MockitoAnnotations.initMocks(this);
|
||||||
mContext = spy(RuntimeEnvironment.application);
|
ShadowApplication.getInstance().setSystemService(Context.PERMISSION_CONTROLLER_SERVICE,
|
||||||
when(mContext.getPackageManager()).thenReturn(mPackageManager);
|
mPermissionControllerManager);
|
||||||
mController = new DefaultPhoneShortcutPreferenceController(mContext, "Package1");
|
mController = new DefaultPhoneShortcutPreferenceController(RuntimeEnvironment.application,
|
||||||
|
TEST_PACKAGE_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getPreferenceKey_shouldReturnDefaultPhone() {
|
public void getPreferenceKey_shouldReturnDefaultPhone() {
|
||||||
assertThat(mController.getPreferenceKey()).isEqualTo("default_phone_app");
|
assertThat(mController.getPreferenceKey()).isEqualTo(PREFERENCE_KEY);
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Config(shadows = ShadowDefaultPhonePreferenceController.class)
|
|
||||||
public void hasAppCapability_hasPhoneCapability_shouldReturnTrue() {
|
|
||||||
assertThat(mController.hasAppCapability()).isTrue();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void hasAppCapability_noPhoneCapability_shouldReturnFalse() {
|
|
||||||
assertThat(mController.hasAppCapability()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
@Config(shadows = ShadowDefaultPhonePreferenceController.class)
|
|
||||||
public void isDefaultApp_isDefaultPhone_shouldReturnTrue() {
|
|
||||||
assertThat(mController.isDefaultApp()).isTrue();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Test
|
|
||||||
public void isDefaultApp_notDefaultPhone_shouldReturnFalse() {
|
|
||||||
assertThat(mController.isDefaultApp()).isFalse();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Implements(DefaultPhonePreferenceController.class)
|
|
||||||
public static class ShadowDefaultPhonePreferenceController {
|
|
||||||
@Implementation
|
|
||||||
protected static boolean hasPhonePreference(String pkg, Context context) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Implementation
|
|
||||||
protected static boolean isPhoneDefault(String pkg, Context context) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user