Loading services/core/java/com/android/server/vibrator/VibrationSettings.java +4 −4 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ final class VibrationSettings { @GuardedBy("mLock") private boolean mKeyboardVibrationOn; @GuardedBy("mLock") private int mRingerMode; private int mRingerMode = AudioManager.RINGER_MODE_NORMAL; @GuardedBy("mLock") private boolean mOnWirelessCharger; Loading Loading @@ -236,7 +236,7 @@ final class VibrationSettings { public void onSystemReady() { PowerManagerInternal pm = LocalServices.getService(PowerManagerInternal.class); AudioManager am = mContext.getSystemService(AudioManager.class); int ringerMode = am.getRingerModeInternal(); int ringerMode = (am == null) ? mRingerMode : am.getRingerModeInternal(); synchronized (mLock) { mPowerManagerInternal = pm; Loading Loading @@ -616,10 +616,10 @@ final class VibrationSettings { private void updateRingerMode() { synchronized (mLock) { // If audio manager was not loaded yet then assume most restrictive mode. // If audio manager was not loaded yet then assume normal mode. // This will be loaded again as soon as the audio manager is loaded in onSystemReady. mRingerMode = (mAudioManager == null) ? AudioManager.RINGER_MODE_SILENT ? AudioManager.RINGER_MODE_NORMAL : mAudioManager.getRingerModeInternal(); } } Loading services/tests/vibrator/src/com/android/server/vibrator/VibrationSettingsTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -202,6 +202,7 @@ public class VibrationSettingsTest { removeServicesForTest(); LocalServices.addService(PowerManagerInternal.class, mPowerManagerInternalMock); LocalServices.addService(PackageManagerInternal.class, mPackageManagerInternalMock); when(mContextSpy.getSystemService(eq(Context.AUDIO_SERVICE))).thenReturn(null); VibrationSettings minimalVibrationSettings = new VibrationSettings(mContextSpy, new Handler(mTestLooper.getLooper()), mVibrationConfigMock); Loading Loading @@ -461,6 +462,16 @@ public class VibrationSettingsTest { } } @Test public void shouldIgnoreVibration_withoutAudioManager_allowsAllVibrations() { when(mContextSpy.getSystemService(eq(Context.AUDIO_SERVICE))).thenReturn(null); createSystemReadyVibrationSettings(); for (int usage : ALL_USAGES) { assertVibrationNotIgnoredForUsage(usage); } } @Test public void shouldIgnoreVibration_vibrateOnDisabled_ignoresUsagesNotAccessibility() { Loading Loading
services/core/java/com/android/server/vibrator/VibrationSettings.java +4 −4 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ final class VibrationSettings { @GuardedBy("mLock") private boolean mKeyboardVibrationOn; @GuardedBy("mLock") private int mRingerMode; private int mRingerMode = AudioManager.RINGER_MODE_NORMAL; @GuardedBy("mLock") private boolean mOnWirelessCharger; Loading Loading @@ -236,7 +236,7 @@ final class VibrationSettings { public void onSystemReady() { PowerManagerInternal pm = LocalServices.getService(PowerManagerInternal.class); AudioManager am = mContext.getSystemService(AudioManager.class); int ringerMode = am.getRingerModeInternal(); int ringerMode = (am == null) ? mRingerMode : am.getRingerModeInternal(); synchronized (mLock) { mPowerManagerInternal = pm; Loading Loading @@ -616,10 +616,10 @@ final class VibrationSettings { private void updateRingerMode() { synchronized (mLock) { // If audio manager was not loaded yet then assume most restrictive mode. // If audio manager was not loaded yet then assume normal mode. // This will be loaded again as soon as the audio manager is loaded in onSystemReady. mRingerMode = (mAudioManager == null) ? AudioManager.RINGER_MODE_SILENT ? AudioManager.RINGER_MODE_NORMAL : mAudioManager.getRingerModeInternal(); } } Loading
services/tests/vibrator/src/com/android/server/vibrator/VibrationSettingsTest.java +11 −0 Original line number Diff line number Diff line Loading @@ -202,6 +202,7 @@ public class VibrationSettingsTest { removeServicesForTest(); LocalServices.addService(PowerManagerInternal.class, mPowerManagerInternalMock); LocalServices.addService(PackageManagerInternal.class, mPackageManagerInternalMock); when(mContextSpy.getSystemService(eq(Context.AUDIO_SERVICE))).thenReturn(null); VibrationSettings minimalVibrationSettings = new VibrationSettings(mContextSpy, new Handler(mTestLooper.getLooper()), mVibrationConfigMock); Loading Loading @@ -461,6 +462,16 @@ public class VibrationSettingsTest { } } @Test public void shouldIgnoreVibration_withoutAudioManager_allowsAllVibrations() { when(mContextSpy.getSystemService(eq(Context.AUDIO_SERVICE))).thenReturn(null); createSystemReadyVibrationSettings(); for (int usage : ALL_USAGES) { assertVibrationNotIgnoredForUsage(usage); } } @Test public void shouldIgnoreVibration_vibrateOnDisabled_ignoresUsagesNotAccessibility() { Loading