diff --git a/src/com/android/settings/applications/AdvancedAppSettings.java b/src/com/android/settings/applications/AdvancedAppSettings.java index caa9da1411e..cce8b7d02fb 100644 --- a/src/com/android/settings/applications/AdvancedAppSettings.java +++ b/src/com/android/settings/applications/AdvancedAppSettings.java @@ -43,6 +43,8 @@ public class AdvancedAppSettings extends DashboardFragment { static final String TAG = "AdvancedAppSettings"; + private static final String KEY_ASSIST_VOICE_INPUT = "assist_and_voice_input"; + @Override protected String getLogTag() { return TAG; @@ -80,6 +82,18 @@ public class AdvancedAppSettings extends DashboardFragment { sir.xmlResId = R.xml.app_default_settings; return Arrays.asList(sir); } + + @Override + public List getNonIndexableKeys(Context context) { + List keys = super.getNonIndexableKeys(context); + keys.add(KEY_ASSIST_VOICE_INPUT); + // TODO (b/38230148) Remove these keys when we can differentiate work results + keys.add((new DefaultWorkPhonePreferenceController(context)) + .getPreferenceKey()); + keys.add((new DefaultWorkBrowserPreferenceController(context)) + .getPreferenceKey()); + return keys; + } }; static class SummaryProvider implements SummaryLoader.SummaryProvider { diff --git a/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java b/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java index bedb0a54ee6..0c3c1600577 100644 --- a/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java +++ b/tests/robotests/src/com/android/settings/applications/AdvancedAppSettingsTest.java @@ -26,6 +26,7 @@ import com.android.settings.applications.defaultapps.DefaultBrowserPreferenceCon import com.android.settings.applications.defaultapps.DefaultPhonePreferenceController; import com.android.settings.applications.defaultapps.DefaultSmsPreferenceController; import com.android.settings.dashboard.SummaryLoader; +import com.android.settings.testutils.XmlTestUtils; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -34,11 +35,14 @@ import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.util.ReflectionHelpers; +import java.util.List; + import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.anyString; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.never; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -136,4 +140,16 @@ public class AdvancedAppSettingsTest { } + + @Test + public void testNonIndexableKeys_existInXmlLayout() { + final Context context = spy(RuntimeEnvironment.application); + final List niks = AdvancedAppSettings.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(context); + final int xmlId = (new AdvancedAppSettings()).getPreferenceScreenResId(); + + final List keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId); + + assertThat(keys).containsAllIn(niks); + } }