diff options
author | 2020-11-13 16:15:45 +0000 | |
---|---|---|
committer | 2020-11-13 18:17:26 +0000 | |
commit | 54ae227efbc766de73fe06b13faef37f1fe57fdd (patch) | |
tree | fc7465b8e0c3075fb3385a85213552e721dcd329 | |
parent | 6b83aec26ffaf3a270a4e306772eae68d8d6b98b (diff) |
Fix flaky VibratorSettingsTest
Remove calls to AudioManager.reloadAudioSettings that could change ring
mode during the test execution.
Fix: 173113971
Test: atest FrameworksServicesTests:VibrationSettingsTest
Change-Id: I1ae8a984071f7cb308e7a3c584bda9424b0a01d7
3 files changed, 20 insertions, 28 deletions
diff --git a/services/core/java/com/android/server/vibrator/VibrationSettings.java b/services/core/java/com/android/server/vibrator/VibrationSettings.java index ad2b3354b530..06a1f599f491 100644 --- a/services/core/java/com/android/server/vibrator/VibrationSettings.java +++ b/services/core/java/com/android/server/vibrator/VibrationSettings.java @@ -152,8 +152,8 @@ public final class VibrationSettings { /** * Return {@code true} if the device should vibrate for ringtones. * - * <p>This checks the current {@link AudioManager#getRingerMode()} against user settings for - * vibrations while ringing. + * <p>This checks the current {@link AudioManager#getRingerModeInternal()} against user settings + * for vibrations while ringing. */ public boolean shouldVibrateForRingtone() { int ringerMode = mAudioManager.getRingerModeInternal(); diff --git a/services/tests/servicestests/src/com/android/server/VibratorServiceTest.java b/services/tests/servicestests/src/com/android/server/VibratorServiceTest.java index 5ddb5712884b..c1f83cbb77c5 100644 --- a/services/tests/servicestests/src/com/android/server/VibratorServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/VibratorServiceTest.java @@ -806,7 +806,7 @@ public class VibratorServiceTest { private void setRingerMode(int ringerMode) { AudioManager audioManager = mContextSpy.getSystemService(AudioManager.class); audioManager.setRingerModeInternal(ringerMode); - assertEquals(ringerMode, audioManager.getRingerMode()); + assertEquals(ringerMode, audioManager.getRingerModeInternal()); } private void setUserSetting(String settingName, int value) { diff --git a/services/tests/servicestests/src/com/android/server/vibrator/VibrationSettingsTest.java b/services/tests/servicestests/src/com/android/server/vibrator/VibrationSettingsTest.java index 8aa0e3fec60f..2cc999283184 100644 --- a/services/tests/servicestests/src/com/android/server/vibrator/VibrationSettingsTest.java +++ b/services/tests/servicestests/src/com/android/server/vibrator/VibrationSettingsTest.java @@ -133,20 +133,16 @@ public class VibrationSettingsTest { public void shouldVibrateForRingtones_withVibrateWhenRinging_onlyIgnoreSettingsForSilentMode() { setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 1); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_SILENT); - assertEquals(AudioManager.RINGER_MODE_SILENT, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_SILENT); assertFalse(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_MAX); - assertEquals(AudioManager.RINGER_MODE_MAX, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_MAX); assertTrue(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL); - assertEquals(AudioManager.RINGER_MODE_NORMAL, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_NORMAL); assertTrue(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_VIBRATE); - assertEquals(AudioManager.RINGER_MODE_VIBRATE, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_VIBRATE); assertTrue(mVibrationSettings.shouldVibrateForRingtone()); } @@ -155,20 +151,16 @@ public class VibrationSettingsTest { setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0); setGlobalSetting(Settings.Global.APPLY_RAMPING_RINGER, 1); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_SILENT); - assertEquals(AudioManager.RINGER_MODE_SILENT, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_SILENT); assertFalse(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_MAX); - assertEquals(AudioManager.RINGER_MODE_MAX, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_MAX); assertTrue(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL); - assertEquals(AudioManager.RINGER_MODE_NORMAL, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_NORMAL); assertTrue(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_VIBRATE); - assertEquals(AudioManager.RINGER_MODE_VIBRATE, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_VIBRATE); assertTrue(mVibrationSettings.shouldVibrateForRingtone()); } @@ -177,20 +169,16 @@ public class VibrationSettingsTest { setUserSetting(Settings.System.VIBRATE_WHEN_RINGING, 0); setGlobalSetting(Settings.Global.APPLY_RAMPING_RINGER, 0); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_VIBRATE); - assertEquals(AudioManager.RINGER_MODE_VIBRATE, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_VIBRATE); assertTrue(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_SILENT); - assertEquals(AudioManager.RINGER_MODE_SILENT, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_SILENT); assertFalse(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_MAX); - assertEquals(AudioManager.RINGER_MODE_MAX, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_MAX); assertFalse(mVibrationSettings.shouldVibrateForRingtone()); - mAudioManager.setRingerModeInternal(AudioManager.RINGER_MODE_NORMAL); - assertEquals(AudioManager.RINGER_MODE_NORMAL, mAudioManager.getRingerMode()); + setRingerMode(AudioManager.RINGER_MODE_NORMAL); assertFalse(mVibrationSettings.shouldVibrateForRingtone()); } @@ -294,6 +282,10 @@ public class VibrationSettingsTest { Settings.Global.putInt(mContextSpy.getContentResolver(), settingName, value); // FakeSettingsProvider don't support testing triggering ContentObserver yet. mVibrationSettings.updateSettings(); - mAudioManager.reloadAudioSettings(); + } + + private void setRingerMode(int ringerMode) { + mAudioManager.setRingerModeInternal(ringerMode); + assertEquals(ringerMode, mAudioManager.getRingerModeInternal()); } } |