Loading services/core/java/com/android/server/VibratorService.java +15 −3 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.content.IntentFilter; import android.content.pm.PackageManager; import android.database.ContentObserver; import android.hardware.input.InputManager; import android.media.AudioManager; import android.os.BatteryStats; import android.os.Handler; import android.os.IVibratorService; Loading Loading @@ -454,9 +455,8 @@ public class VibratorService extends IVibratorService.Stub return; } if (vib.mUsageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE && Settings.System.getInt( mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) == 0) { if (vib.mUsageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE && !shouldVibrateForRingtone()) { return; } Loading Loading @@ -486,6 +486,18 @@ public class VibratorService extends IVibratorService.Stub } } private boolean shouldVibrateForRingtone() { AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); int ringerMode = audioManager.getRingerMode(); // "Also vibrate for calls" Setting in Sound if (Settings.System.getInt( mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) != 0) { return ringerMode != AudioManager.RINGER_MODE_SILENT; } else { return ringerMode == AudioManager.RINGER_MODE_VIBRATE; } } private void reportFinishVibrationLocked() { if (mCurrentVibration != null) { try { Loading Loading
services/core/java/com/android/server/VibratorService.java +15 −3 Original line number Diff line number Diff line Loading @@ -24,6 +24,7 @@ import android.content.IntentFilter; import android.content.pm.PackageManager; import android.database.ContentObserver; import android.hardware.input.InputManager; import android.media.AudioManager; import android.os.BatteryStats; import android.os.Handler; import android.os.IVibratorService; Loading Loading @@ -454,9 +455,8 @@ public class VibratorService extends IVibratorService.Stub return; } if (vib.mUsageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE && Settings.System.getInt( mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) == 0) { if (vib.mUsageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE && !shouldVibrateForRingtone()) { return; } Loading Loading @@ -486,6 +486,18 @@ public class VibratorService extends IVibratorService.Stub } } private boolean shouldVibrateForRingtone() { AudioManager audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); int ringerMode = audioManager.getRingerMode(); // "Also vibrate for calls" Setting in Sound if (Settings.System.getInt( mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) != 0) { return ringerMode != AudioManager.RINGER_MODE_SILENT; } else { return ringerMode == AudioManager.RINGER_MODE_VIBRATE; } } private void reportFinishVibrationLocked() { if (mCurrentVibration != null) { try { Loading