Loading core/java/android/provider/Settings.java +11 −0 Original line number Diff line number Diff line Loading @@ -1278,6 +1278,17 @@ public final class Settings { public static final String NOTIFICATIONS_USE_RING_VOLUME = "notifications_use_ring_volume"; /** * Whether silent mode should allow vibration feedback. This is used * internally in AudioService and the Sound settings activity to * coordinate decoupling of vibrate and silent modes. This setting * will likely be removed in a future release with support for * audio/vibe feedback profiles. * * @hide */ public static final String VIBRATE_IN_SILENT = "vibrate_in_silent"; /** * The mapping of stream type (integer) to its setting. */ Loading core/res/res/drawable-hdpi/ic_jog_dial_vibrate_on.png 0 → 100644 +8.16 KiB Loading image diff... core/res/res/drawable-mdpi/ic_jog_dial_vibrate_on.png 0 → 100644 +4.7 KiB Loading image diff... media/java/android/media/AudioService.java +11 −9 Original line number Diff line number Diff line Loading @@ -901,18 +901,20 @@ public class AudioService extends IAudioService.Stub { boolean adjustVolumeIndex = true; int newRingerMode = mRingerMode; if (mRingerMode == AudioManager.RINGER_MODE_NORMAL && (oldIndex + 5) / 10 == 1 && direction == AudioManager.ADJUST_LOWER) { newRingerMode = AudioManager.RINGER_MODE_VIBRATE; } else if (mRingerMode == AudioManager.RINGER_MODE_VIBRATE) { if (mRingerMode == AudioManager.RINGER_MODE_NORMAL) { // audible mode, at the bottom of the scale if (direction == AudioManager.ADJUST_LOWER && (oldIndex + 5) / 10 == 1) { // "silent mode", but which one? newRingerMode = System.getInt(mContentResolver, System.VIBRATE_IN_SILENT, 1) == 1 ? AudioManager.RINGER_MODE_VIBRATE : AudioManager.RINGER_MODE_SILENT; } } else { if (direction == AudioManager.ADJUST_RAISE) { // exiting silent mode newRingerMode = AudioManager.RINGER_MODE_NORMAL; } else if (direction == AudioManager.ADJUST_LOWER) { newRingerMode = AudioManager.RINGER_MODE_SILENT; } } else if (direction == AudioManager.ADJUST_RAISE && mRingerMode == AudioManager.RINGER_MODE_SILENT) { newRingerMode = AudioManager.RINGER_MODE_VIBRATE; } if (newRingerMode != mRingerMode) { Loading Loading
core/java/android/provider/Settings.java +11 −0 Original line number Diff line number Diff line Loading @@ -1278,6 +1278,17 @@ public final class Settings { public static final String NOTIFICATIONS_USE_RING_VOLUME = "notifications_use_ring_volume"; /** * Whether silent mode should allow vibration feedback. This is used * internally in AudioService and the Sound settings activity to * coordinate decoupling of vibrate and silent modes. This setting * will likely be removed in a future release with support for * audio/vibe feedback profiles. * * @hide */ public static final String VIBRATE_IN_SILENT = "vibrate_in_silent"; /** * The mapping of stream type (integer) to its setting. */ Loading
media/java/android/media/AudioService.java +11 −9 Original line number Diff line number Diff line Loading @@ -901,18 +901,20 @@ public class AudioService extends IAudioService.Stub { boolean adjustVolumeIndex = true; int newRingerMode = mRingerMode; if (mRingerMode == AudioManager.RINGER_MODE_NORMAL && (oldIndex + 5) / 10 == 1 && direction == AudioManager.ADJUST_LOWER) { newRingerMode = AudioManager.RINGER_MODE_VIBRATE; } else if (mRingerMode == AudioManager.RINGER_MODE_VIBRATE) { if (mRingerMode == AudioManager.RINGER_MODE_NORMAL) { // audible mode, at the bottom of the scale if (direction == AudioManager.ADJUST_LOWER && (oldIndex + 5) / 10 == 1) { // "silent mode", but which one? newRingerMode = System.getInt(mContentResolver, System.VIBRATE_IN_SILENT, 1) == 1 ? AudioManager.RINGER_MODE_VIBRATE : AudioManager.RINGER_MODE_SILENT; } } else { if (direction == AudioManager.ADJUST_RAISE) { // exiting silent mode newRingerMode = AudioManager.RINGER_MODE_NORMAL; } else if (direction == AudioManager.ADJUST_LOWER) { newRingerMode = AudioManager.RINGER_MODE_SILENT; } } else if (direction == AudioManager.ADJUST_RAISE && mRingerMode == AudioManager.RINGER_MODE_SILENT) { newRingerMode = AudioManager.RINGER_MODE_VIBRATE; } if (newRingerMode != mRingerMode) { Loading