diff --git a/res/values/bools.xml b/res/values/bools.xml
index 6df9d6c180f..687d5bd1ddc 100644
--- a/res/values/bools.xml
+++ b/res/values/bools.xml
@@ -80,4 +80,7 @@
true
+
+
+ true
diff --git a/src/com/android/settings/applications/assist/DefaultAssistPreferenceController.java b/src/com/android/settings/applications/assist/DefaultAssistPreferenceController.java
index cba08c89bf0..f78548b8020 100644
--- a/src/com/android/settings/applications/assist/DefaultAssistPreferenceController.java
+++ b/src/com/android/settings/applications/assist/DefaultAssistPreferenceController.java
@@ -26,6 +26,7 @@ import android.service.voice.VoiceInteractionServiceInfo;
import android.support.annotation.VisibleForTesting;
import com.android.internal.app.AssistUtils;
+import com.android.settings.R;
import com.android.settings.applications.defaultapps.DefaultAppInfo;
import com.android.settings.applications.defaultapps.DefaultAppPreferenceController;
@@ -73,7 +74,7 @@ public class DefaultAssistPreferenceController extends DefaultAppPreferenceContr
@Override
public boolean isAvailable() {
- return true;
+ return mContext.getResources().getBoolean(R.bool.config_show_assist_and_voice_input);
}
@Override
diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml
index 7ae7c1f3bcf..e10fee1e080 100644
--- a/tests/robotests/res/values-mcc999/config.xml
+++ b/tests/robotests/res/values-mcc999/config.xml
@@ -30,4 +30,5 @@
false
false
false
+ false
diff --git a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
index 180abbb491c..eeaba210423 100644
--- a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
@@ -50,6 +50,7 @@ import org.junit.runner.RunWith;
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.ArrayList;
@@ -61,26 +62,33 @@ public class DefaultAssistPreferenceControllerTest {
private static final String TEST_KEY = "test_pref_key";
- @Mock
- private Context mContext;
@Mock
private SearchManager mSearchManager;
@Mock
private PackageManager mPackageManager;
+
+ private Context mContext;
private DefaultAssistPreferenceController mController;
@Before
public void setUp() {
MockitoAnnotations.initMocks(this);
+ mContext = spy(RuntimeEnvironment.application);
mController = new DefaultAssistPreferenceController(mContext, TEST_KEY,
true /* showSetting */);
}
@Test
- public void isAlwaysAvailable() {
+ public void testAssistAndVoiceInput_byDefault_shouldBeShown() {
assertThat(mController.isAvailable()).isTrue();
}
+ @Test
+ @Config(qualifiers = "mcc999")
+ public void testAssistAndVoiceInput_ifDisabled_shouldNotBeShown() {
+ assertThat(mController.isAvailable()).isFalse();
+ }
+
@Test
public void getPrefKey_shouldReturnKey() {
assertThat(mController.getPreferenceKey())
@@ -91,7 +99,8 @@ public class DefaultAssistPreferenceControllerTest {
@Config(shadows = {ShadowSecureSettings.class})
public void getDefaultAppInfo_hasDefaultAssist_shouldReturnKey() {
final String flattenKey = "com.android.settings/assist";
- Settings.Secure.putString(null, Settings.Secure.ASSISTANT, flattenKey);
+ Settings.Secure.putString(mContext.getContentResolver(), Settings.Secure.ASSISTANT,
+ flattenKey);
DefaultAppInfo appInfo = mController.getDefaultAppInfo();
assertThat(appInfo.getKey()).isEqualTo(flattenKey);