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
diff --git a/services/core/java/com/android/server/notification/ZenLog.java b/services/core/java/com/android/server/notification/ZenLog.java
index 44fbd2d..c45071b 100644
--- a/services/core/java/com/android/server/notification/ZenLog.java
+++ b/services/core/java/com/android/server/notification/ZenLog.java
@@ -115,8 +115,11 @@
append(TYPE_UNSUBSCRIBE, uri + "," + subscribeResult(provider, e));
}
- public static void traceConfig(String reason, ZenModeConfig newConfig) {
- append(TYPE_CONFIG, reason + "," + (newConfig != null ? newConfig.toString() : null));
+ public static void traceConfig(String reason, ZenModeConfig oldConfig,
+ ZenModeConfig newConfig) {
+ append(TYPE_CONFIG, reason
+ + "," + (newConfig != null ? newConfig.toString() : null)
+ + "," + ZenModeConfig.diff(oldConfig, newConfig));
}
public static void traceDisableEffects(NotificationRecord record, String reason) {