Commit Graph

91 Commits

Author SHA1 Message Date
John Spurlock
21d68f4808 Merge "Volume: Improve inline volume controls used in settings." into lmp-mr1-dev 2014-12-01 17:06:14 +00:00
John Spurlock
e3f8b31466 Merge "Zen: Improve zen mode panel condition selection." into lmp-mr1-dev 2014-12-01 14:59:05 +00:00
John Spurlock
26a695d974 Merge "Volume: Update remote volume icons." into lmp-mr1-dev 2014-12-01 14:58:18 +00:00
John Spurlock
3e07701636 Zen: Improve zen mode panel condition selection.
- 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
2014-11-30 10:41:33 -05:00
John Spurlock
bcc1087af4 Volume: Improve inline volume controls used in settings.
- 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
2014-11-28 15:29:21 -05:00
John Spurlock
cfe9fb6794 Volume: Update remote volume icons.
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
2014-11-26 11:37:00 -05:00
John Spurlock
e506c85eaa Volume: Avoid making bad forceVolumeControlStream call.
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
2014-11-26 10:11:19 -05:00
John Spurlock
661f2cf458 VolumeZen: Introduce internal vs external ringer mode.
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
2014-11-25 13:20:46 -05:00
Selim Cinek
962b06f9a0 Merge "Fixed several time related states for secondary users" into lmp-mr1-dev 2014-11-24 11:52:40 +00:00
Selim Cinek
9c4a707912 Fixed several time related states for secondary users
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
2014-11-21 18:25:30 +01:00
John Spurlock
5eb21f3466 Volume: Ensure ring/notif slider is enabled when ringer=vibrate.
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
2014-11-19 11:54:53 -05:00
John Spurlock
7fbf573e0b Volume: Dismiss panel on nav bar interaction.
Bug: 18409164
Change-Id: I7b7f26eb823b8477a4df86a8622b4f1171ad96e6
2014-11-18 11:40:22 -05:00
John Spurlock
96e7f0ed1a Volume: Move "Muted by" string from sysui to frameworks.
To enable sharing with Settings.

Bug: 17461563
Change-Id: Icdb5f85eb4bcaa1ead7d77c1460e06ad3f0604d5
2014-11-14 14:38:03 -05:00
John Spurlock
25c3421c5e Zen: Update condition text for current condition.
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
2014-11-13 11:03:10 -05:00
John Spurlock
bb4a702e6f Volume dialog: Add zen mode icons and notification access.
- 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
2014-11-10 08:32:23 -05:00
John Spurlock
37bc92cc23 Zen: Create a new exit condition for "next alarm".
- 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
2014-11-05 08:46:01 -05:00
John Spurlock
c90e6fe863 Zen: Show "(until 4:56 PM)" in exit conditions.
Implement two-line exit conditions, display the duration + end
time on separate lines.

Bug: 16824863
Change-Id: I8dabc83042fce604ccb86b463b9bb547c7903c64
2014-10-28 12:57:43 -04:00
John Spurlock
f2565a8b48 Volume: Make VolumeUI startup configurable.
Can now disable the default volume dialog in SystemUI with
a standard product overlay.

Bug: 17753150
Change-Id: I305015dbfc40cde2428fa593c89af0f4568e1b74
2014-10-23 20:16:22 -04:00
John Spurlock
1a3f7db001 VolumeDialog: Restore default-selection logic.
Bug: 18066513
Change-Id: Ie72189edf9b59fd8d192d882aaadf1ac05dcb359
2014-10-21 15:16:16 -04:00
John Spurlock
7bbb9f6410 Sysui: Include shared prefs in service dump.
Also:
 - Remove obsolete Prefs helper.
 - Use common file for zen-mode prefs.

Bug: 18062541
Change-Id: I9a6a4733eac0ec1c55da5d359c996cb5fe3bb8af
2014-10-21 12:26:45 -04:00
John Spurlock
4bebb1dc5e Update framework icons for media & alarm streams.
Update resources to new style and remove obsolete items.

Bug: 17762712
Change-Id: Ibec121828084934cc066afe117f66b6a0eea603f
2014-10-02 20:11:37 -04:00
John Spurlock
a0457c2e92 Touch-exploration improvements to volume dialog.
- 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
2014-09-26 14:17:09 -04:00
John Spurlock
27c7b9295d Supertoast when user changes zen mode.
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
2014-09-25 15:04:32 -04:00
John Spurlock
4291fb79c7 Zen: Fix recent regression in mode selection after reboot.
Bug:17509473
Change-Id: I761cd90384c490c7ab07fb633133535846701ce6
2014-09-16 17:02:23 -04:00
Jason Monk
0875a782ad Merge "Update zen mode and qs strings on locale change" into lmp-dev 2014-09-10 15:00:31 +00:00
Jason Monk
4dd81467e3 Move zen mode constants and code to framework
This allows the strings and code to be shared with settings.

Bug: 15454830
Change-Id: I9300af4f8b6d80042452b75db3418b20c5c5cc81
2014-09-10 09:30:03 -04:00
Jason Monk
e2f4771a01 Update zen mode and qs strings on locale change
Bug: 17288370
Change-Id: Ic6191d5c16687cd760b4a0656d6ee4dbb4c53c45
2014-09-09 10:47:25 -04:00
Selim Cinek
5da328beb2 Merge "Announcing the stream type when the volume panel comes up" into lmp-dev 2014-09-09 10:24:45 +00:00
Jorim Jaggi
85dc23cc69 Start all resolver activities after keyguard is gone
Bug: 17417099
Change-Id: I30b154067b1c4cbca09af49a4763f9cf5fdc19e6
2014-09-08 16:53:11 +02:00
Selim Cinek
62ea340af4 Announcing the stream type when the volume panel comes up
Bug: 17299985
Change-Id: I5f71f1ca63223d0a039a5b92dc9521b6dc1e2da5
2014-09-08 15:54:41 +02:00
RoboErik
14f717a506 rename add/removeCallback to register/unregisterCallback
bug:17390821
Change-Id: Id610b481083686dba2a28b6c7c47b747f89eef4f
2014-09-05 11:40:33 -07:00
Selim Cinek
6531ae2fcd Merge "Not enforcing a timeout anymore for talkback users" into lmp-dev 2014-09-01 11:08:09 +00:00
Selim Cinek
1cf8906231 Not enforcing a timeout anymore for talkback users
When displaying the volume warning for talkback users
no timeout is enforced anymore.

Bug: 17145793
Change-Id: I87c3baa6caf835bceda284cd7d89ca59fdc190f5
2014-08-29 19:21:44 +02:00
Selim Cinek
e73a0a0195 Merge "Increasing the delay for the volume warning dialog with talkback" into lmp-dev 2014-08-29 16:44:23 +00:00
Selim Cinek
9f6ceb1d1c Increasing the delay for the volume warning dialog with talkback
Bug: 17145793
Change-Id: I27eb9c46c8d73d5e475f97b50b0a2f219c4ed6fb
2014-08-29 16:28:39 +02:00
John Spurlock
d7a94b3545 Merge "Zen: Remove alarm warnings, color the subhead instead." into lmp-dev 2014-08-28 13:30:31 +00:00
Jorim Jaggi
746f7facf2 Start intent chooser after Keyguard is gone
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
2014-08-28 13:10:12 +02:00
John Spurlock
8f8ecd620c Zen: Remove alarm warnings, color the subhead instead.
- 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
2014-08-27 17:46:03 -04:00
John Spurlock
b4782526f5 Display notification effects suppressor in the volume panel.
Bug:16958514

Change-Id: I0eac173875e8af62e3c6b39001722c3fda4517de
2014-08-22 18:08:17 -04:00
RoboErik
d2b8c947dd Api updates to MediaSession components
-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
2014-08-20 10:05:06 -07:00
RoboErik
a66c40bf6e Update MediaSession APIs for council feedback
-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
2014-08-19 17:12:42 +00:00
John Spurlock
4db0d98b42 Zen: Downtime now a condition provider, persist conditions.
- 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
2014-08-15 15:06:15 +00:00
RoboErik
2811dd3372 Remove REMOTE_STREAM_MUSIC references from AudioService
This removes the fake stream from AudioService and cleans up
references to it. Also removes isLocalOrRemoteMusicActive.

bug:15884752
Change-Id: I1c2b57a2f8ba80061313737f254463f4c80ce8c3
2014-08-14 17:23:34 +00:00
Jorim Jaggi
8de4311c51 Lockscreen launch animations
- 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
2014-08-12 22:47:52 +00:00
John Spurlock
45601d6b64 Volume: Hide zen options during setup.
Only show the slider before provisioning and
user setup.

Bug:16825823

Change-Id: I856c736ed91ed20371176c2bba84b5d7e2ebc6cb
2014-08-07 18:22:35 -04:00
John Spurlock
3f14df5c9d Merge "Common shade width across devices." into lmp-dev 2014-08-05 00:35:13 +00:00
John Spurlock
7e6809ad64 Common shade width across devices.
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
2014-08-06 23:33:53 -04:00
John Spurlock
89fe1cb9de Zen: Show subhead for Indefinitely.
Bug:16824870
Change-Id: Ic10d68df39c5afe06503d3b37a960c9319f84056
2014-08-06 10:31:55 -04:00
John Spurlock
4f0f120316 AudioService: getMasterStreamType -> RING on tablets.
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
2014-08-05 16:23:14 -04:00
John Spurlock
2d28d6e1af Volume: Confirm unsafe media volume dialog on VOL_UP.
If the confirmation dialog is showing, consider a new
VOL_UP as a confirmation.

Bug:16540877
Change-Id: Ibdaa43ea423cc3b48d234bcaaa0c542178657b6c
2014-08-01 13:10:14 -04:00