History log of /frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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/statusbar/policy/ZenModeControllerImpl.java
b4782526f5600d9759baac64b23e0c0cd05e2050 22-Aug-2014 John Spurlock <jspurlock@google.com> Display notification effects suppressor in the volume panel.

Bug:16958514

Change-Id: I0eac173875e8af62e3c6b39001722c3fda4517de
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.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/statusbar/policy/ZenModeControllerImpl.java
235510e67210f90de30c2d5582a2077ccc589619 13-Aug-2014 Jose Lima <joselima@google.com> Made AlarmClockInfo a nested class in AlarmManager

Bug: 16959028
Change-Id: I150eaaff765d1e214c3621c1bf50162ec0dac8ec
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java
45601d6b64f2117b0bee1d23d55d420bbf273c5c 07-Aug-2014 John Spurlock <jspurlock@google.com> Volume: Hide zen options during setup.

Only show the slider before provisioning and
user setup.

Bug:16825823

Change-Id: I856c736ed91ed20371176c2bba84b5d7e2ebc6cb
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java
8b0249da3ee6fd9f23ba59ee03eb19d9ee8efa92 17-Jul-2014 John Spurlock <jspurlock@google.com> QS: Fix crash switching users.

Bug:16375449
Change-Id: I971c5b043edcffe669c29bbc566b80696b6251b2
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.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/statusbar/policy/ZenModeControllerImpl.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/statusbar/policy/ZenModeControllerImpl.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/statusbar/policy/ZenModeControllerImpl.java
ccb6b9a90f228cc4e31a9442ed28756ff474c080 17-May-2014 John Spurlock <jspurlock@google.com> QuickSettings: only listen when expanded.

Register for active state updates only when the quick settings
panel is open.

Don't allow a dual-target tile and single-target tile on the same row.

Bug:14133785
Change-Id: I8a5ad3df9b67b5bc3518210d62b705483a422d8e
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java
af8d6c44f06d2f8baac2c5774a9efdae3fc36797 07-May-2014 John Spurlock <jspurlock@google.com> New quick settings implementation.

Bug:14133785
Change-Id: I7f57f8e7ebcc3e1a06fa5204f477470f14299e1f
/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java