Merge "Use role for App info default phone shortcut."
diff --git a/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceController.java b/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceController.java
index c968d55..c19c367 100644
--- a/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceController.java
@@ -14,27 +14,15 @@
 
 package com.android.settings.applications.appinfo;
 
+import android.app.role.RoleManager;
 import android.content.Context;
 
-import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
-
 public class DefaultPhoneShortcutPreferenceController
         extends DefaultAppShortcutPreferenceControllerBase {
 
     private static final String KEY = "default_phone_app";
 
     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);
-    }
-
 }
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 bdb7ba3..4e7a800 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultPhoneShortcutPreferenceControllerTest.java
@@ -18,13 +18,8 @@
 
 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.pm.PackageManager;
-
-import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController;
+import android.permission.PermissionControllerManager;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -33,64 +28,30 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
+import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(RobolectricTestRunner.class)
 public class DefaultPhoneShortcutPreferenceControllerTest {
 
-    @Mock
-    private PackageManager mPackageManager;
+    private static final String TEST_PACKAGE_NAME = "TestPackage";
+    private static final String PREFERENCE_KEY = "default_phone_app";
 
-    private Context mContext;
+    @Mock
+    private PermissionControllerManager mPermissionControllerManager;
+
     private DefaultPhoneShortcutPreferenceController mController;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-        mController = new DefaultPhoneShortcutPreferenceController(mContext, "Package1");
+        ShadowApplication.getInstance().setSystemService(Context.PERMISSION_CONTROLLER_SERVICE,
+                mPermissionControllerManager);
+        mController = new DefaultPhoneShortcutPreferenceController(RuntimeEnvironment.application,
+                TEST_PACKAGE_NAME);
     }
 
     @Test
     public void getPreferenceKey_shouldReturnDefaultPhone() {
-        assertThat(mController.getPreferenceKey()).isEqualTo("default_phone_app");
-    }
-
-    @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;
-        }
+        assertThat(mController.getPreferenceKey()).isEqualTo(PREFERENCE_KEY);
     }
 }