History log of /frameworks/base/core/java/android/view/VolumePanel.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fa9a69805b001034aa04c3b33989a7ac21522371 28-Jun-2013 Jean-Michel Trivi <jmtrivi@google.com> Refactor for audio focus, remote control, media button handling

Extract audio focus, remote control and media button handling
outside of AudioService without any changes in functionality.
Moving logic to new class, MediaFocusControl.
Introduce interface for managing volum control logic, VolumeController.
The VolumePanel class implements this interface.

Change-Id: I72bda2e0670c26e61ff076fd729c15f9f1156dc5
/frameworks/base/core/java/android/view/VolumePanel.java
8a51acae5d8ec50786cbe3b9079092811da8fadc 26-Mar-2013 Eric Laurent <elaurent@google.com> Display vibrate icon in volume panel

When a tablet is in vibrate mode, the notification
volume icon in the expanded volume panel should
be vibrate and not silent.

Bug 7235006

Change-Id: I150c1f0f571e3910ebae57442a75740cef00341e
/frameworks/base/core/java/android/view/VolumePanel.java
9003007d35c6ae1cdeac4ca831a036292b7089e9 11-Jan-2013 Fabrice Di Meglio <fdimeglio@google.com> Merge "Fix Volume icons for RTL languages"
891d3fbb15683e72432af16e571f41f566d5fdf0 10-Jan-2013 Dianne Hackborn <hackbod@google.com> Fix issue #7966357: Super lights out mode vs. volume dialog

The volume panel now forces us out of the UI modes while it
is up.

Change-Id: I25f29af5b6518aba695b64a75977ae240b742118
/frameworks/base/core/java/android/view/VolumePanel.java
8c02884c8c3c97cdc2366ac187c8a326308b895b 10-Jan-2013 Fabrice Di Meglio <fdimeglio@google.com> Fix Volume icons for RTL languages

- add mirrored version of the icons
- make VolumePanel respond to layout direction changes
- make AudioService propagate layout direction changes to the VolumePanel

Change-Id: Ibb884ab81641c319a9b7bea1381066f3f19581f0
/frameworks/base/core/java/android/view/VolumePanel.java
fde16d5879ea88a971004c984093409468b6139c 03-Dec-2012 Eric Laurent <elaurent@google.com> more fixes on safe volume warning message

Fixes the following problems with safe headphone volume warning message:
- Do not display the warning dialog when screen is off.
- Use the same 3 second timeout as for the volume slider to dismiss the dialog.
- Do not dismiss the warning dialog when touching outside of the slider window
but inside the warning window.
- Disable the volume slider when the warning message is displayed.
- When setting volume directly (touching the volume slider), and the warning
is displayed, save the requested volume and apply it if acknowledged by the user.
- Do not display the warning message when restoring safe volume after 20h of
cumulative listenening

Bug 7658641.

Change-Id: Ib3d1315193a433dad918aa5df78fa071062b2394
/frameworks/base/core/java/android/view/VolumePanel.java
4bbcc6549738f3d69831b2bd9eb4accec3e9920e 24-Sep-2012 Eric Laurent <elaurent@google.com> Display a fixed volume silder when docked.

Align UI indication to volume policy when docked: the music volume
cannot be adjusted when docked or connected to HDMI. Display
a disabled slider at max volume in this case to be consistent.

Bug 4335692.

Change-Id: I6f8db143b0e2ecf54e4bdacd88afdeb661a98a18
/frameworks/base/core/java/android/view/VolumePanel.java
0516a9ecb0d4d76acd2f1c4c2521f44c696789a8 19-Sep-2012 Eric Laurent <elaurent@google.com> Fix safe volume warning message flickering

Do not display a new warning message when one is already showing.

Bug 7064975.

Change-Id: I920656c6d742a969c29e8f42a438ecbc794d1114
/frameworks/base/core/java/android/view/VolumePanel.java
b6397c71709d9129c889028e89899789c667c339 18-Sep-2012 Eric Laurent <elaurent@google.com> Update headphone volume safety warning message.

Change-Id: Ic2d5d9d247b76b6ede0f90b861c235c1c0f5dc08
/frameworks/base/core/java/android/view/VolumePanel.java
c34dcc1e1ebf152bb400abbb8bc25f7dc0c3ba97 10-Sep-2012 Eric Laurent <elaurent@google.com> headphone volume limitation

Limit music volume when headphones or headset are inserted.
Display warning message when user wants to increase the volume
above a platform specific volume and request user acknowledgement
before proceeding.

TODO: exact wording of the warning message must be defined by UX.

Change-Id: I00f429f602534c6d8783126b929371c4d432e6e2
/frameworks/base/core/java/android/view/VolumePanel.java
629f051f7d061f4db4a174dbd267a96f0c8113df 19-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> am 586b8ee6: am 2f442304: Merge "Remote volume handling" into jb-dev

* commit '586b8ee62e0245e3c88ce9db51e1c1c3b4f1fb2c':
Remote volume handling
3114ce3861f20f9a5c2c59dd2629197a1f4874a8 12-Jun-2012 Jean-Michel Trivi <jmtrivi@google.com> Remote volume handling

Extend RemoteControlClient class to enable an applicaton to
specify more information about how it's playing media, now covering
usecases where media playback happens "remotely". This playback
information can be used to set the volume and maximum volume
used remotely.
Declare a new intent and associated extras in Intent,
ACTION_VOLUME_UPDATE, so an application can be notified that
the volume it handles should be updated. It can then use
the new RemoteControlClient.setPlaybackInformation() method
to notify AudioService what the volume is.
Extend AudioService to maintain playback information associated
with the RemoteControlClient information in the stack of
media button event receivers (mRCStack). The information
about the active remote is cached so the stack doesn't have
to be iterated over in order to retrieve remote playback info.
Events to "adjust" the remote volume based on hardware key
presses cause the client application to be notified of
volume updates, and the volume panel to display the volume
set by the app.
Revise which stream type is controlled when none is specified
according to latest guidelines for remote playback.
Update VolumePanel class to support a new pseudo stream type,
AudioService.STREAM_REMOTE_MUSIC, that corresponds to the
remote playback volume, and uses the new "media route" icon.
Enable it to receive asynchronously new volume values for
the remote that will be displayed if the UI is still up,
and ignored otherwise.
Now supports hiding/showing sliders dynamically so remote
volume only appears when AudioService has a remote control
client handling remote volume.
Define new java symbols for the two media route icons.
Modify lockscreen behavior: don't automatically control music
volume when music is active, consider also remote playback.

Still to do:
- playback information set by RemoteControlClient should post
a message for AudioService to update playback information
instead of updating it synchronously

Change-Id: I557aa687239f9acfe33a609f05876c67fa7eb967
/frameworks/base/core/java/android/view/VolumePanel.java
30e4e88c91828d18f6e0cc9fd8011c2bd8877953 31-May-2012 Amith Yamasani <yamasani@google.com> am 2afe8252: am 4a3a9685: Merge "Protect volumepanel slider creation from race condition." into jb-dev

* commit '2afe8252addcf080d4752e85f6d0f21c930fde7f':
Protect volumepanel slider creation from race condition.
a654986978c870ed33af2ad696cd6e61d9fed489 31-May-2012 Amith Yamasani <yamasani@google.com> Protect volumepanel slider creation from race condition.

It is possible for 2 different threads to poke the mStreamControls at the same time,
causing the monkey bug mentioned in the bug report below.

Bug: 6411852

Couldn't think of any other reason Stream type 3 (MUSIC) wouldn't exist in the list.
It's possible that a programmatic call came in at the same time as the volume key press.

Synchronizing blocks where the mStreamControls are populated and accessed.

Change-Id: Ifedec6b0f8bad9634cb9e079fda785c433bdb7a7
/frameworks/base/core/java/android/view/VolumePanel.java
c0ed6efe5f9b3c06a1297592647bd52a0f84215a 25-May-2012 Christopher Tate <ctate@google.com> am 115284bc: Merge "Support volume-changed sounds on master-volume-only configs" into ics-aah

* commit '115284bc124ce2874f32ad36956f475959513388':
Support volume-changed sounds on master-volume-only configs
c4b78d206ffcdccac01e3436a4a3462bef9672ed 22-May-2012 Christopher Tate <ctate@google.com> Support volume-changed sounds on master-volume-only configs

Some products manipulate only the master volume, and the existing
code does not play volume-change tones when the master volume
is adjusted. This CL includes some config-driven behavior that
will play those tones (via the system stream) if desired.

Bug 6498986

Change-Id: I2415773325d0a0039efc67897bc371b1f2e18063
/frameworks/base/core/java/android/view/VolumePanel.java
8c78752f2bf786ca3e6f45b9dc6955d3b4bba59c 14-May-2012 Eric Laurent <elaurent@google.com> Implement new volume display policy.

Whenever a stream type is muted, the progress bar in volume panel
is at 0.
If a stream is muted by ringer mode and does not control ringer mode,
the progress bar is disabled.
Pressing VOL- when in vibrate or silent mode resets the last audible
volume of ringtone stream (music strem on tablets) to 0.

VolumePanel implementation:
- Always prefer AudioManager APIs over AudioService APIs when available on both.
- Do not use AudioManager.shouldVibrate() (deprecated).

Change-Id: I57fcb19ada4e8d729b6b41d668496562ebe340c3
/frameworks/base/core/java/android/view/VolumePanel.java
c2346134bb519a54d50655cbef940fc3fdec60a9 13-Apr-2012 Jeff Brown <jeffbrown@google.com> Extract Vibrator implementation from interface.

Moved the core logic of Vibrator into SystemVibrator, potentially
allowing for the creation of other Vibrator subclasses.

Fixed several places where we were creating new Vibrator
instances unnecessarily instead of getting it from the Context.

It is safe to make Vibrator abstract because its constructor
was hidden from the SDK so it was not possible to subclass it.

Bug: 6334179
Change-Id: I18ece6544c26a7efb2d5099f8346a10aef8a5e18
/frameworks/base/core/java/android/view/VolumePanel.java
ce952c8e13c535bedde77bcdb94dfcc7508475aa 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/view/VolumePanel.java
4767690f09ea3447b8c5c32fb28d27650aa18e00 08-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: transparently convert volume settings for other streams to master volume if config_useMasterVolume is set.

This allows Music2 and other media apps to control master volume without changing their code

Bug: 5567694

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/view/VolumePanel.java
8dc1dabd254249b7ddb8743e88fdb96580ffc585 27-Oct-2011 Mike Lockwood <lockwood@android.com> VolumePanel: Add support for master volume

Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/view/VolumePanel.java
8df96097686ed7d16a128d4eb9e08fb277dd3d11 09-Dec-2011 Amith Yamasani <yamasani@google.com> Show the current stream's volume in the volume panel.

Bug: 5409969

If the current stream being displayed is different from the
stream being adjusted, rearrange the sliders, unless multiple
sliders are being shown.

Change-Id: Ia48986c1046305d7fee7a32177d78d8ffd84a11b
/frameworks/base/core/java/android/view/VolumePanel.java
35991132d31287b2919c289ef9a7a3021999045e 01-Dec-2011 Amith Yamasani <yamasani@google.com> am e9b0608c: Merge "No clicking on volume icon in volume dialog." into ics-mr1

* commit 'e9b0608c76bd19356f3141358ffdf134b7a9700f':
No clicking on volume icon in volume dialog.
2b0acc90ae5a1133356b3af43d99056de1b3f626 30-Nov-2011 Amith Yamasani <yamasani@google.com> No clicking on volume icon in volume dialog.

Don't disable volume slider when it hits zero.
Show correct icon for Silent mode in Power menu.

Bug: 5586083
Change-Id: Iaa957fc08e314e0de1c007dfc967a1d960080aab
/frameworks/base/core/java/android/view/VolumePanel.java
cfbcd3bf21c8453e9afd7740fdb7fc272c362389 14-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: Add support for master mute

Change-Id: I98e87d1e266e0523c4aacb23cc5c4b3fdc7a1eac
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/view/VolumePanel.java
a2aa08e20cb4f1e302bb7ae05882cd1be8cfa0d2 08-Nov-2011 Mike Lockwood <lockwood@android.com> AudioManager: transparently convert volume settings for other streams to master volume if config_useMasterVolume is set.

This allows Music2 and other media apps to control master volume without changing their code

Bug: 5567694

Change-Id: I48b6260b193b22c395be5a31cd1d270b2929a91e
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/view/VolumePanel.java
92537e6ff21d4b20738fae851c2174ea568eb843 31-Oct-2011 Ed Heyl <ed@google.com> merged by hand (services/java/com/android/server/PowerManagerService.java needs to be reviewed)

Change-Id: I86d1111d86cd1646ebc8a88d58aa393089e9f928
c696a53d1fe4d61373c5dc64dd057d322da90c8f 29-Oct-2011 Amith Yamasani <yamasani@google.com> Bring back the old-style Ring/Vibrate/Silent states when using volume keys.

In order to completely mute the ringer (no vibrate), introduce an extra
state beyond mute, which mutes the vibrator as well, if it was enabled.

Bug: 5530217

Change-Id: Ib1f299ee6bbca56c1aa7e1100662591362d08307
/frameworks/base/core/java/android/view/VolumePanel.java
5020e7e2d37865da862846b97d9959e83244a35e 27-Oct-2011 Mike Lockwood <lockwood@android.com> VolumePanel: Add support for master volume

Change-Id: I3119eb2b7d3b5e7ce87f1660b50c10ab79c7bbdf
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/core/java/android/view/VolumePanel.java
92e1b2d37be8d3d76a55d0242b3cfab7fd8e449a 15-Oct-2011 Amith Yamasani <yamasani@google.com> Add alarm volume to the list of volumes in the volume overlay.

This will be used only for adjusting the alarm volume when an
alarm ringtone is being selected.

Bug: 5164828
Change-Id: Ia4a12b1946fb0715e97101bfd389c6bd33c448c7
/frameworks/base/core/java/android/view/VolumePanel.java
71def77a2811ce99ee50f09bc933ff380ce85055 12-Oct-2011 Amith Yamasani <yamasani@google.com> Use ringer assets for notification volume since the two volumes are tied.

This is only for voice capable devices, as tablets will still have notification
volume be a first-class citizen and doesn't make sense to show a phone icon
for notification volume.

Bug: 5431744
Change-Id: I28eed3ebc4cda173986c2f15e137e81641ee0a7c
/frameworks/base/core/java/android/view/VolumePanel.java
284e630a9b7f126ffb83cee4a1c4fe5134190cab 17-Sep-2011 Amith Yamasani <yamasani@google.com> Make Volume control non-modal and allow touches underneath to take effect.

Bug: 5308506 "Video" App halts playback when volume slider is present
Change-Id: Ib0672384b9074af73d729d1f64db62e5a8882d80
/frameworks/base/core/java/android/view/VolumePanel.java
d47a3aee7ad7d8ef66ee279ab64b64a0f7918e90 23-Aug-2011 Amith Yamasani <yamasani@google.com> Adjust slider range to be one more than max for base 1 volumes.

Bug: 5191642
Change-Id: Id479ce584753fbb56feed22a8506579f2d9e35fd
/frameworks/base/core/java/android/view/VolumePanel.java
baf6dbfa9340f3266e41841ebd51f21effc583ee 19-Aug-2011 Amith Yamasani <yamasani@google.com> Dismiss the volume overlay dialog when user touches above the dialog as well.

Bug: 5165168
Change-Id: Ib343c3b88371cb93f8241b1085d1a2f36a77b1ac
/frameworks/base/core/java/android/view/VolumePanel.java
9b8e84857080dc1597dc6014c51c3203aa303e93 11-Aug-2011 Amith Yamasani <yamasani@google.com> Accessibility and silent mode changes to Volume Panel.

Volume icons don't say "tap to toggle.." anymore.
Only silentable streams have touchable volume icons.

Bug: 4982424
Bug: 5128528
Change-Id: Iafc0f4b309af390a356d71c382f1200663c5a6e4
/frameworks/base/core/java/android/view/VolumePanel.java
e8ecde10b33b1d050d2b63b3f4cd20e8bb7c96d4 04-Aug-2011 Dianne Hackborn <hackbod@google.com> Whoops also need to move notification shade above lock screen.

And this requires making a new layer for the volume toast.

Change-Id: I4f272d56c87cf3b6bf886774b0fb02e610ab9164
/frameworks/base/core/java/android/view/VolumePanel.java
42722bfa136f5616872a2c4e199813e804621c81 22-Jul-2011 Amith Yamasani <yamasani@google.com> Volume panel changes.

Combined volume panel only in tablets. On phones show active volume.
Added dummy assets for ring+notification icon.

Deprecated the NOTIFICATION_USES_RING_VOLUME. Now they are always
tied together. Audio manager changes still required to ensure that.

Initialize all feedback sounds to true.

Change-Id: I3ad7890c9be9334eedb5f3b709a4b6995fe24638
/frameworks/base/core/java/android/view/VolumePanel.java
e2ad901f4a7ec645c8711b19f0af379bab363c44 18-Feb-2011 Eric Laurent <elaurent@google.com> Added bluetooth SCO stream to VolumePanel

This is a preliminary change to enable control of BLUETOOTH_SCO stream
volume while in a video chat with a bluetooth headset.
The complete change requires a new icon for BT SCO volume.

Change-Id: I6cd22f0c73d80a9b404b228650b9a30ef144cedc
/frameworks/base/core/java/android/view/VolumePanel.java
e3361b8d0889de6489eb61c6d9ca05885cf4bf31 11-Feb-2011 Amith Yamasani <yamasani@google.com> Fix over-eager locking of volume dialog's primary stream.

Bug: 3427027

Don't lock in the active stream if visual feedback was not requested.
This fixes a transient problem after the notification volume was modified
by an API call.

Change-Id: I2227d8fdf6cc565713d9bbcc66748805e04ae163
/frameworks/base/core/java/android/view/VolumePanel.java
8b4b97a14ad9b5b982d8fe92755efabec8ad0076 04-Feb-2011 Glenn Kasten <gkasten@google.com> Bug 3352047 Wrong message when adjusting volume

Add hidden AudioManager.getDevicesForStream and output device codes.

Change-Id: I4d1c1d3b6a077cd117720817d1f733dda557b947
/frameworks/base/core/java/android/view/VolumePanel.java
402f7f29634a9f68e7929be828a927a3e2f5efe9 04-Feb-2011 Eric Laurent <elaurent@google.com> Fix issues 3425035 and 3423785.

- Make sure that STREAM_MUSIC is affected by ringer mode on non voice capable
devices whatever the saved settings say.

- Added a hidden method to AudioManager for VolumePanel to override
the stream selection logic while the panel is showing.

Change-Id: Ib2ff2a7af63decb4e29c45700c41e5058f79d877
/frameworks/base/core/java/android/view/VolumePanel.java
d72d51c77a43d75c098afb55c3939210739510f9 04-Feb-2011 Eric Laurent <elaurent@google.com> Issue 3371080: fix VolumePanel in mute state

VolumePanel must take stream mute state into account before displaying
the update stream volume.

Change-Id: I03a1697c25fca3fa56f892e3d426d00906abeb79
/frameworks/base/core/java/android/view/VolumePanel.java
2bbdd77ab20788e901a410f299edef028b66bb6e 03-Feb-2011 Amith Yamasani <yamasani@google.com> Expanded volume panel with sliders and mute buttons.

Bug: 3395734

Volume panel that can be expanded and can be used
to control different streams' volume and toggle
silent mode.

Shows the active stream's slider on top and the
remaining below. Touching outside dismisses the
dialog as well as a 3 second timeout.

Dialog fades out after timeout.

Change-Id: Ief258cc904bfd3d62f1291adba4a9cf442bcb006
/frameworks/base/core/java/android/view/VolumePanel.java
733a42b24b91ce2881e2e4457a1ee06f12bb127a 19-Jan-2011 Eric Laurent <elaurent@google.com> Issue 3315999: catch ToneGenerator exceptions.

When the AudioFlinger runs out of available AudioTracks (max 32),
the ToneGenerator constructor throws a RuntimeException. Although this
denotes an abnormal situation, VolumePanel should catch this exception.

Change-Id: Ida1312fe4857e99a0ef38b4013cb03e819405689
/frameworks/base/core/java/android/view/VolumePanel.java
69f593ccb7414ee98991b1da1a4bfbd9951e3570 28-Jul-2009 Marco Nelissen <marcone@google.com> Support for selection of silent ringtone from the ringtone picker.
This doesn't actually enable that, but adds the necessary code to make it work when enabled, and cleans up some ringtone related code.
/frameworks/base/core/java/android/view/VolumePanel.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/view/VolumePanel.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/view/VolumePanel.java
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
/frameworks/base/core/java/android/view/VolumePanel.java
f013e1afd1e68af5e3b868c26a653bbfb39538f8 18-Dec-2008 The Android Open Source Project <initial-contribution@android.com> Code drop from //branches/cupcake/...@124589
/frameworks/base/core/java/android/view/VolumePanel.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/view/VolumePanel.java