From 9e74fdbf0df7b40d3ad386c105bced0e664891b3 Mon Sep 17 00:00:00 2001 From: Lais Andrade Date: Tue, 14 Jan 2025 09:48:34 -0800 Subject: [PATCH] Migrate SeekBarPreference to SliderPreference for haptics Bug: 349661486 Change-Id: I03d9b4973c0eea65c0394a292a43663a7f6dcd06 Flag: EXEMPT flag by System prop Test: manually check the UI Test: VibrationIntensityPreferenceControllerTest --- ...ssibility_vibration_intensity_settings.xml | 10 ++-- ...ibrationIntensityPreferenceController.java | 7 +-- .../core/SliderPreferenceController.java | 3 ++ ...tionIntensityPreferenceControllerTest.java | 24 ++++----- ...backIntensityPreferenceControllerTest.java | 32 +++++------ ...tionIntensityPreferenceControllerTest.java | 24 ++++----- ...tionIntensityPreferenceControllerTest.java | 32 +++++------ ...tionIntensityPreferenceControllerTest.java | 40 +++++++------- ...tionIntensityPreferenceControllerTest.java | 53 ++++++++++--------- 9 files changed, 115 insertions(+), 110 deletions(-) diff --git a/res/xml/accessibility_vibration_intensity_settings.xml b/res/xml/accessibility_vibration_intensity_settings.xml index ba1bd83da94..17e9f93b7b9 100644 --- a/res/xml/accessibility_vibration_intensity_settings.xml +++ b/res/xml/accessibility_vibration_intensity_settings.xml @@ -29,7 +29,7 @@ android:key="vibration_intensity_category_call" android:title="@string/accessibility_call_vibration_category_title"> - - - - - mPreferenceConfig.getSummary()); preference.setMin(getMin()); preference.setMax(getMax()); + preference.setSliderIncrement(1); // Discrete slider // Haptics previews played by the Settings app don't bypass user settings to be played. // The sliders continuously updates the intensity value so the previews can apply them. - preference.setContinuousUpdates(true); + preference.setUpdatesContinuously(true); } @Override diff --git a/src/com/android/settings/core/SliderPreferenceController.java b/src/com/android/settings/core/SliderPreferenceController.java index 9cd4697eae6..79385c1699d 100644 --- a/src/com/android/settings/core/SliderPreferenceController.java +++ b/src/com/android/settings/core/SliderPreferenceController.java @@ -42,6 +42,9 @@ public abstract class SliderPreferenceController extends BasePreferenceControlle } else if (preference instanceof androidx.preference.SeekBarPreference) { ((androidx.preference.SeekBarPreference) preference) .setValue(getSliderPosition()); + } else if (preference instanceof com.android.settingslib.widget.SliderPreference) { + ((com.android.settingslib.widget.SliderPreference) preference) + .setValue(getSliderPosition()); } } diff --git a/tests/robotests/src/com/android/settings/accessibility/AlarmVibrationIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AlarmVibrationIntensityPreferenceControllerTest.java index 4a791e3fd9e..f7da254513b 100644 --- a/tests/robotests/src/com/android/settings/accessibility/AlarmVibrationIntensityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/AlarmVibrationIntensityPreferenceControllerTest.java @@ -32,8 +32,8 @@ import androidx.test.core.app.ApplicationProvider; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor; -import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.SliderPreference; import org.junit.Before; import org.junit.Test; @@ -56,7 +56,7 @@ public class AlarmVibrationIntensityPreferenceControllerTest { private Context mContext; private Vibrator mVibrator; private AlarmVibrationIntensityPreferenceController mController; - private SeekBarPreference mPreference; + private SliderPreference mPreference; @Before public void setUp() { @@ -69,7 +69,7 @@ public class AlarmVibrationIntensityPreferenceControllerTest { mController = new AlarmVibrationIntensityPreferenceController(mContext, PREFERENCE_KEY, Vibrator.VIBRATION_INTENSITY_HIGH); mLifecycle.addObserver(mController); - mPreference = new SeekBarPreference(mContext); + mPreference = new SliderPreference(mContext); mPreference.setSummary("Test summary"); when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); mController.displayPreference(mScreen); @@ -91,7 +91,7 @@ public class AlarmVibrationIntensityPreferenceControllerTest { mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo( + assertThat(mPreference.getValue()).isEqualTo( mVibrator.getDefaultVibrationIntensity(VibrationAttributes.USAGE_ALARM)); } @@ -101,17 +101,17 @@ public class AlarmVibrationIntensityPreferenceControllerTest { when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_VIBRATE); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); } @@ -119,25 +119,25 @@ public class AlarmVibrationIntensityPreferenceControllerTest { public void updateState_shouldDisplayIntensityInSliderPosition() { updateSetting(Settings.System.ALARM_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); updateSetting(Settings.System.ALARM_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(Settings.System.ALARM_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_LOW); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(Settings.System.ALARM_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test - public void setProgress_updatesIntensitySetting() throws Exception { + public void setSliderPosition_updatesIntensitySetting() throws Exception { mController.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF); assertThat(readSetting(Settings.System.ALARM_VIBRATION_INTENSITY)) .isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); diff --git a/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackIntensityPreferenceControllerTest.java index e4faaaad0cc..be34b0d5461 100644 --- a/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackIntensityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackIntensityPreferenceControllerTest.java @@ -32,8 +32,8 @@ import androidx.test.core.app.ApplicationProvider; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor; -import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.SliderPreference; import org.junit.Before; import org.junit.Test; @@ -58,7 +58,7 @@ public class HapticFeedbackIntensityPreferenceControllerTest { private Context mContext; private Vibrator mVibrator; private HapticFeedbackIntensityPreferenceController mController; - private SeekBarPreference mPreference; + private SliderPreference mPreference; @Before public void setUp() { @@ -71,7 +71,7 @@ public class HapticFeedbackIntensityPreferenceControllerTest { mController = new HapticFeedbackIntensityPreferenceController(mContext, PREFERENCE_KEY, Vibrator.VIBRATION_INTENSITY_HIGH); mLifecycle.addObserver(mController); - mPreference = new SeekBarPreference(mContext); + mPreference = new SliderPreference(mContext); mPreference.setSummary("Test summary"); when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); mController.displayPreference(mScreen); @@ -91,7 +91,7 @@ public class HapticFeedbackIntensityPreferenceControllerTest { Settings.System.putString(mContext.getContentResolver(), Settings.System.HAPTIC_FEEDBACK_INTENSITY, /* value= */ null); mController.updateState(mPreference); - assertThat(mPreference.getProgress()) + assertThat(mPreference.getValue()) .isEqualTo(mVibrator.getDefaultVibrationIntensity(VibrationAttributes.USAGE_TOUCH)); } @@ -101,17 +101,17 @@ public class HapticFeedbackIntensityPreferenceControllerTest { when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_VIBRATE); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); } @@ -121,44 +121,44 @@ public class HapticFeedbackIntensityPreferenceControllerTest { updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_LOW); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test public void updateState_shouldDisplayIntensityInSliderPosition() { updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_LOW); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test - public void setProgress_updatesIntensityAndDependentSettings() throws Exception { + public void setSliderPosition_updatesIntensityAndDependentSettings() throws Exception { mController.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF); assertThat(readSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY)) .isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); diff --git a/tests/robotests/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceControllerTest.java index da8059c25ec..2a4834c9bf1 100644 --- a/tests/robotests/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/MediaVibrationIntensityPreferenceControllerTest.java @@ -34,8 +34,8 @@ import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.shadow.SettingsShadowResources; import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor; -import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.SliderPreference; import org.junit.After; import org.junit.Before; @@ -60,7 +60,7 @@ public class MediaVibrationIntensityPreferenceControllerTest { private Context mContext; private Vibrator mVibrator; private MediaVibrationIntensityPreferenceController mController; - private SeekBarPreference mPreference; + private SliderPreference mPreference; @Before public void setUp() { @@ -73,7 +73,7 @@ public class MediaVibrationIntensityPreferenceControllerTest { mController = new MediaVibrationIntensityPreferenceController(mContext, PREFERENCE_KEY, Vibrator.VIBRATION_INTENSITY_HIGH); mLifecycle.addObserver(mController); - mPreference = new SeekBarPreference(mContext); + mPreference = new SliderPreference(mContext); mPreference.setSummary("Test summary"); when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); mController.displayPreference(mScreen); @@ -100,7 +100,7 @@ public class MediaVibrationIntensityPreferenceControllerTest { mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo( + assertThat(mPreference.getValue()).isEqualTo( mVibrator.getDefaultVibrationIntensity(VibrationAttributes.USAGE_MEDIA)); } @@ -110,17 +110,17 @@ public class MediaVibrationIntensityPreferenceControllerTest { when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_VIBRATE); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); } @@ -128,25 +128,25 @@ public class MediaVibrationIntensityPreferenceControllerTest { public void updateState_shouldDisplayIntensityInSliderPosition() { updateSetting(Settings.System.MEDIA_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); updateSetting(Settings.System.MEDIA_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(Settings.System.MEDIA_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_LOW); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(Settings.System.MEDIA_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test - public void setProgress_updatesIntensitySetting() throws Exception { + public void setSliderPosition_updatesIntensitySetting() throws Exception { mController.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF); assertThat(readSetting(Settings.System.MEDIA_VIBRATION_INTENSITY)) .isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); diff --git a/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationIntensityPreferenceControllerTest.java index a9bd2d06bad..f372bb8c34b 100644 --- a/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationIntensityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationIntensityPreferenceControllerTest.java @@ -30,10 +30,11 @@ import android.provider.Settings; import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; +import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor; -import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.SliderPreference; import org.junit.Before; import org.junit.Test; @@ -56,7 +57,7 @@ public class NotificationVibrationIntensityPreferenceControllerTest { private Context mContext; private Vibrator mVibrator; private NotificationVibrationIntensityPreferenceController mController; - private SeekBarPreference mPreference; + private SliderPreference mPreference; @Before public void setUp() { @@ -69,7 +70,7 @@ public class NotificationVibrationIntensityPreferenceControllerTest { mController = new NotificationVibrationIntensityPreferenceController(mContext, PREFERENCE_KEY, Vibrator.VIBRATION_INTENSITY_HIGH); mLifecycle.addObserver(mController); - mPreference = new SeekBarPreference(mContext); + mPreference = new SliderPreference(mContext); mPreference.setSummary("Test summary"); when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); mController.displayPreference(mScreen); @@ -89,7 +90,7 @@ public class NotificationVibrationIntensityPreferenceControllerTest { Settings.System.putString(mContext.getContentResolver(), Settings.System.NOTIFICATION_VIBRATION_INTENSITY, /* value= */ null); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo( + assertThat(mPreference.getValue()).isEqualTo( mVibrator.getDefaultVibrationIntensity(VibrationAttributes.USAGE_NOTIFICATION)); } @@ -101,22 +102,21 @@ public class NotificationVibrationIntensityPreferenceControllerTest { when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.getSummary()).isNull(); assertThat(mPreference.isEnabled()).isTrue(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); - // TODO(b/136805769): summary is broken in SeekBarPreference, enable this once fixed -// assertThat(mPreference.getSummary()).isNotNull(); -// assertThat(mPreference.getSummary().toString()).isEqualTo(mContext.getString( -// R.string.accessibility_vibration_setting_disabled_for_silent_mode_summary)); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getSummary()).isNotNull(); + assertThat(mPreference.getSummary().toString()).isEqualTo(mContext.getString( + R.string.accessibility_vibration_setting_disabled_for_silent_mode_summary)); assertThat(mPreference.isEnabled()).isFalse(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_VIBRATE); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.getSummary()).isNull(); assertThat(mPreference.isEnabled()).isTrue(); } @@ -126,27 +126,27 @@ public class NotificationVibrationIntensityPreferenceControllerTest { updateSetting(Settings.System.NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); updateSetting(Settings.System.NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(Settings.System.NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_LOW); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(Settings.System.NOTIFICATION_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test - public void setProgress_updatesIntensitySetting() throws Exception { + public void setSliderPosition_updatesIntensitySetting() throws Exception { mController.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF); assertThat(readSetting(Settings.System.NOTIFICATION_VIBRATION_INTENSITY)) .isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); diff --git a/tests/robotests/src/com/android/settings/accessibility/RingVibrationIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/RingVibrationIntensityPreferenceControllerTest.java index 67f643ac30c..ac218ffc891 100644 --- a/tests/robotests/src/com/android/settings/accessibility/RingVibrationIntensityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/RingVibrationIntensityPreferenceControllerTest.java @@ -30,10 +30,11 @@ import android.provider.Settings; import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; +import com.android.settings.R; import com.android.settings.core.BasePreferenceController; import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor; -import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.SliderPreference; import org.junit.Before; import org.junit.Test; @@ -59,7 +60,7 @@ public class RingVibrationIntensityPreferenceControllerTest { private Context mContext; private Vibrator mVibrator; private RingVibrationIntensityPreferenceController mController; - private SeekBarPreference mPreference; + private SliderPreference mPreference; @Before public void setUp() { @@ -72,7 +73,7 @@ public class RingVibrationIntensityPreferenceControllerTest { mController = new RingVibrationIntensityPreferenceController(mContext, PREFERENCE_KEY, Vibrator.VIBRATION_INTENSITY_HIGH); mLifecycle.addObserver(mController); - mPreference = new SeekBarPreference(mContext); + mPreference = new SliderPreference(mContext); mPreference.setSummary("Test summary"); when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference); mController.displayPreference(mScreen); @@ -92,7 +93,7 @@ public class RingVibrationIntensityPreferenceControllerTest { Settings.System.putString(mContext.getContentResolver(), Settings.System.RING_VIBRATION_INTENSITY, /* value= */ null); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo( + assertThat(mPreference.getValue()).isEqualTo( mVibrator.getDefaultVibrationIntensity(VibrationAttributes.USAGE_RINGTONE)); } @@ -102,22 +103,21 @@ public class RingVibrationIntensityPreferenceControllerTest { when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_NORMAL); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.getSummary()).isNull(); assertThat(mPreference.isEnabled()).isTrue(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_SILENT); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); - // TODO(b/136805769): summary is broken in SeekBarPreference, enable this once fixed -// assertThat(mPreference.getSummary()).isNotNull(); -// assertThat(mPreference.getSummary().toString()).isEqualTo(mContext.getString( -// R.string.accessibility_vibration_setting_disabled_for_silent_mode_summary)); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getSummary()).isNotNull(); + assertThat(mPreference.getSummary().toString()).isEqualTo(mContext.getString( + R.string.accessibility_vibration_setting_disabled_for_silent_mode_summary)); assertThat(mPreference.isEnabled()).isFalse(); when(mAudioManager.getRingerModeInternal()).thenReturn(AudioManager.RINGER_MODE_VIBRATE); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.getSummary()).isNull(); assertThat(mPreference.isEnabled()).isTrue(); } @@ -129,44 +129,44 @@ public class RingVibrationIntensityPreferenceControllerTest { updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_LOW); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test public void updateState_shouldDisplayIntensityInSliderPosition() { updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_MEDIUM); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_LOW); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF); mController.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test - public void setProgress_updatesIntensityAndDependentSettings() throws Exception { + public void setSliderPosition_updatesIntensityAndDependentSettings() throws Exception { mController.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF); assertThat(readSetting(Settings.System.RING_VIBRATION_INTENSITY)) .isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); diff --git a/tests/robotests/src/com/android/settings/accessibility/VibrationIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/VibrationIntensityPreferenceControllerTest.java index 2508345b552..6716e361d16 100644 --- a/tests/robotests/src/com/android/settings/accessibility/VibrationIntensityPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/accessibility/VibrationIntensityPreferenceControllerTest.java @@ -29,8 +29,8 @@ import androidx.preference.PreferenceScreen; import androidx.test.core.app.ApplicationProvider; import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor; -import com.android.settings.widget.SeekBarPreference; import com.android.settingslib.core.lifecycle.Lifecycle; +import com.android.settingslib.widget.SliderPreference; import org.junit.Before; import org.junit.Test; @@ -70,7 +70,7 @@ public class VibrationIntensityPreferenceControllerTest { private Lifecycle mLifecycle; private Context mContext; private Vibrator mVibrator; - private SeekBarPreference mPreference; + private SliderPreference mPreference; @Before public void setUp() { @@ -85,7 +85,7 @@ public class VibrationIntensityPreferenceControllerTest { VibrationIntensityPreferenceController controller = createPreferenceController(3); Settings.System.putString(mContext.getContentResolver(), SETTING_KEY, /* value= */ null); controller.updateState(mPreference); - assertThat(mPreference.getProgress()) + assertThat(mPreference.getValue()) .isEqualTo(mVibrator.getDefaultVibrationIntensity(VIBRATION_USAGE)); } @@ -96,17 +96,17 @@ public class VibrationIntensityPreferenceControllerTest { updateSetting(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY, ON); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); updateSetting(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY, OFF); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); assertThat(mPreference.isEnabled()).isFalse(); updateSetting(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY, ON); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); assertThat(mPreference.isEnabled()).isTrue(); } @@ -116,19 +116,19 @@ public class VibrationIntensityPreferenceControllerTest { updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_HIGH); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_HIGH); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_MEDIUM); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_LOW); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_OFF); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test @@ -137,19 +137,19 @@ public class VibrationIntensityPreferenceControllerTest { updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_HIGH); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_MEDIUM); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_MEDIUM); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_LOW); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_OFF); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test @@ -158,39 +158,39 @@ public class VibrationIntensityPreferenceControllerTest { updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_HIGH); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_MEDIUM); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_LOW); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_OFF); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test - public void setProgress_mainSwitchDisabled_ignoresUpdates() throws Exception { + public void setSliderPosition_mainSwitchDisabled_ignoresUpdates() throws Exception { VibrationIntensityPreferenceController controller = createPreferenceController(3); updateSetting(SETTING_KEY, Vibrator.VIBRATION_INTENSITY_LOW); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); updateSetting(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY, OFF); controller.updateState(mPreference); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); assertThat(mPreference.isEnabled()).isFalse(); assertThat(controller.setSliderPosition(Vibrator.VIBRATION_INTENSITY_HIGH)).isFalse(); assertThat(readSetting(SETTING_KEY)).isEqualTo(Vibrator.VIBRATION_INTENSITY_LOW); - assertThat(mPreference.getProgress()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); + assertThat(mPreference.getValue()).isEqualTo(Vibrator.VIBRATION_INTENSITY_OFF); } @Test - public void setProgress_allSupportedPositions_updatesIntensitySetting() throws Exception { + public void setSliderPosition_allSupportedPositions_updatesIntensitySetting() throws Exception { VibrationIntensityPreferenceController controller = createPreferenceController(3); controller.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF); @@ -207,7 +207,8 @@ public class VibrationIntensityPreferenceControllerTest { } @Test - public void setProgress_twoSupportedPositions_updatesMediumPositionToHigh() throws Exception { + public void setSliderPosition_twoSupportedPositions_updatesMediumPositionToHigh() + throws Exception { VibrationIntensityPreferenceController controller = createPreferenceController(2); controller.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF); @@ -224,7 +225,7 @@ public class VibrationIntensityPreferenceControllerTest { } @Test - public void setProgress_oneSupportedPosition_updatesOnPositionsToDeviceDefault() + public void setSliderPosition_oneSupportedPosition_updatesOnPositionsToDeviceDefault() throws Exception { int defaultIntensity = mVibrator.getDefaultVibrationIntensity(VIBRATION_USAGE); VibrationIntensityPreferenceController controller = createPreferenceController(1); @@ -255,7 +256,7 @@ public class VibrationIntensityPreferenceControllerTest { VibrationIntensityPreferenceController controller = new TestPreferenceController(mContext, supportedIntensityLevels); mLifecycle.addObserver(controller); - mPreference = new SeekBarPreference(mContext); + mPreference = new SliderPreference(mContext); mPreference.setSummary("Test summary"); when(mScreen.findPreference(controller.getPreferenceKey())).thenReturn(mPreference); controller.displayPreference(mScreen);