Merge "Add check for Vibration RingerMode in VibratorService" into nyc-dev

This commit is contained in:
Brad Ebinger
2016-05-20 22:53:26 +00:00
committed by Android (Google) Code Review

View File

@@ -24,6 +24,7 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.database.ContentObserver; import android.database.ContentObserver;
import android.hardware.input.InputManager; import android.hardware.input.InputManager;
import android.media.AudioManager;
import android.os.BatteryStats; import android.os.BatteryStats;
import android.os.Handler; import android.os.Handler;
import android.os.IVibratorService; import android.os.IVibratorService;
@@ -454,9 +455,8 @@ public class VibratorService extends IVibratorService.Stub
return; return;
} }
if (vib.mUsageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE if (vib.mUsageHint == AudioAttributes.USAGE_NOTIFICATION_RINGTONE &&
&& Settings.System.getInt( !shouldVibrateForRingtone()) {
mContext.getContentResolver(), Settings.System.VIBRATE_WHEN_RINGING, 0) == 0) {
return; return;
} }
@@ -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() { private void reportFinishVibrationLocked() {
if (mCurrentVibration != null) { if (mCurrentVibration != null) {
try { try {