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
diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java
index fc2eced..b36fcd2 100644
--- a/services/core/java/com/android/server/notification/ConditionProviders.java
+++ b/services/core/java/com/android/server/notification/ConditionProviders.java
@@ -142,6 +142,9 @@
} catch (RemoteException e) {
// we tried
}
+ if (mCallback != null) {
+ mCallback.onServiceAdded(info.component);
+ }
}
@Override
@@ -246,6 +249,16 @@
}
}
+ public IConditionProvider findConditionProvider(ComponentName component) {
+ if (component == null) return null;
+ for (ManagedServiceInfo service : mServices) {
+ if (component.equals(service.component)) {
+ return provider(service);
+ }
+ }
+ return null;
+ }
+
public void ensureRecordExists(ComponentName component, Uri conditionId,
IConditionProvider provider) {
// constructed by convention, make sure the record exists...
@@ -378,6 +391,7 @@
public interface Callback {
void onBootComplete();
+ void onServiceAdded(ComponentName component);
void onConditionChanged(Uri id, Condition condition);
void onUserSwitched();
}