diff --git a/res/values/bools.xml b/res/values/bools.xml
index c8836300253..4c1c9c2755d 100644
--- a/res/values/bools.xml
+++ b/res/values/bools.xml
@@ -54,4 +54,7 @@
true
+
+
+ true
diff --git a/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java
index 94aa6089b07..fa6ddff6e17 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceController.java
@@ -24,6 +24,7 @@ import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import com.android.settings.R;
import com.android.settingslib.wrapper.PackageManagerWrapper;
import java.util.ArrayList;
@@ -53,7 +54,7 @@ public class DefaultHomePreferenceController extends DefaultAppPreferenceControl
@Override
public boolean isAvailable() {
- return true;
+ return mContext.getResources().getBoolean(R.bool.config_show_default_home);
}
@Override
diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml
index b327446aed1..f8f59f1db21 100644
--- a/tests/robotests/res/values-mcc999/config.xml
+++ b/tests/robotests/res/values-mcc999/config.xml
@@ -22,4 +22,5 @@
false
false
false
+ false
diff --git a/tests/robotests/src/com/android/settings/applications/DefaultAppSettingsTest.java b/tests/robotests/src/com/android/settings/applications/DefaultAppSettingsTest.java
index 9441707a4b4..f1c94964f17 100644
--- a/tests/robotests/src/com/android/settings/applications/DefaultAppSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/DefaultAppSettingsTest.java
@@ -147,20 +147,19 @@ public class DefaultAppSettingsTest {
@Test
public void testNonIndexableKeys_existInXmlLayout() {
final Context context = spy(RuntimeEnvironment.application);
- final Context mockContext = mock(Context.class);
- when(mockContext.getApplicationContext()).thenReturn(mockContext);
+ when(context.getApplicationContext()).thenReturn(context);
final UserManager userManager = mock(UserManager.class, RETURNS_DEEP_STUBS);
- when(mockContext.getSystemService(Context.USER_SERVICE))
+ when(context.getSystemService(Context.USER_SERVICE))
.thenReturn(userManager);
when(userManager.getUserInfo(anyInt()).isRestricted()).thenReturn(true);
- when(mockContext.getSystemService(Context.TELEPHONY_SERVICE))
+ when(context.getSystemService(Context.TELEPHONY_SERVICE))
.thenReturn(mock(TelephonyManager.class));
- when(mockContext.getPackageManager())
+ when(context.getPackageManager())
.thenReturn(mock(PackageManager.class));
final List niks = DefaultAppSettings.SEARCH_INDEX_DATA_PROVIDER
- .getNonIndexableKeys(mockContext);
+ .getNonIndexableKeys(context);
final int xmlId = (new DefaultAppSettings()).getPreferenceScreenResId();
diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceControllerTest.java
index 8a8cc2900a6..ad1a1cbaf4c 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultHomePreferenceControllerTest.java
@@ -45,6 +45,7 @@ import org.mockito.Answers;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.robolectric.annotation.Config;
+import org.robolectric.RuntimeEnvironment;
import org.robolectric.util.ReflectionHelpers;
import java.util.Arrays;
@@ -54,18 +55,18 @@ import java.util.Arrays;
@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
public class DefaultHomePreferenceControllerTest {
- @Mock
- private Context mContext;
@Mock
private UserManager mUserManager;
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private PackageManagerWrapper mPackageManager;
+ private Context mContext;
private DefaultHomePreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
+ mContext = spy(RuntimeEnvironment.application);
when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
mController = spy(new DefaultHomePreferenceController(mContext));
@@ -73,10 +74,16 @@ public class DefaultHomePreferenceControllerTest {
}
@Test
- public void isAlwaysAvailable() {
+ public void testDefaultHome_byDefault_shouldBeShown() {
assertThat(mController.isAvailable()).isTrue();
}
+ @Test
+ @Config(qualifiers = "mcc999")
+ public void testDefaultHome_ifDisabled_shouldNotBeShown() {
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
@Test
public void getDefaultApp_shouldGetDefaultBrowserPackage() {
assertThat(mController.getDefaultAppInfo()).isNotNull();