diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml index bed3aa65371..718bb230f9c 100644 --- a/res/xml/configure_notification_settings.xml +++ b/res/xml/configure_notification_settings.xml @@ -39,7 +39,7 @@ android:summary="@string/summary_placeholder"/> diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml index 7f740f34b89..50e68910e47 100644 --- a/res/xml/display_settings.xml +++ b/res/xml/display_settings.xml @@ -97,12 +97,12 @@ android:title="@string/lift_to_wake_title" /> diff --git a/res/xml/language_and_input.xml b/res/xml/language_and_input.xml index ca5ce458e1a..6e65da689c7 100644 --- a/res/xml/language_and_input.xml +++ b/res/xml/language_and_input.xml @@ -66,32 +66,32 @@ android:title="@string/gesture_preference_title"> @@ -105,7 +105,7 @@ android:dialogTitle="@string/pointer_speed"/> diff --git a/res/xml/manage_assist.xml b/res/xml/manage_assist.xml index eadf45fd357..a96fb6bc8db 100644 --- a/res/xml/manage_assist.xml +++ b/res/xml/manage_assist.xml @@ -26,7 +26,7 @@ android:fragment="com.android.settings.applications.assist.DefaultAssistPicker"/> diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java index 98844fa5ac8..b70a1337727 100644 --- a/src/com/android/settings/DisplaySettings.java +++ b/src/com/android/settings/DisplaySettings.java @@ -54,6 +54,8 @@ public class DisplaySettings extends DashboardFragment { private static final String KEY_AUTO_BRIGHTNESS = "auto_brightness"; private static final String KEY_SCREEN_TIMEOUT = "screen_timeout"; + private static final String KEY_PICK_UP = "gesture_pick_up_display_summary"; + private static final String KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen_display_summary"; @Override public int getMetricsCategory() { @@ -100,9 +102,10 @@ public class DisplaySettings extends DashboardFragment { controllers.add(new ScreenSaverPreferenceController(context)); AmbientDisplayConfiguration ambientDisplayConfig = new AmbientDisplayConfiguration(context); controllers.add(new PickupGesturePreferenceController( - context, lifecycle, ambientDisplayConfig, UserHandle.myUserId())); + context, lifecycle, ambientDisplayConfig, UserHandle.myUserId(), KEY_PICK_UP)); controllers.add(new DoubleTapScreenPreferenceController( - context, lifecycle, ambientDisplayConfig, UserHandle.myUserId())); + context, lifecycle, ambientDisplayConfig, UserHandle.myUserId(), + KEY_DOUBLE_TAP_SCREEN)); controllers.add(new TapToWakePreferenceController(context)); controllers.add(new TimeoutPreferenceController(context, KEY_SCREEN_TIMEOUT)); controllers.add(new VrDisplayPreferenceController(context)); diff --git a/src/com/android/settings/applications/assist/ManageAssist.java b/src/com/android/settings/applications/assist/ManageAssist.java index 824c0b1c5d5..aa71c9ab04f 100644 --- a/src/com/android/settings/applications/assist/ManageAssist.java +++ b/src/com/android/settings/applications/assist/ManageAssist.java @@ -38,6 +38,7 @@ import java.util.List; public class ManageAssist extends DashboardFragment { private static final String TAG = "ManageAssist"; + private static final String KEY_ASSIST = "gesture_assist_application"; @Override protected String getLogTag() { @@ -71,7 +72,7 @@ public class ManageAssist extends DashboardFragment { Lifecycle lifecycle) { final List controllers = new ArrayList<>(); controllers.add(new DefaultAssistPreferenceController(context)); - controllers.add(new AssistGesturePreferenceController(context, lifecycle)); + controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST)); controllers.add(new AssistContextPreferenceController(context, lifecycle)); controllers.add(new AssistScreenshotPreferenceController(context, lifecycle)); controllers.add(new AssistFlashScreenPreferenceController(context, lifecycle)); @@ -94,5 +95,13 @@ public class ManageAssist extends DashboardFragment { public List getPreferenceControllers(Context context) { return buildPreferenceControllers(context, null /* lifecycle */); } + + @Override + public List getNonIndexableKeys(Context context) { + List keys = super.getNonIndexableKeys(context); + keys.add(KEY_ASSIST); + return keys; + } + }; } diff --git a/src/com/android/settings/gestures/AssistGesturePreferenceController.java b/src/com/android/settings/gestures/AssistGesturePreferenceController.java index f0ba8883e37..c8585115273 100644 --- a/src/com/android/settings/gestures/AssistGesturePreferenceController.java +++ b/src/com/android/settings/gestures/AssistGesturePreferenceController.java @@ -35,7 +35,7 @@ public class AssistGesturePreferenceController extends GesturePreferenceControll implements OnPause, OnResume { private static final String PREF_KEY_VIDEO = "gesture_assist_video"; - private static final String PREF_KEY_ASSIST_GESTURE = "gesture_assist"; + private final String mAssistGesturePrefKey; private final AssistGestureFeatureProvider mFeatureProvider; private final SettingObserver mSettingObserver; @@ -44,11 +44,12 @@ public class AssistGesturePreferenceController extends GesturePreferenceControll private PreferenceScreen mScreen; private Preference mPreference; - public AssistGesturePreferenceController(Context context, Lifecycle lifecycle) { + public AssistGesturePreferenceController(Context context, Lifecycle lifecycle, String key) { super(context, lifecycle); mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider(); mSettingObserver = new SettingObserver(); mWasAvailable = isAvailable(); + mAssistGesturePrefKey = key; } @Override @@ -110,7 +111,7 @@ public class AssistGesturePreferenceController extends GesturePreferenceControll @Override public String getPreferenceKey() { - return PREF_KEY_ASSIST_GESTURE; + return mAssistGesturePrefKey; } @Override diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java index 238b8b62bd9..0c4f2785f81 100644 --- a/src/com/android/settings/gestures/AssistGestureSettings.java +++ b/src/com/android/settings/gestures/AssistGestureSettings.java @@ -34,6 +34,8 @@ public class AssistGestureSettings extends DashboardFragment { private static final String TAG = "AssistGesture"; + private static final String KEY_ASSIST = "gesture_assist"; + @Override public int getMetricsCategory() { return MetricsProto.MetricsEvent.VIEW_UNKNOWN; @@ -57,7 +59,7 @@ public class AssistGestureSettings extends DashboardFragment { private static List buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List controllers = new ArrayList<>(); - controllers.add(new AssistGesturePreferenceController(context, lifecycle)); + controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST)); controllers.add(new AssistGestureSensitivityPreferenceController(context, lifecycle)); return controllers; } diff --git a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java index d38902e50b4..ba1d0f6d034 100644 --- a/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java +++ b/src/com/android/settings/gestures/DoubleTapPowerPreferenceController.java @@ -20,18 +20,16 @@ import android.content.Context; import android.provider.Settings; import android.support.v7.preference.Preference; -import android.util.ArrayMap; import com.android.settings.core.lifecycle.Lifecycle; -import com.android.settings.search2.InlineSwitchPayload; -import com.android.settings.search2.ResultPayload; public class DoubleTapPowerPreferenceController extends GesturePreferenceController { private static final String PREF_KEY_VIDEO = "gesture_double_tap_power_video"; - private static final String PREF_KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power"; + private final String mDoubleTapPowerKey; - public DoubleTapPowerPreferenceController(Context context, Lifecycle lifecycle) { + public DoubleTapPowerPreferenceController(Context context, Lifecycle lifecycle, String key) { super(context, lifecycle); + mDoubleTapPowerKey = key; } @Override @@ -47,7 +45,7 @@ public class DoubleTapPowerPreferenceController extends GesturePreferenceControl @Override public String getPreferenceKey() { - return PREF_KEY_DOUBLE_TAP_POWER; + return mDoubleTapPowerKey; } @Override diff --git a/src/com/android/settings/gestures/DoubleTapPowerSettings.java b/src/com/android/settings/gestures/DoubleTapPowerSettings.java index 467cec8ec9b..a880c32db36 100644 --- a/src/com/android/settings/gestures/DoubleTapPowerSettings.java +++ b/src/com/android/settings/gestures/DoubleTapPowerSettings.java @@ -33,6 +33,7 @@ import java.util.List; public class DoubleTapPowerSettings extends DashboardFragment { private static final String TAG = "DoubleTapPower"; + private static final String KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power"; @Override public int getMetricsCategory() { @@ -57,7 +58,8 @@ public class DoubleTapPowerSettings extends DashboardFragment { private static List buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List controllers = new ArrayList<>(); - controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle)); + controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle, + KEY_DOUBLE_TAP_POWER)); return controllers; } diff --git a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java index 49e8f51758e..5f8dfb4d8c0 100644 --- a/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java +++ b/src/com/android/settings/gestures/DoubleTapScreenPreferenceController.java @@ -21,26 +21,24 @@ import android.content.Context; import android.provider.Settings; import android.support.v7.preference.Preference; -import android.util.ArrayMap; import com.android.internal.hardware.AmbientDisplayConfiguration; import com.android.settings.core.lifecycle.Lifecycle; -import com.android.settings.search2.InlineSwitchPayload; -import com.android.settings.search2.ResultPayload; public class DoubleTapScreenPreferenceController extends GesturePreferenceController { private static final String PREF_KEY_VIDEO = "gesture_double_tap_screen_video"; - private static final String PREF_KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen"; + private final String mDoubleTapScreenPrefKey; private final AmbientDisplayConfiguration mAmbientConfig; @UserIdInt private final int mUserId; public DoubleTapScreenPreferenceController(Context context, Lifecycle lifecycle, - AmbientDisplayConfiguration config, @UserIdInt int userId) { + AmbientDisplayConfiguration config, @UserIdInt int userId, String key) { super(context, lifecycle); mAmbientConfig = config; mUserId = userId; + mDoubleTapScreenPrefKey = key; } @Override @@ -50,7 +48,7 @@ public class DoubleTapScreenPreferenceController extends GesturePreferenceContro @Override public String getPreferenceKey() { - return PREF_KEY_DOUBLE_TAP_SCREEN; + return mDoubleTapScreenPrefKey; } @Override diff --git a/src/com/android/settings/gestures/DoubleTapScreenSettings.java b/src/com/android/settings/gestures/DoubleTapScreenSettings.java index 887ac80d43c..0804e7b2bda 100644 --- a/src/com/android/settings/gestures/DoubleTapScreenSettings.java +++ b/src/com/android/settings/gestures/DoubleTapScreenSettings.java @@ -35,6 +35,7 @@ import java.util.List; public class DoubleTapScreenSettings extends DashboardFragment { private static final String TAG = "DoubleTapScreen"; + private static final String KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen"; @Override public int getMetricsCategory() { @@ -60,7 +61,8 @@ public class DoubleTapScreenSettings extends DashboardFragment { Lifecycle lifecycle) { final List controllers = new ArrayList<>(); controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle, - new AmbientDisplayConfiguration(context), UserHandle.myUserId())); + new AmbientDisplayConfiguration(context), UserHandle.myUserId(), + KEY_DOUBLE_TAP_SCREEN)); return controllers; } diff --git a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java index 46a8cbb6f0d..cf5cfabada1 100644 --- a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java +++ b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java @@ -33,6 +33,7 @@ import java.util.List; public class DoubleTwistGestureSettings extends DashboardFragment { private static final String TAG = "DoubleTwistGesture"; + private static final String KEY_DOUBLE_TWIST = "gesture_double_twist"; @Override public int getMetricsCategory() { @@ -57,7 +58,7 @@ public class DoubleTwistGestureSettings extends DashboardFragment { private static List buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List controllers = new ArrayList<>(); - controllers.add(new DoubleTwistPreferenceController(context, lifecycle)); + controllers.add(new DoubleTwistPreferenceController(context, lifecycle, KEY_DOUBLE_TWIST)); return controllers; } diff --git a/src/com/android/settings/gestures/DoubleTwistPreferenceController.java b/src/com/android/settings/gestures/DoubleTwistPreferenceController.java index c5174fd536b..f1c7455ec25 100644 --- a/src/com/android/settings/gestures/DoubleTwistPreferenceController.java +++ b/src/com/android/settings/gestures/DoubleTwistPreferenceController.java @@ -24,19 +24,17 @@ import android.provider.Settings; import android.support.v7.preference.Preference; import android.text.TextUtils; -import android.util.ArrayMap; import com.android.settings.R; import com.android.settings.core.lifecycle.Lifecycle; -import com.android.settings.search2.InlineSwitchPayload; -import com.android.settings.search2.ResultPayload; public class DoubleTwistPreferenceController extends GesturePreferenceController { private static final String PREF_KEY_VIDEO = "gesture_double_twist_video"; - private static final String PREF_KEY_DOUBLE_TWIST = "gesture_double_twist"; + private final String mDoubleTwistPrefKey; - public DoubleTwistPreferenceController(Context context, Lifecycle lifecycle) { + public DoubleTwistPreferenceController(Context context, Lifecycle lifecycle, String key) { super(context, lifecycle); + mDoubleTwistPrefKey = key; } @Override @@ -52,7 +50,7 @@ public class DoubleTwistPreferenceController extends GesturePreferenceController @Override public String getPreferenceKey() { - return PREF_KEY_DOUBLE_TWIST; + return mDoubleTwistPrefKey; } @Override diff --git a/src/com/android/settings/gestures/PickupGesturePreferenceController.java b/src/com/android/settings/gestures/PickupGesturePreferenceController.java index ce20f157966..c0e6009a56d 100644 --- a/src/com/android/settings/gestures/PickupGesturePreferenceController.java +++ b/src/com/android/settings/gestures/PickupGesturePreferenceController.java @@ -21,26 +21,24 @@ import android.content.Context; import android.provider.Settings; import android.support.v7.preference.Preference; -import android.util.ArrayMap; import com.android.internal.hardware.AmbientDisplayConfiguration; import com.android.settings.core.lifecycle.Lifecycle; -import com.android.settings.search2.InlineSwitchPayload; -import com.android.settings.search2.ResultPayload; public class PickupGesturePreferenceController extends GesturePreferenceController { private static final String PREF_VIDEO_KEY = "gesture_pick_up_video"; - private static final String PREF_KEY_PICK_UP = "gesture_pick_up"; + private final String mPickUpPrefKey; private final AmbientDisplayConfiguration mAmbientConfig; @UserIdInt private final int mUserId; public PickupGesturePreferenceController(Context context, Lifecycle lifecycle, - AmbientDisplayConfiguration config, @UserIdInt int userId) { + AmbientDisplayConfiguration config, @UserIdInt int userId, String key) { super(context, lifecycle); mAmbientConfig = config; mUserId = userId; + mPickUpPrefKey = key; } @Override @@ -60,7 +58,7 @@ public class PickupGesturePreferenceController extends GesturePreferenceControll @Override public String getPreferenceKey() { - return PREF_KEY_PICK_UP; + return mPickUpPrefKey; } @Override diff --git a/src/com/android/settings/gestures/PickupGestureSettings.java b/src/com/android/settings/gestures/PickupGestureSettings.java index 0fe6097f3ac..874f690cd1c 100644 --- a/src/com/android/settings/gestures/PickupGestureSettings.java +++ b/src/com/android/settings/gestures/PickupGestureSettings.java @@ -35,6 +35,7 @@ import java.util.List; public class PickupGestureSettings extends DashboardFragment { private static final String TAG = "PickupGestureSettings"; + private static final String KEY_PICK_UP = "gesture_pick_up"; @Override public int getMetricsCategory() { @@ -60,7 +61,7 @@ public class PickupGestureSettings extends DashboardFragment { Lifecycle lifecycle) { final List controllers = new ArrayList<>(); controllers.add(new PickupGesturePreferenceController(context, lifecycle, - new AmbientDisplayConfiguration(context), UserHandle.myUserId())); + new AmbientDisplayConfiguration(context), UserHandle.myUserId(), KEY_PICK_UP)); return controllers; } diff --git a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java index 22b88fc15fd..2a62674f813 100644 --- a/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java +++ b/src/com/android/settings/gestures/SwipeToNotificationPreferenceController.java @@ -20,23 +20,22 @@ import android.content.Context; import android.provider.Settings; import android.support.v7.preference.Preference; -import android.util.ArrayMap; import com.android.settings.core.lifecycle.Lifecycle; -import com.android.settings.search2.InlineSwitchPayload; -import com.android.settings.search2.ResultPayload; public class SwipeToNotificationPreferenceController extends GesturePreferenceController { private static final String PREF_KEY_VIDEO = "gesture_swipe_down_fingerprint_video"; - private static final String PREF_KEY_SWIPE_DOWN_FINGERPRINT = "gesture_swipe_down_fingerprint"; + private final String mSwipeDownFingerPrefKey; - public SwipeToNotificationPreferenceController(Context context, Lifecycle lifecycle) { + public SwipeToNotificationPreferenceController(Context context, Lifecycle lifecycle, + String key) { super(context, lifecycle); + mSwipeDownFingerPrefKey = key; } @Override public String getPreferenceKey() { - return PREF_KEY_SWIPE_DOWN_FINGERPRINT; + return mSwipeDownFingerPrefKey; } @Override diff --git a/src/com/android/settings/gestures/SwipeToNotificationSettings.java b/src/com/android/settings/gestures/SwipeToNotificationSettings.java index 6c136c24314..f19565ae53e 100644 --- a/src/com/android/settings/gestures/SwipeToNotificationSettings.java +++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java @@ -34,6 +34,8 @@ public class SwipeToNotificationSettings extends DashboardFragment { private static final String TAG = "SwipeToNotifSettings"; + private static final String KEY = "gesture_swipe_down_fingerprint"; + @Override public int getMetricsCategory() { return MetricsProto.MetricsEvent.SETTINGS_GESTURE_SWIPE_TO_NOTIFICATION; @@ -57,7 +59,7 @@ public class SwipeToNotificationSettings extends DashboardFragment { private static List buildPreferenceControllers(Context context, Lifecycle lifecycle) { final List controllers = new ArrayList<>(); - controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle)); + controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle, KEY)); return controllers; } diff --git a/src/com/android/settings/language/LanguageAndInputSettings.java b/src/com/android/settings/language/LanguageAndInputSettings.java index 19999707f69..1c4d642fdeb 100644 --- a/src/com/android/settings/language/LanguageAndInputSettings.java +++ b/src/com/android/settings/language/LanguageAndInputSettings.java @@ -58,6 +58,14 @@ public class LanguageAndInputSettings extends DashboardFragment { private static final String TAG = "LangAndInputSettings"; + private static final String KEY_TEXT_TO_SPEECH = "tts_settings_summary"; + private static final String KEY_ASSIST = "gesture_assist_input_summary"; + private static final String KEY_SWIPE_DOWN = "gesture_swipe_down_fingerprint_input_summary"; + private static final String KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power_input_summary"; + private static final String KEY_DOUBLE_TWIST = "gesture_double_twist_input_summary"; + private static final String KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen_input_summary"; + private static final String KEY_PICK_UP = "gesture_pick_up_input_summary"; + private AmbientDisplayConfiguration mAmbientDisplayConfig; @Override @@ -110,14 +118,16 @@ public class LanguageAndInputSettings extends DashboardFragment { controllers.add(gameControllerPreferenceController); // Gestures - controllers.add(new AssistGesturePreferenceController(context, lifecycle)); - controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle)); - controllers.add(new DoubleTwistPreferenceController(context, lifecycle)); - controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle)); - controllers.add(new PickupGesturePreferenceController( - context, lifecycle, ambientDisplayConfiguration, UserHandle.myUserId())); - controllers.add(new DoubleTapScreenPreferenceController( - context, lifecycle, ambientDisplayConfiguration, UserHandle.myUserId())); + controllers.add(new AssistGesturePreferenceController(context, lifecycle, KEY_ASSIST)); + controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle, + KEY_SWIPE_DOWN)); + controllers.add(new DoubleTwistPreferenceController(context, lifecycle, KEY_DOUBLE_TWIST)); + controllers.add(new DoubleTapPowerPreferenceController(context, lifecycle, + KEY_DOUBLE_TAP_POWER)); + controllers.add(new PickupGesturePreferenceController(context, lifecycle, + ambientDisplayConfiguration, UserHandle.myUserId(), KEY_PICK_UP)); + controllers.add(new DoubleTapScreenPreferenceController(context, lifecycle, + ambientDisplayConfiguration, UserHandle.myUserId(), KEY_DOUBLE_TAP_SCREEN)); controllers.add(new DefaultAutofillPreferenceController(context)); return controllers; } @@ -179,5 +189,20 @@ public class LanguageAndInputSettings extends DashboardFragment { return buildPreferenceControllers(context, null, new AmbientDisplayConfiguration(context)); } + + @Override + public List getNonIndexableKeys(Context context) { + List keys = super.getNonIndexableKeys(context); + // Duplicates in summary and details pages. + keys.add(KEY_TEXT_TO_SPEECH); + keys.add(KEY_ASSIST); + keys.add(KEY_SWIPE_DOWN); + keys.add(KEY_DOUBLE_TAP_POWER); + keys.add(KEY_DOUBLE_TWIST); + keys.add(KEY_DOUBLE_TAP_SCREEN); + keys.add(KEY_PICK_UP); + + return keys; + } }; } diff --git a/src/com/android/settings/language/TtsPreferenceController.java b/src/com/android/settings/language/TtsPreferenceController.java index 0d1c7539932..a734e4becab 100644 --- a/src/com/android/settings/language/TtsPreferenceController.java +++ b/src/com/android/settings/language/TtsPreferenceController.java @@ -23,7 +23,8 @@ import com.android.settings.core.PreferenceController; public class TtsPreferenceController extends PreferenceController { - private static final String KEY_TTS_SETTINGS = "tts_settings"; + private static final String KEY_VOICE_CATEGORY = "voice_category"; + private static final String KEY_TTS_SETTINGS = "tts_settings_summary"; private final TtsEngines mTtsEngines; diff --git a/src/com/android/settings/notification/ConfigureNotificationSettings.java b/src/com/android/settings/notification/ConfigureNotificationSettings.java index a1c52638a73..d9da051b15a 100644 --- a/src/com/android/settings/notification/ConfigureNotificationSettings.java +++ b/src/com/android/settings/notification/ConfigureNotificationSettings.java @@ -35,6 +35,8 @@ import java.util.List; public class ConfigureNotificationSettings extends DashboardFragment { private static final String TAG = "ConfigNotiSettings"; + private static final String KEY_SWIPE_DOWN = "gesture_swipe_down_fingerprint_notifications"; + @Override public int getMetricsCategory() { return MetricsEvent.CONFIGURE_NOTIFICATION; @@ -68,7 +70,8 @@ public class ConfigureNotificationSettings extends DashboardFragment { lifecycle.addObserver(pulseController); lifecycle.addObserver(lockScreenNotificationController); } - controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle)); + controllers.add(new SwipeToNotificationPreferenceController(context, lifecycle, + KEY_SWIPE_DOWN)); controllers.add(badgeController); controllers.add(pulseController); controllers.add(lockScreenNotificationController); diff --git a/tests/robotests/assets/whitelist_duplicate_index_key b/tests/robotests/assets/whitelist_duplicate_index_key index 5b5153caff6..6ced7065dfc 100644 --- a/tests/robotests/assets/whitelist_duplicate_index_key +++ b/tests/robotests/assets/whitelist_duplicate_index_key @@ -1,12 +1,6 @@ add_users_when_locked additional_system_update_settings dashboard_tile_placeholder -gesture_assist -gesture_double_tap_power -gesture_double_tap_screen -gesture_double_twist -gesture_pick_up -gesture_swipe_down_fingerprint lock_screen_notifications screen_zoom usage_access \ No newline at end of file diff --git a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java new file mode 100644 index 00000000000..f0c87cf1cd5 --- /dev/null +++ b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java @@ -0,0 +1,36 @@ +package com.android.settings; + +import android.content.Context; +import com.android.settings.core.PreferenceController; +import com.android.settings.testutils.XmlTestUtils; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.robolectric.RuntimeEnvironment; +import org.robolectric.annotation.Config; + +import java.util.ArrayList; +import java.util.List; + +import static com.google.common.truth.Truth.assertThat; + +@RunWith(SettingsRobolectricTestRunner.class) +@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION) +public class DisplaySettingsTest { + + @Test + public void testPreferenceControllers_getPreferenceKeys_existInPreferenceScreen() { + final Context context = RuntimeEnvironment.application; + final DisplaySettings fragment = new DisplaySettings(); + final List preferenceScreenKeys = XmlTestUtils.getKeysFromPreferenceXml(context, + fragment.getPreferenceScreenResId()); + final List preferenceKeys = new ArrayList<>(); + + for (PreferenceController controller : fragment.getPreferenceControllers(context)) { + preferenceKeys.add(controller.getPreferenceKey()); + } + // Nightmode is currently hidden + preferenceKeys.remove("night_mode"); + + assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys); + } +} diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java index 9862f83bdf1..e83e237090e 100644 --- a/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/AssistGesturePreferenceControllerTest.java @@ -52,12 +52,14 @@ public class AssistGesturePreferenceControllerTest { private FakeFeatureFactory mFactory; private AssistGesturePreferenceController mController; + private static final String KEY_ASSIST = "gesture_assist"; + @Before public void setUp() { MockitoAnnotations.initMocks(this); FakeFeatureFactory.setupForTest(mContext); mFactory = (FakeFeatureFactory) FakeFeatureFactory.getFactory(mContext); - mController = new AssistGesturePreferenceController(mContext, null); + mController = new AssistGesturePreferenceController(mContext, null, KEY_ASSIST); } @Test @@ -77,7 +79,7 @@ public class AssistGesturePreferenceControllerTest { // Set the setting to be enabled. final Context context = ShadowApplication.getInstance().getApplicationContext(); Settings.System.putInt(context.getContentResolver(), ASSIST_GESTURE_ENABLED, 1); - mController = new AssistGesturePreferenceController(context, null); + mController = new AssistGesturePreferenceController(context, null, KEY_ASSIST); assertThat(mController.isSwitchPrefEnabled()).isTrue(); } @@ -87,7 +89,7 @@ public class AssistGesturePreferenceControllerTest { // Set the setting to be disabled. final Context context = ShadowApplication.getInstance().getApplicationContext(); Settings.System.putInt(context.getContentResolver(), ASSIST_GESTURE_ENABLED, 0); - mController = new AssistGesturePreferenceController(context, null); + mController = new AssistGesturePreferenceController(context, null, KEY_ASSIST); assertThat(mController.isSwitchPrefEnabled()).isFalse(); } diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java index bdb35221be2..d7961e3a8e9 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapPowerPreferenceControllerTest.java @@ -47,11 +47,12 @@ public class DoubleTapPowerPreferenceControllerTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) private PreferenceScreen mScreen; private DoubleTapPowerPreferenceController mController; + private static final String KEY_DOUBLE_TAP_POWER = "gesture_double_tap_power"; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mController = new DoubleTapPowerPreferenceController(mContext, null); + mController = new DoubleTapPowerPreferenceController(mContext, null, KEY_DOUBLE_TAP_POWER); } @Test @@ -78,7 +79,7 @@ public class DoubleTapPowerPreferenceControllerTest { final Context context = ShadowApplication.getInstance().getApplicationContext(); Settings.System.putInt(context.getContentResolver(), CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 0); - mController = new DoubleTapPowerPreferenceController(context, null); + mController = new DoubleTapPowerPreferenceController(context, null, KEY_DOUBLE_TAP_POWER); assertThat(mController.isSwitchPrefEnabled()).isTrue(); } @@ -89,7 +90,7 @@ public class DoubleTapPowerPreferenceControllerTest { final Context context = ShadowApplication.getInstance().getApplicationContext(); Settings.System.putInt(context.getContentResolver(), CAMERA_DOUBLE_TAP_POWER_GESTURE_DISABLED, 1); - mController = new DoubleTapPowerPreferenceController(context, null); + mController = new DoubleTapPowerPreferenceController(context, null, KEY_DOUBLE_TAP_POWER); assertThat(mController.isSwitchPrefEnabled()).isFalse(); } diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java index adf8b752a6f..442d11dffe6 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTapScreenPreferenceControllerTest.java @@ -46,11 +46,13 @@ public class DoubleTapScreenPreferenceControllerTest { private AmbientDisplayConfiguration mAmbientDisplayConfiguration; private DoubleTapScreenPreferenceController mController; + private static final String KEY_DOUBLE_TAP_SCREEN = "gesture_double_tap_screen"; + @Before public void setUp() { MockitoAnnotations.initMocks(this); mController = new DoubleTapScreenPreferenceController( - mContext, null, mAmbientDisplayConfiguration, 0); + mContext, null, mAmbientDisplayConfiguration, 0, KEY_DOUBLE_TAP_SCREEN); } @Test diff --git a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java index 9bf66558e34..8393fc3b9fc 100644 --- a/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/DoubleTwistPreferenceControllerTest.java @@ -53,11 +53,12 @@ public class DoubleTwistPreferenceControllerTest { @Mock(answer = Answers.RETURNS_DEEP_STUBS) private SensorManager mSensorManager; private DoubleTwistPreferenceController mController; + private static final String KEY_DOUBLE_TWIST = "gesture_double_twist"; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mController = new DoubleTwistPreferenceController(mContext, null); + mController = new DoubleTwistPreferenceController(mContext, null, KEY_DOUBLE_TWIST); } @Test @@ -98,7 +99,7 @@ public class DoubleTwistPreferenceControllerTest { final Context context = ShadowApplication.getInstance().getApplicationContext(); Settings.System.putInt(context.getContentResolver(), CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 1); - mController = new DoubleTwistPreferenceController(context, null); + mController = new DoubleTwistPreferenceController(context, null, KEY_DOUBLE_TWIST); assertThat(mController.isSwitchPrefEnabled()).isTrue(); } @@ -109,7 +110,7 @@ public class DoubleTwistPreferenceControllerTest { final Context context = ShadowApplication.getInstance().getApplicationContext(); Settings.System.putInt(context.getContentResolver(), CAMERA_DOUBLE_TWIST_TO_FLIP_ENABLED, 0); - mController = new DoubleTwistPreferenceController(context, null); + mController = new DoubleTwistPreferenceController(context, null, KEY_DOUBLE_TWIST); assertThat(mController.isSwitchPrefEnabled()).isFalse(); } diff --git a/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java index 9dce07441ee..46c0f657423 100644 --- a/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/PIckupGesturePreferenceControllerTest.java @@ -47,11 +47,13 @@ public class PIckupGesturePreferenceControllerTest { private PickupGesturePreferenceController mController; + private static final String KEY_PICK_UP = "gesture_pick_up"; + @Before public void setUp() { MockitoAnnotations.initMocks(this); mController = new PickupGesturePreferenceController( - mContext, null, mAmbientDisplayConfiguration, 0); + mContext, null, mAmbientDisplayConfiguration, 0, KEY_PICK_UP); } @Test diff --git a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java index e9096673cac..cf26cb2b848 100644 --- a/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/gestures/SwipeToNotificationPreferenceControllerTest.java @@ -45,11 +45,12 @@ public class SwipeToNotificationPreferenceControllerTest { private Context mContext; private SwipeToNotificationPreferenceController mController; + private static final String KEY_SWIPE_DOWN = "gesture_swipe_down_fingerprint"; @Before public void setUp() { MockitoAnnotations.initMocks(this); - mController = new SwipeToNotificationPreferenceController(mContext, null); + mController = new SwipeToNotificationPreferenceController(mContext, null, KEY_SWIPE_DOWN); } @Test @@ -75,7 +76,7 @@ public class SwipeToNotificationPreferenceControllerTest { // Set the setting to be enabled. final Context context = ShadowApplication.getInstance().getApplicationContext(); Settings.System.putInt(context.getContentResolver(), SYSTEM_NAVIGATION_KEYS_ENABLED, 1); - mController = new SwipeToNotificationPreferenceController(context, null); + mController = new SwipeToNotificationPreferenceController(context, null, KEY_SWIPE_DOWN); assertThat(mController.isSwitchPrefEnabled()).isTrue(); } @@ -85,7 +86,7 @@ public class SwipeToNotificationPreferenceControllerTest { // Set the setting to be disabled. final Context context = ShadowApplication.getInstance().getApplicationContext(); Settings.System.putInt(context.getContentResolver(), SYSTEM_NAVIGATION_KEYS_ENABLED, 0); - mController = new SwipeToNotificationPreferenceController(context, null); + mController = new SwipeToNotificationPreferenceController(context, null, KEY_SWIPE_DOWN); assertThat(mController.isSwitchPrefEnabled()).isFalse(); } diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java index 8c23cbfa94f..527b1cdd668 100644 --- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java +++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java @@ -18,7 +18,9 @@ package com.android.settings.language; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -44,6 +46,8 @@ import com.android.settings.core.PreferenceController; import com.android.settings.core.lifecycle.Lifecycle; import com.android.settings.core.lifecycle.LifecycleObserver; import com.android.settings.dashboard.SummaryLoader; +import com.android.settings.fuelgauge.PowerUsageSummary; +import com.android.settings.testutils.XmlTestUtils; import com.android.settings.testutils.shadow.ShadowSecureSettings; import org.junit.Before; @@ -52,6 +56,7 @@ import org.junit.runner.RunWith; import org.mockito.Answers; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import org.robolectric.RuntimeEnvironment; import org.robolectric.annotation.Config; import java.util.ArrayList; @@ -144,6 +149,37 @@ public class LanguageAndInputSettingsTest { verify(loader).setSummary(provider, null); } + @Test + public void testNonIndexableKeys_existInXmlLayout() { + final Context context = spy(RuntimeEnvironment.application); + //(InputManager) context.getSystemService(Context.INPUT_SERVICE); + InputManager manager = mock(InputManager.class); + when(manager.getInputDeviceIds()).thenReturn(new int[]{}); + doReturn(manager).when(context).getSystemService(Context.INPUT_SERVICE); + final List niks = LanguageAndInputSettings.SEARCH_INDEX_DATA_PROVIDER + .getNonIndexableKeys(context); + final int xmlId = (new LanguageAndInputSettings()).getPreferenceScreenResId(); + + final List keys = XmlTestUtils.getKeysFromPreferenceXml(context, xmlId); + + assertThat(keys).containsAllIn(niks); + } + + @Test + public void testPreferenceControllers_getPreferenceKeys_existInPreferenceScreen() { + final Context context = RuntimeEnvironment.application; + final LanguageAndInputSettings fragment = new LanguageAndInputSettings(); + final List preferenceScreenKeys = XmlTestUtils.getKeysFromPreferenceXml(context, + fragment.getPreferenceScreenResId()); + final List preferenceKeys = new ArrayList<>(); + + for (PreferenceController controller : fragment.getPreferenceControllers(context)) { + preferenceKeys.add(controller.getPreferenceKey()); + } + + assertThat(preferenceScreenKeys).containsAllIn(preferenceKeys); + } + /** * Test fragment to expose lifecycle and context so we can verify behavior for observables. */ diff --git a/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java b/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java index 61750931e07..42c53018a21 100644 --- a/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java +++ b/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java @@ -108,7 +108,7 @@ public class BaseSearchIndexProviderTest { public List getXmlResourcesToIndex(Context context, boolean enabled) { final SearchIndexableResource sir = new SearchIndexableResource(context); - sir.xmlResId = R.xml.language_and_input; + sir.xmlResId = R.xml.data_usage; return Arrays.asList(sir); } @@ -121,13 +121,7 @@ public class BaseSearchIndexProviderTest { final List nonIndexableKeys = provider .getNonIndexableKeys(RuntimeEnvironment.application); - assertThat(nonIndexableKeys).containsAllOf("phone_language", "spellcheckers_settings", - "key_user_dictionary_settings", "gesture_settings_category", "gesture_assist", - "gesture_swipe_down_fingerprint", "gesture_double_tap_power", - "gesture_double_twist", "gesture_double_tap_screen", "gesture_pick_up", - "pointer_speed", "tts_settings", - "game_controller_settings_category", "vibrate_input_devices"); + assertThat(nonIndexableKeys).containsAllOf("status_header", "limit_summary", + "restrict_background"); } - - }