History log of /frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b44ef7eb43a07b7c2968d21f53a5b30243229bdb 02-Jun-2016 Julia Reynolds <juliacr@google.com> Fix memory leak via ZenModeController callbacks.

Bug: 29064258
Change-Id: Ie817ec50206ce23561775fc0ac178754b946f030
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
c3960f66beb5daf9af1b7a914c8bc60cc6e02756 02-Jun-2016 Julia Reynolds <juliacr@google.com> Hide alarm condition if there's no alarm.

Change-Id: Iba8c9eb2bd3033683c25c5cf145fc52f9ac0f0d2
Fixes: 27698976
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
656f98681e93fc7ae6d4e42daa4b0d1bc268c86d 01-Jun-2016 Julia Reynolds <juliacr@google.com> Radio buttons belong in a radio group.

Fix for 'multiple buttons selected at once' issue.

Change-Id: Iec54eac699886ed1c7b8afd91382ff9b5750c696
Fixes: 27698976
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
617a7804bb2ffcf465f39e0e219951881ee44e57 29-Apr-2016 Julia Reynolds <juliacr@google.com> Uncheck unselected radio buttons.

Fixes: 28518097
Change-Id: I22cce7837802a97f15af4170f8991db1685ee121
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
415ebdb88027a4885f6ff95b3dfb7466144dc0e4 29-Mar-2016 Muyuan Li <muyuanli@google.com> Merge "sysui: refactor for extensibility" into nyc-dev
8303bd2b17eb33dcecf2ef63d1aee87f7427f812 24-Mar-2016 Muyuan Li <muyuanli@google.com> sysui: refactor for extension

Refactored ZenModePanel:
1. Button creation is split from onFinishInflate.
2. Added a method to query current Zen condition
3. Made mZenButtonsCallback protected.

Change-Id: I959fa2f7770ba1888af01eababe7c4512981332d
(cherry picked from commit 79df200108c5240c0d2a041d7d841f8d9d143ec0)
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
94fa1df7135eea68d2aae41634567c57833d6a47 23-Mar-2016 Muyuan Li <muyuanli@google.com> sysui: refactor for extensibility

Split button creation code from init in ZenModePanel

Bug: 27101250
Change-Id: Id4bbd505b4e311fdcd2d330f20b73d2338fa9686
(cherry picked from commit 80870e93a49c08f4f4e57d2c0902d2308faa3f7a)
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
aa911b37ae7e805fdcc15c48b156a03b3d151514 11-Feb-2016 Jason Monk <jmonk@google.com> Tuner volume dnd panel work

Change-Id: Id7852e96f987d13c06041e2280d44163a296f49b
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
1998ee56285419ff7fea0ec9a247e31d1d27a0ab 11-Feb-2016 Julia Reynolds <juliacr@google.com> Alarm can end time-based rule.

Bug: 21069008
Change-Id: I857d85a32eb44ca873da4a9f19323c48a922ab9f
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
f6e9228b8a97603d3ceb8f0d61e8d87cf19bd21f 27-Jan-2016 Chris Wren <cwren@android.com> move framework metrics over to new proto

Change-Id: Ie46e946dc787350c15c10aa4385a6b7df7e181a8
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
e138f55512d7dc5854c9f6d98ec987f5c773f12c 18-Jan-2016 Jason Monk <jmonk@google.com> Add zen panel to volume dialog again in tuner

Change-Id: Ie74a6bd8ecd7f2d8b16e96cc0087e63796d5f9a2
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
9945e1c67e03f70bf4d7ba8e4956363baa918b11 04-Jan-2016 Dan Sandler <dsandler@google.com> Merge "Use GregorianCalendar.add() when searching for next alarm." am: b52de8248f
am: 65a35016c1

* commit '65a35016c1f22805c2e70b49ff2b121b9f7dc739':
Use GregorianCalendar.add() when searching for next alarm.
65a35016c1f22805c2e70b49ff2b121b9f7dc739 04-Jan-2016 Dan Sandler <dsandler@google.com> Merge "Use GregorianCalendar.add() when searching for next alarm."
am: b52de8248f

* commit 'b52de8248f8e5f95f7984967e646eb9b3a641526':
Use GregorianCalendar.add() when searching for next alarm.
12d3393249f8a6d65ad6960758c4fe089ffc72cf 29-Dec-2015 Dan Sandler <dsandler@android.com> Use GregorianCalendar.add() when searching for next alarm.

Never attribute to malice that which is adequately explained
by a bug, particularly one involving date math.

Bug: 26326394
Change-Id: I3483ac102c678a8852565c8ea94c06e19b3f26d8
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
3e57340b6a0c4ed450afe4eb543c0c81acdd9b6b 05-Nov-2015 Julia Reynolds <juliacr@google.com> Fix radio button flash on hour change.

Also delete confusing debug variable.

Bug: 25459795
Bug: 25783349
Change-Id: I9208ece4edf5fbcff5f257994f47d81a901766e8
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
0ca82fecc2acb7ef0688d2fd22a39838ebf4f1df 05-Nov-2015 Julia Reynolds <juliacr@google.com> Fix radio button flash on hour change.

Also delete confusing debug variable.

Bug: 25459795
Change-Id: I9208ece4edf5fbcff5f257994f47d81a901766e8
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
c72c931eb8c5c336b9cb8b600b9e777ca169687c 16-Oct-2015 Julia Reynolds <juliacr@google.com> resolved conflicts for 429e7dcd to master

Change-Id: Id0aca75915a054253d032d333defba1a38b80abe
8e2d2bbeec74b02960504a09e02e601ee2cf5e0e 01-Oct-2015 Julia Reynolds <juliacr@google.com> Add 'until next alarm' option to QS zen panel.

Unlike the implementation in LMR1, this is a countdown condition
(a countdown until the time of what was the next alarm when the
rule was created). The rule will not change if alarms change.
Also, alarms up to 7 days in the future will be considered.

Bug: 21648799
Change-Id: Id7fa9dbdbad1539e4da19b1d0e0c4395bb13e6cb
(cherry picked from commit 0842fe87b27b9e4a7aecfec25b93dba2d39f398a)
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
0842fe87b27b9e4a7aecfec25b93dba2d39f398a 01-Oct-2015 Julia Reynolds <juliacr@google.com> Add 'until next alarm' option to QS zen panel.

Unlike the implementation in LMR1, this is a countdown condition
(a countdown until the time of what was the next alarm when the
rule was created). The rule will not change if alarms change.
Also, alarms up to 7 days in the future will be considered.

Bug: 21648799
Change-Id: Id7fa9dbdbad1539e4da19b1d0e0c4395bb13e6cb
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
4572cbc917b62aeece4afcd73713eeabed2a5d92 29-Jun-2015 Chris Wren <cwren@android.com> only count clicks on zen mode selector

We were counting all changes of mode while the panel was visible, including the
first initialization of the selector.

Bug: 21196323
Change-Id: Icf2165056f03507b0b8c6a21ec1f07830c29173a
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
cbd7a31a4440eea6d1f648a9e54e55677547ab7b 21-Jun-2015 John Spurlock <jspurlock@google.com> Zen: Tweak total silence new user message for non-voice devices.

Bug: 21953388
Change-Id: I395af64b175b22fc58d80529cdbb12ebd9e00115
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
5b1548b6b4d37c905baa867c6065a10b68f77c51 10-Jun-2015 John Spurlock <jspurlock@google.com> Merge "Zen a11y: Add a blurb re: screen readers to total silence." into mnc-dev
bd1abe631cb0a405605babd811b5fd4dbe9e0cf8 10-Jun-2015 John Spurlock <jspurlock@google.com> Zen a11y: Add a blurb re: screen readers to total silence.

Bug: 21640568
Change-Id: Ia1278844270d157f8bd9f0e853e4e7296e025aef
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
e37cf3b8d614019c5570f945110bfbc5a8b09713 08-Jun-2015 John Spurlock <jspurlock@google.com> Merge "QS: Handle font-size changes immediately in ZenModePanel." into mnc-dev
d896323eab66be9394cd33d3b3bf16372cbbaa07 08-Jun-2015 John Spurlock <jspurlock@google.com> QS: Handle font-size changes immediately in ZenModePanel.

And make sure the condition row is tall enough to accomodate
huge text.

Bug: 20346315
Change-Id: I9346f80edd7f0069d6363fe5377b36b0bf5aca62
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
a1c7ffe755d414a1082920ce1742a8ae82d81529 08-Jun-2015 John Spurlock <jspurlock@google.com> Zen QS: Use explicit content descriptions for zen buttons.

Bug: 21661136
Change-Id: I3a6f7d6deb29584e707c1deb771e3db660007529
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
8be53eaaf7b2dcc5617c6ed6bef14d15cbe9e28d 29-May-2015 John Spurlock <jspurlock@google.com> Zen: Add warning text if total silence will eat the next alarm.

Bug: 21359239
Change-Id: I8a69738e6488f40f24eed622529c913b6c3865a0
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
814ee6ab8bbf4a3f96dc76091d6bce67394b5b70 18-May-2015 John Spurlock <jspurlock@google.com> DND: Fix locale and rtl issues in QS detail panel.

Bug: 21206470
Change-Id: Id84a36bf60b56ebacdf4098d0229e8fcd66aec56
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
bbde26774fcf7ea65abd92d60f7468478c015053 13-May-2015 John Spurlock <jspurlock@google.com> Zen: Use shorter version of countdown condition summary in footer.

To try and keep to two-lines.

Bug: 21119801
Change-Id: I5a6760381a6b673b8481164f92cf6b7b236af349
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
9e7283f6a31bc2beb75c84c6173968a46582c563 08-May-2015 Chris Wren <cwren@android.com> log more settings actions

airplane: quick and slow settings
bluetooth: quick and slow settings
cellular data: quick and slow settings
dnd: quick and slow settings
wifi: quick settings (slow already done)
cast: quick settings
user: quick settings

include state of the toggle in the action log

Back away slowly from the over-generalization of logging
around handleClick, the semantics of mState are particular
to the individual tiles.

Bug: 20264417
Change-Id: I4cecbd3361af64d08de9fb41b8dca210a8086a80
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
d9c75dba75ad4742dbaadc34db99d2b76cebca91 28-Apr-2015 John Spurlock <jspurlock@google.com> Volume: Simple dialog footer, DND in quick settings.

- Show DND tile by default, this is now the only
place to manage DND modes / end conditions.
- Remove super footer from volume dialog, replace with
a simplified version that displays the current mode
and allows ending DND.
- Remove obsolete text-only footer from codebase.
- Migrate remaining volume items into main resource files.
- Rename "No interruptions" to "Total silence".
- Add new user information banner for "Total silence"
- Crude media filtering for Total Silence.
(deeper muting changes will be done as a followup)
- Disable volume dialog sliders completely if muted due
to zen.
- Cleanup ZenModePanel: assume embedded mode, remove
expandable subhead
- Remember "favorite" DND mode inside the DND config panel.
- AudioService: consult ringer-mode-delegate before voluming
down into silent.
- Add new hour options to time-based exit conditions.
- Volume dialog visual updates to move closer to final visuals.
- Unify ringer=silent with DND.

Bug: 19260237
Change-Id: I05d7e001eca3b5125418ec3bc4087d0cb8866717
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
f55b7f2fb614b917b7d1943396880978258dd1bb 14-Apr-2015 John Spurlock <jspurlock@google.com> Zen: Add new user introduction msg for "Priority only".

Bug: 19260237
Change-Id: I3b5785befc05685c7f676e918710fb7500221172
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
b2278d65714c0dd0a6f94d1913db1ebc8bfc8b06 07-Apr-2015 John Spurlock <jspurlock@google.com> An update on Downtime.

The update is that Downtime is obsolete. Replaced by the
ability to define multiple named schedule calendars.

- Make changes to ZenModeConfig to properly model manual
and automatic rules.
- Refactor the zen mode helper (and supporting classes) to
properly handle / report multiple claims on zen mode.
The "manual" rule (specified by the user in the UI) vs
one or more automatic rules.
- Automatic rules are still backed by condition providers,
but the layering is now cleaner. ConditionProviders is now
completely generic, has no ties to zen mode.
- Specifically, the new layering for zen mode (below noman) is:
ZenModeHelper: Source of truth for zen state
ZenModeFiltering: Subhelper dedicated to filtering rules.
ZenModeConditions: Subhelper dedicated to managing automatic rules.
ConditionProviders: Underlying engine for reporting named boolean state.
- Migration story for users with existing downtime config, migrated
to a single new calendar named downtime.
- For users with no existing downtime, two default calendars are created
for weeknights + weekends (icu4j for all locales will be done in a followup).
- Remove obsolete DowntimeConditionProvider/NextAlarmConditionProvider and tracking.
- Clean up obsolete resources.
- Add common zen summary description string computation.
- Add proper noman wrappers for the new model.
- Change the semantics of the global zen setting. It is now read-only. Setters
must call noman, added a "reason" to all calls for better attribution.
- Update zenmodepanel + volumedialog to the new model.
- Display the one or more automatic rules in the new zen footer summary.
- "Snooze" the automatic rules when the user explicitly turns zen off.

Bug: 20064962
Change-Id: Idd9deb865a6035ad0cfae660198dccb517e6d7cc
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
4f1163c83e79da52b2be7ff6b10163441895bc26 02-Apr-2015 John Spurlock <jspurlock@google.com> Zen: Add a new level: alarms-only.

Like no-interruptions, but allows alarms.

Bug: 19260237
Change-Id: I36bf0a333362256c8e54cd83992cb46c3bcb7f69
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
f88d8082a86bee00c604cbbcfb5261f5573936fe 25-Mar-2015 John Spurlock <jspurlock@google.com> Introduce new volume dialog.

- New VolumeDialog (presentation) + VolumeDialogController (state)
to implement a volume dialog that keeps track of multiple audio
streams, including all remote streams.
- The dialog starts out with a single stream, with more detail available
behind an expand chevron.
- Existing zen options reorganized under a master switch bar
named "Block interruptions", with "None" renamed to "No interruptions"
and "Priority" renamed to "Priority only".
- Combined "Block interruptions" icon replaces the now-obsolete star/no-smoking
icons in the status bar.
- New icons for all sliders.
- All sliders present a continuous facade, mapped to discrete integer units
under the hood.
- All interesting volume events and state changes piped through one central
helper for future routing.
- VolumePanel is obsolete, still accessible via a sysprop if needed.
Complete removal / garbage collection deferred until all needed
functionality is ported over.

Bug: 19260237
Change-Id: I6689de3e4d14ae666d3e8da302cc9da2d4d77b9b
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
4a357cd2e55293402d7172766f7f9419815fc1e8 19-Mar-2015 Alan Viverette <alanv@google.com> Replace usages of deprecated Resources.getColor() and getColorStateList()

Change-Id: I8f64fe6c4c44a92ff6d07250223ba590a1d691b0
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
3c4076a2465a89cf21ffd2e94cabd15be1d31689 24-Feb-2015 John Spurlock <jspurlock@google.com> DND: Add a hidden DND tile to quick settings.

Invisible by default, not activatable when the platform
volume controller is active.

However, when the platform volume controller is not active,
it can be enabled via a broadcast intent.

When enabled, the status bar icon also changes to a single
dnd icon.

Very little more than embedding the existing zen mode panel
into the detail pane of a new QS tile.

Change-Id: I1e0ff6fbb99b00f67b53bceda8cbf121f3ef6b52
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
ad680d46be19cbee16d42cbed4d2ed250648ac0b 30-Jan-2015 John Spurlock <jspurlock@google.com> Small changes to make VolumePanel more testable.

- Put a zen call requiring status_bar_service behind
the controller.
- Make the dialog window params overridable by subclasses.

Bug: 19260237
Change-Id: I2b75cde8a2f7efcd8ac001f181c151597bb7a978
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
0b688503754737a20165f0cff1833e714a5c4164 22-Dec-2014 John Spurlock <jspurlock@google.com> Zen: Fix selection logic for "Indefinitely".

Use a signal condition value for the forever condition in the panel
to ease the distinction between no selection + selecting indef.

Bug: 18810529
Change-Id: I2590899ab43734708c72aad066653ef27f89d760
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
530052a2fe3b6a6a4246ce28ab0ced647fe7f470 30-Nov-2014 John Spurlock <jspurlock@google.com> Zen: New behavior for built-in downtime + nextalarm conditions.

- Downtime: Allow user to enter downtime early, offer as an end
condition four hours before downtime starts. Available in
either none or priority, regardless of settings configuration.
- Downtime: Always exit before next alarm if zen=none.
- Downtime: Make more like any other condition provider, remove
special status (mostly).
- Downtime: New auto-triggering rules, allow triggering after a
manual condition ends, once.
- Decouple NextAlarm + Downtime providers, allow them to offer
their conditions at the same time.
- Downtime/NextAlarm: Update conditions if they change while being
requested, even if unsubscribed.
- Make all three built-in condition providers optional, via config.
- New internal helper for runtime config.
- Don't follow changes to next alarm, consider the condition false.
- Isolate downtime calendar logic into separate class (for testing).
- Allow a:bb -> a:bb as a valid downtime range (all day).
- Volume dialog: configuration establishes maximum number of visible
conditions, including built-ins.
- Zen mode panel: avoid widget updates during layout transition.
- Zen mode panel: move controller callers to background thread.
- Zen mode panel: hide/show/rebind rows instead of adding/removing.
- ZenLog: Add downtime autotrigger results.
- Volume panel: Smarter refresh on ringer/zen changes.

Bug: 16373455

Change-Id: I4f801018ddb0beb6eb9fa03a81c79f7949888a3f
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
3e0770163686c1be83959d681976dafaf25272e1 29-Nov-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
661f2cf45860d2e10924e6b69966a9afe255f28b 17-Nov-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
9c4a707912da2c954b2d3d1311b8a691ded8aa16 21-Nov-2014 Selim Cinek <cinek@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
25c3421c5e65ddc7f2b2bf1b1208f3634e6f5256 12-Nov-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
bb4a702e6fe44cb026097db13492f8345b38ee97 08-Nov-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
37bc92cc2332eb6f864977381135c19d6a081a92 03-Nov-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
c90e6fe863bb5ac84612bd777d3b352f69265950 28-Oct-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
1a3f7db001a75770d888866a760e1308bb1f25fd 21-Oct-2014 John Spurlock <jspurlock@google.com> VolumeDialog: Restore default-selection logic.

Bug: 18066513
Change-Id: Ie72189edf9b59fd8d192d882aaadf1ac05dcb359
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
7bbb9f64103c297d1b9738339f3bfeed0f41030e 21-Oct-2014 John Spurlock <jspurlock@google.com> Sysui: Include shared prefs in service dump.

Also:
- Remove obsolete Prefs helper.
- Use common file for zen-mode prefs.

Bug: 18062541
Change-Id: I9a6a4733eac0ec1c55da5d359c996cb5fe3bb8af
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
a0457c2e92fc85cfba9a52d502d5038ecc7920f4 26-Sep-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
27c7b9295d0ebb0223bd10eb582d171ade870c7e 23-Sep-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
4291fb79c70ba77af4357d53dac2e5626eabba45 16-Sep-2014 John Spurlock <jspurlock@google.com> Zen: Fix recent regression in mode selection after reboot.

Bug:17509473
Change-Id: I761cd90384c490c7ab07fb633133535846701ce6
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
0875a782ad6688407050592dd32169d7a8f0716a 10-Sep-2014 Jason Monk <jmonk@google.com> Merge "Update zen mode and qs strings on locale change" into lmp-dev
4dd81467e33a694138da6916fc68ca79501a9429 08-Sep-2014 Jason Monk <jmonk@google.com> Move zen mode constants and code to framework

This allows the strings and code to be shared with settings.

Bug: 15454830
Change-Id: I9300af4f8b6d80042452b75db3418b20c5c5cc81
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
e2f4771a0105ad6a94ff759353ca00c3a5fba72a 09-Sep-2014 Jason Monk <jmonk@google.com> Update zen mode and qs strings on locale change

Bug: 17288370
Change-Id: Ic6191d5c16687cd760b4a0656d6ee4dbb4c53c45
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
8f8ecd620c796834a1048ec98f0e8072f5ad926c 27-Aug-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
4db0d98b42a723f2e16c6595e85e866fd26c6d98 13-Aug-2014 John Spurlock <jspurlock@google.com> 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
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
89fe1cb9debbfd629f1467b2a3d957e6dc1a8507 06-Aug-2014 John Spurlock <jspurlock@google.com> Zen: Show subhead for Indefinitely.

Bug:16824870
Change-Id: Ic10d68df39c5afe06503d3b37a960c9319f84056
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
eb2727bb2f0f32016ca7c4bdd2c0a79eec8cb80a 20-Jul-2014 John Spurlock <jspurlock@google.com> Volume: new coat of paint.

- Two sections (lighter header, darker detail) like QS.
- Fewer text variants.
- Remove backgrounds for segmented buttons.
- Remove alarm warning background.
- Fix slider-only style.
- Ensure all touch-targets are 48dp.

Bug:16419191

Change-Id: I220f3a736eba3dd7a1b9ff58a8fe4bf3d21db61a
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
b71e68f9aa44b220cabaace70493751538d94dc0 18-Jul-2014 John Spurlock <jspurlock@google.com> Volume: Rocker animation + style updates.

- Add more spacing at the top
- Update window animations to fades
- Improve style for alarm warnings

Bug:16200897
Change-Id: I7a64e235eff1f9a77fc697a98a4440bc69043386
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
969265af3131f7213cab50c08e09700ed6af4a88 17-Jul-2014 John Spurlock <jspurlock@google.com> Merge "Zen: Maintain selection throughout rocker session." into lmp-dev
fbb3d6ff392e9cd13fea49f85f12efd0a304d448 17-Jul-2014 John Spurlock <jspurlock@google.com> Zen: Maintain selection throughout rocker session.

While the panel is visible, allow toggling between
none + priority (and even 'all') without resetting
the exit condition.

Bug:16350606
Change-Id: I830be8ccad1ba95a64239f00a72f773c4fe739f2
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
89f060a1e0fa48c497855d061b5c9ec44bb576c8 17-Jul-2014 John Spurlock <jspurlock@google.com> Zen: Return of the alarm warning.

- Remove the term timers from subtitle, the term "alarms"
is now inclusive of timers.
- Resurrect the alarm warning, give it a more prominent
appearance if we can detect an overlap in a time-based
exit condition and the next alarm time.

Change-Id: I5d6d67694c7acc9e2a5a7c63e647069744a22cec
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
50806fc4ceff4bb093a18bdecb506163e68b9cbb 15-Jul-2014 John Spurlock <jspurlock@google.com> Zen: handle exit conditions across reboots.

- Use the persisted exit condition (and a new
persisted exit component) to immediately resubscribe
to the manual exit condition (if present)
- Fire false immediately for old countdown conditions.
- Add a new zen lens to noman dump, and a bit more info.
- Refresh the current exit condition when reopening the panel.

Bug:15844990
Bug:16212455
Change-Id: I8bfaf1b2a6cf3d8818002a9db5c527ad3aa4c05c
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
bc5858f4893558ae6fee24c14489be56e6c3f528 11-Jul-2014 John Spurlock <jspurlock@google.com> Zen: Be more defensive against old time conditions.

Bug:16192570
Change-Id: If5097174fac89c5d809271241645d1efca92476e
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
8263c3e0647e0d9622585f1c196ceb8d2fde695e 11-Jul-2014 John Spurlock <jspurlock@google.com> Volume: Elide collapsed condition title if no end.

And make expanded title non-clickable.

Bug:16211705
Change-Id: I675b8ad8d08dca9a3f38292c45b771dc6532de77
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
980f9925bb044bc87c1de1f0e21372f46d7d596d 11-Jul-2014 John Spurlock <jspurlock@google.com> Merge "Volume: Use accent color for selected radio button."
f7d22132c2c9b83134b05aaed63a89f61c639fd9 11-Jul-2014 John Spurlock <jspurlock@google.com> Volume: Use accent color for selected radio button.

Bug:16212456
Change-Id: Ic1badeaf6eec98cd2780592660a36d7087bb677b
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
86d04fdaa1853cf7ff8ec9aba1dd925dd098167e 11-Jul-2014 John Spurlock <jspurlock@google.com> Volume: Promote alarm warning to title.

Bug:16211556
Change-Id: I839e08d1ba26ba825a9799f92c9b600feb91a81b
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
d71517be7c73aa36b8c1b15fa2221b56e20c80ab 08-Jul-2014 John Spurlock <jspurlock@google.com> Include timers in no-interruptions warning, always show.

Bug:15831713
Change-Id: I83434d882ba1168bba4de8f1d58334742eb863a3
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
ae641c9ccd3f81214cee54a5f13804f1765187ad 01-Jul-2014 John Spurlock <jspurlock@google.com> Implement new volume UI design.

- Add segmented zen-mode picker to the rocker UI.
- Add a new "no interruptions" value to the zen setting.
- Implement expandable condition subpanel on the rocker UI.
- Remove the old circle&slash icons.
- Suppress alarm sounds if in "no interruptions" mode.
- Add warning re: alarms to the condition UI.
- Allow rocker UI to display over the keyguard.
- Remove Notifications QS tile.
- Realign volume rocker to the top of the screen.
- Add support for new "days" sleepMode.
- New icon policy rules for "volume" slot.
- New important icon (star).

Associated Settings change:
I6ed56791784968adfbd684f490dbbebed285a2dd

Bug:15831713
Change-Id: I35afe38646f04d2ba0dbac11c2c6356120a33694
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
7f8f22a53005f776c8ee4d299e748e74b077ffd9 03-Jul-2014 John Spurlock <jspurlock@google.com> QS: Wifi control panel.

Create first example of an inline detail view with line
items, bind to new access-point controller.

Move the common bits of all control panels into a
common abstraction. Share common parts of layout
(More settings / done button).

Change-Id: I14a1bf548f3291dc628f97bf09dd4e38ac2fb2dc
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
2769ac290784d2057f44589aeae5140102b21af3 06-Jun-2014 John Spurlock <jspurlock@google.com> VolumeZen: Only display active condition when entering.

Instead of always displaying the active condition, only
show it the first time (when turning zen on).

Bug:15455271
Change-Id: I89e8e2c09fa0d06a5e4c3174f825dfe5a452f06e
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
856edebad73560e9b1cce021a7de9a0470d07176 02-Jun-2014 John Spurlock <jspurlock@google.com> Zen: Stateful condition panel.

When DND is on, expanded panel shows the current time
condition, or time remaining. The last time bucket
selected is remembered as the default option for the
next time.

Move the server-side countdown helper into a proper
condition provider, but register it in-process as a
system provider.

Move common countdown condition parsing into ZenModeConfig
to reuse from system components.

Keep the manual exit condition around in zen mode config
and add plumbing for getting / listening to the
controller.

Keep the last QS detail panel around instead of
recreating it every time.

Fix the time condition's plus and minus button
enabling logic, and enhance the click handler to
deal properly with the next or previous bucket.

Bug:15344758
Change-Id: Ie7018a1c20e20f6d7e5f9e7874188374e6f8e2ab
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
7f1df5e98578f8532a5e009009e7c1f82ed5885c 01-Jun-2014 John Spurlock <jspurlock@google.com> VolumeZen: Slider icon as ringer-mode toggle.

- When manipulating the ringer/notification stream, the volume
slider icon on the left now serves as a toggle. Single-press
for vibrate, long-press for silent.
- Disable slider when silent.
- Add touch feedback to slider icon when clickable.
- Vibrate when toggling to vibrate.
- Play sound when toggling to audible.
- Adjust the slider icon padding so it appears to be square,
and the same size as the icon on the right.

Bug:15330217
Change-Id: Id7262d9315e6e761e1d5750714c356c3ac735951
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java
8600534df66c2ff5846ed230b50c56229322d48a 23-May-2014 John Spurlock <jspurlock@google.com> VolumeZen: combine ringer/notification volume and zen.

- Implement a new volume panel widget, combining volume and
zen mode + conditions.
- Show zen mode + conditions when modifying ringer or notification
streams.
- Host the volume panel widget in a dialog when being controlled
by the audio service / volume keys.
- Remove support for multiple sliders in the volume panel.
- Remove support for separate ringer + notification volumes
in the volume panel.
- Move volume panel resources up to SystemUI.
- Create a new combined Notifications quick settings tile.
- Host the volume panel widget in the quick settings panel under
Notifications.
- When the quick settings detail panel is visible, route the volume
keys to the embedded widget instead of showing a redundant dialog.
- Create common styles for quick settings text to be closer to spec.
- Update the framework resources for the ringer stream.
- Show the ringer icons in global actions.
- Add "until you turn this off" back as a separate zen condition.
- Disable time condition buttons when they are N/A.
- Don't allow volume changes to set ringer mode silent.

Bug:15186070
Change-Id: Id5e321dd1d5e7c4cf3917027ffbdf7e80d38b00d
/frameworks/base/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java