diff --git a/res/xml/assist_gesture_settings.xml b/res/xml/assist_gesture_settings.xml index 4455655f3d2..53b6526f95b 100644 --- a/res/xml/assist_gesture_settings.xml +++ b/res/xml/assist_gesture_settings.xml @@ -15,10 +15,11 @@ limitations under the License. --> - + + app:keywords="@string/keywords_assist_gesture_launch" /> diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java index cb9e473b199..3066bafc061 100644 --- a/src/com/android/settings/gestures/AssistGestureSettings.java +++ b/src/com/android/settings/gestures/AssistGestureSettings.java @@ -79,9 +79,17 @@ public class AssistGestureSettings extends DashboardFragment { } @Override - public List getPreferenceControllers(Context context) { + public List getPreferenceControllers( + Context context) { return buildPreferenceControllers(context, null /* lifecycle */); } + + @Override + protected boolean isPageSearchEnabled(Context context) { + return new AssistGesturePreferenceController(context, null /* lifecycle */, + null /* key */, false /* assistOnly */) + .isAvailable(); + } }; } diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java index 1ed030fe4bc..cfd3f525715 100644 --- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java +++ b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java @@ -17,7 +17,7 @@ package com.android.settings.gestures; import static com.google.common.truth.Truth.assertThat; - +import static org.mockito.Matchers.any; import static org.mockito.Mockito.when; import android.content.Context; @@ -34,6 +34,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import org.robolectric.shadows.ShadowApplication; @@ -45,14 +46,12 @@ public class AssistGestureSettingsTest { @Mock private Context mContext; private FakeFeatureFactory mFakeFeatureFactory; - private AssistGestureFeatureProvider mFeatureProvider; private AssistGestureSettings mSettings; @Before public void setUp() { MockitoAnnotations.initMocks(this); mFakeFeatureFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext); - mFeatureProvider = mFakeFeatureFactory.getAssistGestureFeatureProvider(); mSettings = new AssistGestureSettings(); } @@ -65,7 +64,7 @@ public class AssistGestureSettingsTest { @Test public void testGetPreferenceControllers_shouldAllBeCreated() { final List controllers = - mSettings.getPreferenceControllers(mContext); + mSettings.getPreferenceControllers(mContext); assertThat(controllers.isEmpty()).isFalse(); } @@ -79,5 +78,15 @@ public class AssistGestureSettingsTest { assertThat(indexRes).isNotNull(); assertThat(indexRes.get(0).xmlResId).isEqualTo(mSettings.getPreferenceScreenResId()); } + + @Test + public void testSearchIndexProvider_noSensor_shouldDisablePageSearch() { + when(mFakeFeatureFactory.assistGestureFeatureProvider.isSensorAvailable(any(Context.class))) + .thenReturn(false); + + assertThat(AssistGestureSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys( + RuntimeEnvironment.application)) + .contains("gesture_assist_settings_page"); + } }