diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java | 25 | ||||
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java | 20 |
2 files changed, 22 insertions, 23 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java index a97effd3a023..b360edcb8d0d 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java @@ -17,6 +17,8 @@ package com.android.systemui.volume; import static android.media.AudioManager.RINGER_MODE_NORMAL; +import static android.media.AudioManager.RINGER_MODE_SILENT; +import static android.media.AudioManager.RINGER_MODE_VIBRATE; import android.app.NotificationManager; import android.content.BroadcastReceiver; @@ -581,11 +583,28 @@ public class VolumeDialogControllerImpl implements VolumeDialogController, Dumpa mState.ringerModeInternal = rm; Events.writeEvent(mContext, Events.EVENT_INTERNAL_RINGER_MODE_CHANGED, rm); - if (mState.ringerModeInternal == RINGER_MODE_NORMAL) { - playTouchFeedback(); + provideFeedback(mState.ringerModeInternal); + return true; + } + + private void provideFeedback(int newRingerMode) { + VibrationEffect effect = null; + switch (newRingerMode) { + case RINGER_MODE_NORMAL: + scheduleTouchFeedback(); + playTouchFeedback(); + break; + case RINGER_MODE_SILENT: + effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK); + break; + case RINGER_MODE_VIBRATE: + default: + effect = VibrationEffect.get(VibrationEffect.EFFECT_DOUBLE_CLICK); } - return true; + if (effect != null) { + vibrate(effect); + } } private void onSetRingerModeW(int mode, boolean external) { diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java index 6b322c72936c..2cff00c449d3 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java @@ -446,32 +446,12 @@ public class VolumeDialogImpl implements VolumeDialog { } Events.writeEvent(mContext, Events.EVENT_RINGER_TOGGLE, newRingerMode); updateRingerH(); - provideTouchFeedbackH(newRingerMode); mController.setRingerMode(newRingerMode, false); maybeShowToastH(newRingerMode); }); updateRingerH(); } - - private void provideTouchFeedbackH(int newRingerMode) { - VibrationEffect effect = null; - switch (newRingerMode) { - case RINGER_MODE_NORMAL: - mController.scheduleTouchFeedback(); - break; - case RINGER_MODE_SILENT: - effect = VibrationEffect.get(VibrationEffect.EFFECT_CLICK); - break; - case RINGER_MODE_VIBRATE: - default: - effect = VibrationEffect.get(VibrationEffect.EFFECT_DOUBLE_CLICK); - } - if (effect != null) { - mController.vibrate(effect); - } - } - private void maybeShowToastH(int newRingerMode) { int seenToastCount = Prefs.getInt(mContext, Prefs.Key.SEEN_RINGER_GUIDANCE_COUNT, 0); |