From 83eec7037bfe8a84088cca6dc1446dcf1edb4695 Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Wed, 25 May 2016 12:29:55 -0400 Subject: [PATCH 1/2] Note timezone changes. Bug: 28945282 Change-Id: I62fc62e359435f19fecd7e52b2fe778475c5804c --- .../server/notification/ScheduleConditionProvider.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java index 15a63ec6875ba..e3dcf1401f3ac 100644 --- a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java +++ b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java @@ -36,6 +36,7 @@ import android.util.Slog; import com.android.server.notification.NotificationManagerService.DumpFilter; import java.io.PrintWriter; +import java.util.Calendar; import java.util.TimeZone; /** @@ -237,6 +238,14 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { @Override public void onReceive(Context context, Intent intent) { if (DEBUG) Slog.d(TAG, "onReceive " + intent.getAction()); + if (Intent.ACTION_TIMEZONE_CHANGED.equals(intent.getAction())) { + for (Uri conditionId : mSubscriptions.keySet()) { + final ScheduleCalendar cal = mSubscriptions.get(conditionId); + if (cal != null) { + cal.setTimeZone(Calendar.getInstance().getTimeZone()); + } + } + } evaluateSubscriptions(); } }; From ad41a6f0def1dfef9fb5ad1a7bed355760eed6be Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Tue, 17 May 2016 16:55:18 -0400 Subject: [PATCH 2/2] Api updates. Change-Id: Ibafef673c54e4ff07bca2bbe70db6cad799b8033 Fixes: 28818092 --- api/current.txt | 4 ++-- api/system-current.txt | 4 ++-- api/test-current.txt | 4 ++-- core/java/android/service/notification/Condition.java | 2 +- .../service/notification/ConditionProviderService.java | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/current.txt b/api/current.txt index 70ea1c577134e..b109f988688ef 100644 --- a/api/current.txt +++ b/api/current.txt @@ -34569,7 +34569,7 @@ package android.service.media { package android.service.notification { - public class Condition implements android.os.Parcelable { + public final class Condition implements android.os.Parcelable { ctor public Condition(android.net.Uri, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); ctor public Condition(android.os.Parcel); @@ -34606,7 +34606,7 @@ package android.service.notification { method public void onRequestConditions(int); method public abstract void onSubscribe(android.net.Uri); method public abstract void onUnsubscribe(android.net.Uri); - field public static final java.lang.String EXTRA_RULE_ID = "android.content.automatic.ruleId"; + field public static final java.lang.String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID"; field public static final java.lang.String META_DATA_CONFIGURATION_ACTIVITY = "android.service.zen.automatic.configurationActivity"; field public static final java.lang.String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit"; field public static final java.lang.String META_DATA_RULE_TYPE = "android.service.zen.automatic.ruleType"; diff --git a/api/system-current.txt b/api/system-current.txt index a6f612d195bf6..c7ff526dddbfe 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -37292,7 +37292,7 @@ package android.service.notification { field public static final java.lang.String NEEDS_AUTOGROUPING_KEY = "autogroup_needed"; } - public class Condition implements android.os.Parcelable { + public final class Condition implements android.os.Parcelable { ctor public Condition(android.net.Uri, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); ctor public Condition(android.os.Parcel); @@ -37329,7 +37329,7 @@ package android.service.notification { method public void onRequestConditions(int); method public abstract void onSubscribe(android.net.Uri); method public abstract void onUnsubscribe(android.net.Uri); - field public static final java.lang.String EXTRA_RULE_ID = "android.content.automatic.ruleId"; + field public static final java.lang.String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID"; field public static final java.lang.String META_DATA_CONFIGURATION_ACTIVITY = "android.service.zen.automatic.configurationActivity"; field public static final java.lang.String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit"; field public static final java.lang.String META_DATA_RULE_TYPE = "android.service.zen.automatic.ruleType"; diff --git a/api/test-current.txt b/api/test-current.txt index 37bc7afb69ef1..1e19db7e5f283 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -34646,7 +34646,7 @@ package android.service.media { package android.service.notification { - public class Condition implements android.os.Parcelable { + public final class Condition implements android.os.Parcelable { ctor public Condition(android.net.Uri, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); ctor public Condition(android.os.Parcel); @@ -34683,7 +34683,7 @@ package android.service.notification { method public void onRequestConditions(int); method public abstract void onSubscribe(android.net.Uri); method public abstract void onUnsubscribe(android.net.Uri); - field public static final java.lang.String EXTRA_RULE_ID = "android.content.automatic.ruleId"; + field public static final java.lang.String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID"; field public static final java.lang.String META_DATA_CONFIGURATION_ACTIVITY = "android.service.zen.automatic.configurationActivity"; field public static final java.lang.String META_DATA_RULE_INSTANCE_LIMIT = "android.service.zen.automatic.ruleInstanceLimit"; field public static final java.lang.String META_DATA_RULE_TYPE = "android.service.zen.automatic.ruleType"; diff --git a/core/java/android/service/notification/Condition.java b/core/java/android/service/notification/Condition.java index 0163b47f2ba7f..447afe62fd1a9 100644 --- a/core/java/android/service/notification/Condition.java +++ b/core/java/android/service/notification/Condition.java @@ -33,7 +33,7 @@ import java.util.Objects; * {@link ConditionProviderService} that owns the rule. Used to tell the system to enter Do Not * Disturb mode and request that the system exit Do Not Disturb mode. */ -public class Condition implements Parcelable { +public final class Condition implements Parcelable { @SystemApi public static final String SCHEME = "condition"; diff --git a/core/java/android/service/notification/ConditionProviderService.java b/core/java/android/service/notification/ConditionProviderService.java index 44c3887ec35d2..9d4b0a4057b39 100644 --- a/core/java/android/service/notification/ConditionProviderService.java +++ b/core/java/android/service/notification/ConditionProviderService.java @@ -95,7 +95,7 @@ public abstract class ConditionProviderService extends Service { /** * A String rule id extra passed to {@link #META_DATA_CONFIGURATION_ACTIVITY}. */ - public static final String EXTRA_RULE_ID = "android.content.automatic.ruleId"; + public static final String EXTRA_RULE_ID = "android.service.notification.extra.RULE_ID"; /** * Called when this service is connected.