Loading core/java/android/view/PhoneWindow.java +6 −5 Original line number Diff line number Diff line Loading @@ -1759,7 +1759,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } else { MediaSessionLegacyHelper.getHelper(getContext()).sendAdjustVolumeBy( mVolumeControlStreamType, direction, AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE); AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE | AudioManager.FLAG_FROM_KEY); } return true; } Loading Loading @@ -1837,15 +1838,15 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: { final int flags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE | AudioManager.FLAG_FROM_KEY; // If we have a session send it the volume command, otherwise // use the suggested stream. if (mMediaController != null) { mMediaController.adjustVolume(0, AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE); mMediaController.adjustVolume(0, flags); } else { MediaSessionLegacyHelper.getHelper(getContext()).sendAdjustVolumeBy( mVolumeControlStreamType, 0, AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE); mVolumeControlStreamType, 0, flags); } return true; } Loading media/java/android/media/AudioManager.java +7 −0 Original line number Diff line number Diff line Loading @@ -438,6 +438,12 @@ public class AudioManager { */ public static final int FLAG_SHOW_VIBRATE_HINT = 1 << 11; /** * Adjusting the volume due to a hardware key press. * @hide */ public static final int FLAG_FROM_KEY = 1 << 12; private static final String[] FLAG_NAMES = { "FLAG_SHOW_UI", "FLAG_ALLOW_RINGER_MODES", Loading @@ -451,6 +457,7 @@ public class AudioManager { "FLAG_ACTIVE_MEDIA_ONLY", "FLAG_SHOW_UI_WARNINGS", "FLAG_SHOW_VIBRATE_HINT", "FLAG_FROM_KEY", }; /** @hide */ Loading media/java/android/media/session/MediaSessionLegacyHelper.java +4 −4 Original line number Diff line number Diff line Loading @@ -197,17 +197,17 @@ public class MediaSessionLegacyHelper { break; } if (down || up) { int flags; int flags = AudioManager.FLAG_FROM_KEY; if (musicOnly) { // This flag is used when the screen is off to only affect // active media flags = AudioManager.FLAG_ACTIVE_MEDIA_ONLY; flags |= AudioManager.FLAG_ACTIVE_MEDIA_ONLY; } else { // These flags are consistent with the home screen if (up) { flags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE; flags |= AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE; } else { flags = AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE; flags |= AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE; } } if (direction != 0) { Loading services/core/java/com/android/server/policy/PhoneWindowManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -4930,7 +4930,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { return; } int keyCode = event.getKeyCode(); int flags = AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_PLAY_SOUND; int flags = AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_FROM_KEY; String pkgName = mContext.getOpPackageName(); switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: Loading Loading
core/java/android/view/PhoneWindow.java +6 −5 Original line number Diff line number Diff line Loading @@ -1759,7 +1759,8 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } else { MediaSessionLegacyHelper.getHelper(getContext()).sendAdjustVolumeBy( mVolumeControlStreamType, direction, AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE); AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE | AudioManager.FLAG_FROM_KEY); } return true; } Loading Loading @@ -1837,15 +1838,15 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: { final int flags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE | AudioManager.FLAG_FROM_KEY; // If we have a session send it the volume command, otherwise // use the suggested stream. if (mMediaController != null) { mMediaController.adjustVolume(0, AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE); mMediaController.adjustVolume(0, flags); } else { MediaSessionLegacyHelper.getHelper(getContext()).sendAdjustVolumeBy( mVolumeControlStreamType, 0, AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE); mVolumeControlStreamType, 0, flags); } return true; } Loading
media/java/android/media/AudioManager.java +7 −0 Original line number Diff line number Diff line Loading @@ -438,6 +438,12 @@ public class AudioManager { */ public static final int FLAG_SHOW_VIBRATE_HINT = 1 << 11; /** * Adjusting the volume due to a hardware key press. * @hide */ public static final int FLAG_FROM_KEY = 1 << 12; private static final String[] FLAG_NAMES = { "FLAG_SHOW_UI", "FLAG_ALLOW_RINGER_MODES", Loading @@ -451,6 +457,7 @@ public class AudioManager { "FLAG_ACTIVE_MEDIA_ONLY", "FLAG_SHOW_UI_WARNINGS", "FLAG_SHOW_VIBRATE_HINT", "FLAG_FROM_KEY", }; /** @hide */ Loading
media/java/android/media/session/MediaSessionLegacyHelper.java +4 −4 Original line number Diff line number Diff line Loading @@ -197,17 +197,17 @@ public class MediaSessionLegacyHelper { break; } if (down || up) { int flags; int flags = AudioManager.FLAG_FROM_KEY; if (musicOnly) { // This flag is used when the screen is off to only affect // active media flags = AudioManager.FLAG_ACTIVE_MEDIA_ONLY; flags |= AudioManager.FLAG_ACTIVE_MEDIA_ONLY; } else { // These flags are consistent with the home screen if (up) { flags = AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE; flags |= AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_VIBRATE; } else { flags = AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE; flags |= AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_VIBRATE; } } if (direction != 0) { Loading
services/core/java/com/android/server/policy/PhoneWindowManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -4930,7 +4930,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { return; } int keyCode = event.getKeyCode(); int flags = AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_PLAY_SOUND; int flags = AudioManager.FLAG_SHOW_UI | AudioManager.FLAG_PLAY_SOUND | AudioManager.FLAG_FROM_KEY; String pkgName = mContext.getOpPackageName(); switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: Loading