- Decouple condition requests from expansion, now
pre-request when zen panel unhidden.
- Animate zen mode panel expansion.
- Improve default selection logic, ensure something
is selected as soon as we are in the expanded state.
- Tweak visual spacing.
- Map null condition to Indef properly when we start
out in zen.
- Avoid unnecessary condition teardown when the conditions
are updated but unchanged from current.
- Cap number of optional conditions to display, default=3.
Bug: 18335618
Change-Id: I007b7c3b2e75e2b42805af240684aa8581e9951a
- Make the system internal ringer mode change signal available to
other system components via a standard intent, instead of a
volume-controller-only binder call.
- Update sysui to use new intent for icon policy.
- Add proper muting state to the volumizer, to look more like
the associated volume panel slider.
- Add basic ringer mode state tracking for the notification-ring
slider setting.
Bug: 17899613
Change-Id: Ie2df52edb070055ef59c74039162a0e785d2fdbb
Remove last holo references by using the new-style cast connected
icon. There is only one icon for the remote stream, since
it is never muted by policy.
Bug: 18102850
Change-Id: Iffe3a19deca6599780ebdb26869ae46aa8623f81
Ensure we don't call audio manager with STREAM_MASTER, which is
a pseudo-stream value internal to volume panel.
Bug: 18250921
Change-Id: I4b6af9fc60d7683e9103be52cc937c33c1c15e31
Stabilize mapping between ringer-mode=silent and zen=priority
by keeping track of two ringer modes:
- Internal ringer mode: Used for underlying stream muting
- External ringer mode: Reported to clients
The mapping between external ringer mode + zen is:
- normal = all
- vibrate = all
- silent = priority (read-write) or none (read)
Changes include:
- Remove "zen check" from audio service, back to audio
service having no knowledge of zen.
- Maintain a new external ringer mode in audio service,
this is the ringer mode reported through AudioManager
to callers, also mapped to the change intent.
- Introduce a "ringer mode delegate" to the local
audio manager interface, responsible for observing
external / internal mode changes, and making changes
if necessary.
- Internal ringer mode changes are still interesting
to the volume dialog, wire up a callback through
the existing IVolumeController interface.
- On devices without vibration, the mapping is the same
but since no ringer mode change is possible, disable
the icon toggle and remove the mute icon when volume=0.
- On devices with vibration, volume down presses should
pulse the vibrate icon (and vibrate) as a hint that this
is as low as the device can go using the keys. Since
the mechanics are similar to the existing zen=none hint,
pull into shared helper.
- Log ringer mode changes to the zen log, include calling
package information for issue diagnosis.
- Include whether vibration is supported in the audio service
dump.
- Update the status bar icon policy to use the internal ringer
mode, not the external mode (for vibrate icon).
- Update the "Muted by <x>" logic, include current suppressor
in dumpsys, ensure suppression icon is enabled & !clickable,
regardless of zen mode.
Bug: 17884168
Bug: 15471679
Bug: 16824970
Change-Id: Ia7d3bb23ce6d1e37b24fb6521d1c1ab9bb8f60c0
The 24 hour setting was not respected correctly. Also
fixed a bug where the next alarm would not display itself
in the QS panel.
Bug: 16239208
Change-Id: I89734f783912dead5831db49db53fba04dbf54ee
Although the audio policy makes a distinction between voice capable
and not when determining the default active stream, have the panel
recognize this condition and behave the same way (enable the slider)
on all devices.
Bug: 17405530
Change-Id: If3e1af3078f47bc1205545e919ccc6206020e7b2
If the provider sends us an updated summary (or other text)
for the currently selected exit condition, update the UI and
persisted condition.
Update the downtime condition text (end time/line2 + summary)
when the next alarm changes (if downtime = none).
Also, clear the fired-alarm cache on time or time-zone resets.
Bug: 16373455
Change-Id: Ib38c52104a281fcc04a89612b643a219fd82b40b
- Add icon above text to all three zen mode states, update text style.
- Remove zentoast.
- Update shared borderless rect background, masks now support shapes.
- Update size of volume stream icons.
- Ensure all volume icons are expressions of white.
- Make volume icons testable via new demo mode command.
- Add a divider + secondary icon to access the notification slider.
- Animate the transition when accessing notification slider.
Bug: 18206097
Bug: 16303068
Bug: 18102850
Change-Id: I5eb6f820dc317e89be272cc78f6c80ed969ad5e9
- If the user's next alarm is in the next 12 hrs, provide
this as an exit condition trigger for leaving none/priority.
- Don't display the next alarm condition when downtime is active.
- When the next-alarm exit condition is active, follow changes
to the next alarm, assuming it remains within the 12-hr window.
- Tweak the downtime condition strings to be consistent.
Bug: 16373455
Change-Id: I4020b91d323dead998e62d655132eca07438b148
Implement two-line exit conditions, display the duration + end
time on separate lines.
Bug: 16824863
Change-Id: I8dabc83042fce604ccb86b463b9bb547c7903c64
Can now disable the default volume dialog in SystemUI with
a standard product overlay.
Bug: 17753150
Change-Id: I305015dbfc40cde2428fa593c89af0f4568e1b74
- Extend the dismiss timeout when interacting with various
subcontrols.
- Ensure "hover" events in touch exploration extend the timeout
in addition to touch events.
- Introduce new helper to standardize interaction callbacks.
- Announce zen toasts.
- Announce zen condition selections, and when existing countdown
conditions are modified.
Bug:17578434
Change-Id: I8a055b3455aa8d20ba93439bdec6cc75db97800e
If the user selects a new zen mode, display a quick toast
with the mode icon + text to aid in association.
Also fix a recent regression in the zen subhead alignment.
Bug:16215680
Bug:17641211
Change-Id: I4ead88d81be4d9c26459aed82c47b8c2fb32eafa
When displaying the volume warning for talkback users
no timeout is enforced anymore.
Bug: 17145793
Change-Id: I87c3baa6caf835bceda284cd7d89ca59fdc190f5
If we have an intent chooser on the camera intent, we need to launch
it after the Keyguard is fully gone because the ResolveActivity would
finish itself if it is launched behind the Keyguard.
Bug: 16570873
Change-Id: I2fdb4975fa0a6510e8853c6042383089570ec1f5
- When selecting "None" in the dialog, remove the footer warnings
about alarms, and associated bits.
- Update subhead text for "None".
- Keep track of how often "None" is used (defined as a user change
during a visible dialog session) and color the subhead text
with the warning color until it's been used five times.
Bug:17283115
Change-Id: Ief8a1c557716ec2f581b8338511432d17ac0d371
-renames get/setBufferPosition to get/setBufferedPosition
-renames getLaunchActivity to getSessionActivity
-adds doc link to setVolumeTo flags param
-renames setLaunchActivity to setSessionActivity
-hides setMediaRouter
-moves PLAYBACK_TYPE_ constants to MediaController.AudioInfo
-adds addOnActiveSessionsChangedListener version with a handler parameter
-renames AudioInfo to PlaybackInfo
bug:17114404
Change-Id: I0fbfe4eb979cb2af98e3f13095c654bb131f7ae5
-Changes MediaSessionManager.SessionsListener to OnActiveSessionsChangedListener
and makes it an interface.
-Renames MediaController.VolumeInfo to MediaController.AudioInfo
-Renames MediaSession.Track to MediaSession.Item
bug:17059552
Change-Id: I3a0b4371700ad6657972c312a5ab89ddfac6df5b
- Persist the entire exit condition instead of only the id.
- Make downtime a proper condition provider (similar to the
existing countdown provider for time-based conditions)
- Move all downtime-related items out of ZenModeHelper and
into the new condition provider.
- Reevaluate downtime more often, when any of its inputs change.
- Make sure downtime appears as an available condition in the
condition panel when applicable.
Bug:16296125
Bug:16211189
Bug:17031767
Change-Id: I1d8269a4e6fe170ce776bf932dbbdfb29dd25dd7
This removes the fake stream from AudioService and cleans up
references to it. Also removes isLocalOrRemoteMusicActive.
bug:15884752
Change-Id: I1c2b57a2f8ba80061313737f254463f4c80ce8c3
- Get rid of ActivityManager.dismissKeyguardOnNextActivity, which was
used for two different things: Dismiss keyguard from somewhere else
(not really necessary anymore), wait to actually dismiss keyguard
after the window behind is drawn. Instead, introduce
keyguardWaitingForActivityDrawn(), and change the semantics where
necessary.
- Make wallpaper_close_enter consistent with task_open_enter and the
Keyguard launch animation.
- Close the panel even on lockscreen when launching a notification.
- Block notification shade updates during the collapsing motion so
notification don't play the disappear animation immediately after
having launched a notification.
Bug: 15991916
Change-Id: I133c177b84e926c87c1a404ba93d633593fec3ab
Use 400dp as the visual width of the shade across all devices
and orientations, except small device portrait.
Since the width is now dynamic across orientations, update the
necessary views in SystemUI on rotate.
Remove obsolete styles + resources.
Set max QS columns to 3 on all devices, due to the newer shade
width.
Bug:16825515
Change-Id: Iff171549a79bc318a4d585a2d9ea2af9bc686922
Since all service-internal checks use stream alias, and the alias
for NOTIFICATION is RING, even on tablets.
This is a followup to ag/506532.
Ensure that #getMasterStreamType always follows the stream_system
alias, and update the system alias for tablets per the new policy.
Update the associate javadoc comment in AudioManager to make this
clear.
Note: there is now no difference in the alias maps between phones
and tablets.
Also fix a condition affected by this in VolumePanel.
Bug:16626879
Change-Id: I2700a48d2a3e7703607f771a1ab7f325596fd789