History log of /frameworks/base/core/java/android/service/notification/ZenModeConfig.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7f73308f50791740beb380fecc17903301054ad3 26-Apr-2016 Julia Reynolds <juliacr@google.com> More bugreport logging for scheduleconditionprovider.

Bug: 28261291
Change-Id: I70d1b466a9d4e18e5f4d9b1209711c442434ecab
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
a09b4d2a611a7606e8fc8c73a24bd941b6fc173f 15-Apr-2016 Narayan Kamath <narayan@google.com> Remove unnecessary allocation+unboxing of objects.

Transforming String->int can be done with 0 allocations
using Integer.parseInt.

bug: 28078871
Change-Id: I8d9f322d7154728849dde61ef282046032858d60
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
361e82d399d33e0c45e9a002f2e519f1457a84ad 27-Feb-2016 Julia Reynolds <juliacr@google.com> Api review: AutomaticZenRule

Bug: 27364144
Change-Id: I17fec34d7a277173820bed7829baf5bf905f327a
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
1998ee56285419ff7fea0ec9a247e31d1d27a0ab 11-Feb-2016 Julia Reynolds <juliacr@google.com> Alarm can end time-based rule.

Bug: 21069008
Change-Id: I857d85a32eb44ca873da4a9f19323c48a922ab9f
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
d560729ce3a6f3d51c03d39768815b4c49f7a8f4 05-Feb-2016 Julia Reynolds <juliacr@google.com> Update DND visual interruption choices.

Change-Id: I7050264839c566dcef1dd01d155dda694a8d1ec0
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
617215874db9c208a74dc97f4133e6b6fc96271c 05-Jan-2016 Julia Reynolds <juliacr@google.com> DND visual interruptions: prevent screen on.

Bug: 25423508
Change-Id: Ie935a2051e1ae774fbeaf624f3599b2b1bb8666d
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
c8e54e8d5ec038ee6f520ee95948e2ef20490e97 30-Nov-2015 Julia Reynolds <juliacr@google.com> Cleanup zen rule instances.

1. When a user revokes zen access
2. When a user clears data

Bug: 25472361
Change-Id: Ia439a7c2bd6dc07a60a374caf4157508131e3578
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
f612869ae1190e0885b58a3c33b23d36d7732f06 05-Nov-2015 Julia Reynolds <juliacr@google.com> Allow DND mode to suppress visual interruptions.

Bug: 25423508
Change-Id: Idd8242e4bc00a749dbe0b5503c458375fc017072
/frameworks/base/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.java
4fe98d6d4cc4898809b81d001f6b8a1b71b08f3a 06-Oct-2015 Julia Reynolds <juliacr@google.com> Remove rename automatic zen rule.

Use zen rule id as key when finding matching rule to update.

Bug: 22977552
Change-Id: I7beeb5688aabe409a9a72aaa3aa27932d590c489
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
56106ff337e056d2daa5862545f4a06796d9e9a1 30-Sep-2015 Julia Reynolds <juliacr@google.com> Add id and creation date to Zen rules.

Bug: 22977552
Change-Id: Ic79714ebbcc895e55ee87ccfc0e03b1735255ef3
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
a47a27ffd92f172298c2728040e49d502a2d6c87 24-Aug-2015 Julia Reynolds <juliacr@google.com> Third party DND provider APIs.

Bug: 22977552
Change-Id: I8c1bac317e9aa5d9565afe3f0c4e2be8fc34e6a9
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
ddbe4ca1ca3c585cf86dac3823947ebacb7c9be6 14-Aug-2015 Xiaohui Chen <xiaohuic@google.com> Clean up USER_OWNER in notifications

Bug: 19913735
Change-Id: Ib6c2ed11eee6adf062a6dff00c99e62945153f9e
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
995a749f278b45a2931b2846a60a8231dfd755b4 29-May-2015 John Spurlock <jspurlock@google.com> Zen: Use account name instead of calendar id in event conditions.

- Migrate the existing calendar attribute in the event condition
from a long calendar id to the calendar account name. More
portable across a backup/restore.
- Also skip restoring transient state (like the current condition
state) from restored automatic rules.

Bug: 17755700
Change-Id: I9bdb421d2209e3ce90873008665c254d67c788d2
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
21258a3703fe16b7c4754aec743215f3063bcdac 28-May-2015 John Spurlock <jspurlock@google.com> Zen: Store notification zen policy per-user.

- Keep a zen config per user in NoMan.
- Add zen config for all users to xml policy storage mechanism.
- Initialize config to default for new secondary users.
- Re-evaluate global zen on user switch.
- Remove some unused code in NoMan.
- Make ZenModeHelper aware of multiple users, keep all configs,
add to dump.
- Log config diffs in addition to the config itself in ZenLog.

Bug: 15845915
Change-Id: Ic847451e5d111c74916def1ea0948db5a76966c9
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
1b8b22b1a412539020f78a132cff7c8fa7fae258 20-May-2015 John Spurlock <jspurlock@google.com> Zen: Calendar auto-rule tracks primary calendar for corp profile.

- Track the calendar provider for the managed profile user if found.
- Add userId to the shared data structure to disambig calendar ids.
- Delay rule update a bit to guard against chatty updates.
- Fix logging in calendar rule.

Bug: 21155107
Change-Id: Id2303fcc39b1fa7417b1844b7869d773ef92434c
/frameworks/base/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.java
4755cb3e5d8012b5554369d0df25ba8634267aa2 09-May-2015 John Spurlock <jspurlock@google.com> Merge "Zen: Tweak default automatic rules." into mnc-dev
cb9aa20bddbeebc3a052e40ca3b7d0a511fa8358 08-May-2015 John Spurlock <jspurlock@google.com> Zen: Tweak default automatic rules.

- Add a new default rule for calendar events.
- Rename all default rules to singular form. i.e. Weekend/Weeknight/Event

Bug: 20064962
Change-Id: Iee13238e0479fd2a05abdef4a5584455dcdd0c53
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
807749301fcbda892dfc8a5832b19acf7d1cf53b 07-May-2015 John Spurlock <jspurlock@google.com> Zen: Simplify notification policy api, add zenmode api.

- Remove the concept of a notification policy management token
in favor of a simple grant/deny per app. Currently, all requests
are immediately granted.
- Add zen mode getter/setting, limit to apps that have been granted
policy access.
- Add intent for zen mode changes.
- Public name for zen mode = "interruption filter", moved from
NotificationListenerService to NotificationManager.
- Add settings metadata for new DND access Settings screen.
- Add the split sender settings for calls vs messages to the public
Policy api.
- This change is meant to finalize the public api, persisting
granted app status and showing the user-visible dialog will be
done as followups.

Bug: 18298798
Change-Id: I511be98d69939f057c0c7dc1a6dfe63d1c468193
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
a492d1d88c3fd2bdddb046bc4278553a776bb8bf 06-May-2015 John Spurlock <jspurlock@google.com> Zen: Maintain source filters for both calls and messages.

Bug: 18635172
Change-Id: Ifeb56f1c8d8a30c4966c628edf7512199f3edb22
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
d39af2d3f8c5d87e102aeb79d4148218ff616245 05-May-2015 John Spurlock <jspurlock@google.com> Zen: Remove calendar rule attendance attribute.

- No longer supporting a filter based on attendance type.
- Remove from model + condition provider logic.

Bug: 20064962
Change-Id: I0bc16275a2860ab95d4de316b6326a1499003f05
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
d60258f2d33214077a22c1a682944fa9e47c0461 30-Apr-2015 John Spurlock <jspurlock@google.com> Zen: New event condition data model.

- Add system condition provider for calendar event-based rules.
- Add stub condition provider for handling event conditions.
- Add various shared items to support new settings subpage.

Bug: 20064962
Change-Id: I6f5afe0f1444976f0dc6807048e0580e8a28070e
/frameworks/base/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.java
1fc476d51203c0b76ebd0f2062adf3059437b0dc 14-Apr-2015 John Spurlock <jspurlock@google.com> Zen: Add notification policy management api.

- Allow apps to read and modify notification policy (currently
which items are prioritized in "priority only" mode), but only
after they've been granted access by noman.
- Access to read/modify notification policy requires a token provided
by noman. Enabled notification listeners are automatically given
tokens (new getter on NLS), but any other app can also request them.
- Currently, all requests are granted.
- Also add a new change intent when the public policy changes.

Bug: 18541928
Change-Id: I482d1c39852d0d961931515e0f0e059a8faee4ed
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
39581cc16d3c44acc8f0881d8e63afe53acaa1c1 10-Apr-2015 John Spurlock <jspurlock@google.com> Zen: Support external condition providers.

- Manage provider subscriptions for external condition providers
within ZenModeConditions.
- Move "is automatic rule active" check into common location.
- Add constant for external rule setting configuration page.
- Consolidate log tags.
- Reset rule snoozing on boot.

Bug: 20064962
Change-Id: Ida207dbf363f61e1727974e611f43f27c23accfb
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
1d7d2248ec1f8d8f752bf002b503e3b81042a398 10-Apr-2015 John Spurlock <jspurlock@google.com> Zen: New option to allow repeat callers.

Bug: 20064962
Change-Id: I11a5519c02bf8fa8e332559092c865c5e612fbd2
/frameworks/base/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.java
fc746f8ac5ea74747a502d4a75161a46f9cb892d 03-Apr-2015 John Spurlock <jspurlock@google.com> Zen: Changes to support new priority settings.

Bug: 20064962
Change-Id: Iac3444c0a55830d5e5459e26c2172d974db600d6
/frameworks/base/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.java
cc30c8d729c9d846012ac6dd03c1e51262936e8f 05-Nov-2014 John Spurlock <jspurlock@google.com> Zen: Add the ability to enter "None" mode during downtime.

Updates to the shared config structure and the service backend.

Bug: 16373455
Change-Id: I45761690ba6b32eb81c9e2a5c1f2d4adad93e58d
/frameworks/base/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.java
2dac62c2e985ce1848b0fff751d4ed2cc3885c0c 19-Sep-2014 John Spurlock <jspurlock@google.com> Zen: Add events as a new config attribute.

Decouple events from alarms in the zen interception function,
and default the new allowEvents to true.

Bug:17580878
Change-Id: Iff10df385206ad73c3423ff118c79e94a10918d9
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
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/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.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/core/java/android/service/notification/ZenModeConfig.java
99f963ea04d7a86219ece00c356f3f6bce33b6d6 28-May-2014 Chris Wren <cwren@android.com> Add people signals to Zen mode.

Depends-On: I51fcf689ddbee7715e3387b865f18a715887c943
Change-Id: I7c91dec1afeb54505426c4da59ec4d072a60c240
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
3b98b3f1f85aff0c84ebef4dd497c146d1b4d248 01-May-2014 John Spurlock <jspurlock@google.com> Implement long-term condition subscriptions.

Bind long-term conditions (like "in a meeting") to enter/exit
zen mode automatically.

Persist automatic condition subscriptions to maintain them across
reboots.

Normalize condition state binding: true => enter zen, false => exit.

Change-Id: Icba2b8b25c0a352ae8215f4c0a324e4f966c0165
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java
056c519df1dfb8fdc57daddfdf09bc0e1ffddac4 21-Apr-2014 John Spurlock <jspurlock@google.com> Do not disturb: persist user config.

Load and store user configuration for do not disturb. Separate
out service-related aspects into new helper. Make config availble
over NoMan for settings.

Implement phone + message based filtering (package whitelist for now).

Implement automatic enter/exit zen mode overnight scheduler.

Bug:14211946
Change-Id: Ib28aab0e4c5c9a5fd0b950b2884b1ab618fdfeca
/frameworks/base/core/java/android/service/notification/ZenModeConfig.java