From a62496d8f7cb9048331451af07466b1edc568c7d Mon Sep 17 00:00:00 2001 From: Julia Reynolds Date: Fri, 29 Jan 2016 15:29:16 -0500 Subject: [PATCH] Re-SystemApi some fields/method that aren't in use. Bug: 26816334 Change-Id: Ib01e7856cd65e294c018017c600f8b3dce2be844 --- api/current.txt | 2 +- api/removed.txt | 8 +++++ api/system-current.txt | 3 +- api/test-current.txt | 2 +- api/test-removed.txt | 8 +++++ .../android/service/notification/Condition.java | 39 ++++++++++++++++++++-- .../notification/ConditionProviderService.java | 19 ++++++----- .../notification/CountdownConditionProvider.java | 5 --- .../notification/EventConditionProvider.java | 6 ---- .../notification/ScheduleConditionProvider.java | 6 ---- 10 files changed, 68 insertions(+), 30 deletions(-) diff --git a/api/current.txt b/api/current.txt index dfc561d0fd9d..c6504a2b8257 100644 --- a/api/current.txt +++ b/api/current.txt @@ -34345,6 +34345,7 @@ package android.service.media { package android.service.notification { public class Condition implements android.os.Parcelable { + ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); method public android.service.notification.Condition copy(); method public int describeContents(); @@ -34376,7 +34377,6 @@ package android.service.notification { method public final void notifyConditions(android.service.notification.Condition...); method public android.os.IBinder onBind(android.content.Intent); method public abstract void onConnected(); - method public abstract 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"; diff --git a/api/removed.txt b/api/removed.txt index 2c6729d2c159..0bf659438340 100644 --- a/api/removed.txt +++ b/api/removed.txt @@ -199,6 +199,14 @@ package android.provider { } +package android.service.notification { + + public abstract class ConditionProviderService extends android.app.Service { + method public void onRequestConditions(int); + } + +} + package android.test.mock { public deprecated class MockPackageManager extends android.content.pm.PackageManager { diff --git a/api/system-current.txt b/api/system-current.txt index 979ef2faf409..f59bcbb40c65 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -36525,6 +36525,7 @@ package android.service.media { package android.service.notification { public class Condition implements android.os.Parcelable { + ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); method public android.service.notification.Condition copy(); method public int describeContents(); @@ -36556,7 +36557,7 @@ package android.service.notification { method public final void notifyConditions(android.service.notification.Condition...); method public android.os.IBinder onBind(android.content.Intent); method public abstract void onConnected(); - method public abstract void onRequestConditions(int); + 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"; diff --git a/api/test-current.txt b/api/test-current.txt index 88ab3d827e94..d6c5f9830c20 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -34360,6 +34360,7 @@ package android.service.media { package android.service.notification { public class Condition implements android.os.Parcelable { + ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int); ctor public Condition(android.net.Uri, java.lang.String, java.lang.String, java.lang.String, int, int, int); method public android.service.notification.Condition copy(); method public int describeContents(); @@ -34391,7 +34392,6 @@ package android.service.notification { method public final void notifyConditions(android.service.notification.Condition...); method public android.os.IBinder onBind(android.content.Intent); method public abstract void onConnected(); - method public abstract 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"; diff --git a/api/test-removed.txt b/api/test-removed.txt index 2c6729d2c159..0bf659438340 100644 --- a/api/test-removed.txt +++ b/api/test-removed.txt @@ -199,6 +199,14 @@ package android.provider { } +package android.service.notification { + + public abstract class ConditionProviderService extends android.app.Service { + method public void onRequestConditions(int); + } + +} + package android.test.mock { public deprecated class MockPackageManager extends android.content.pm.PackageManager { diff --git a/core/java/android/service/notification/Condition.java b/core/java/android/service/notification/Condition.java index 2c7bf65be916..11737c65314e 100644 --- a/core/java/android/service/notification/Condition.java +++ b/core/java/android/service/notification/Condition.java @@ -16,6 +16,7 @@ package android.service.notification; +import android.annotation.SystemApi; import android.content.Context; import android.net.Uri; import android.os.Parcel; @@ -24,7 +25,8 @@ import android.os.Parcelable; import java.util.Objects; /** - * Condition information from condition providers. + * Condition information from condition providers. 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 { @@ -38,14 +40,47 @@ public class Condition implements Parcelable { public static final int FLAG_RELEVANT_NOW = 1 << 0; public static final int FLAG_RELEVANT_ALWAYS = 1 << 1; + /** + * The URI representing the condition being updated. + * See {@link android.app.AutomaticZenRule#getConditionId()}. + */ public final Uri id; + + /** + * A summary of what the rule encoded in {@link #id} means when it is enabled. User visible + * if the state of the condition is {@link #STATE_TRUE}. + */ public final String summary; + + /** + * Additional information about what the rule encoded in {@link #id} means when it is enabled. + * User visible if the state of the condition is {@link #STATE_TRUE}. + */ public final String line1; + + /** + * Additional information about what the rule encoded in {@link #id} means when it is enabled. + * User visible if the state of the condition is {@link #STATE_TRUE}. + */ public final String line2; - public final int icon; + + /** + * The state of this condition. {@link #STATE_TRUE} will enable Do Not Disturb mode. Any other + * state will turn Do Not Disturb off for this rule. Note that Do Not Disturb might still be + * enabled globally if other conditions are in a {@link #STATE_TRUE} state. + */ public final int state; + + @SystemApi public final int flags; + @SystemApi + public final int icon; + + public Condition(Uri id, String summary, String line1, String line2, int state) { + this(id, summary, line1, line2, -1, state, FLAG_RELEVANT_ALWAYS); + } + @SystemApi public Condition(Uri id, String summary, String line1, String line2, int icon, int state, int flags) { if (id == null) throw new IllegalArgumentException("id is required"); diff --git a/core/java/android/service/notification/ConditionProviderService.java b/core/java/android/service/notification/ConditionProviderService.java index eff09d62e56e..adcc9d688cda 100644 --- a/core/java/android/service/notification/ConditionProviderService.java +++ b/core/java/android/service/notification/ConditionProviderService.java @@ -17,6 +17,7 @@ package android.service.notification; import android.annotation.SdkConstant; +import android.annotation.SystemApi; import android.app.INotificationManager; import android.app.Service; import android.content.ComponentName; @@ -102,13 +103,10 @@ public abstract class ConditionProviderService extends Service { abstract public void onConnected(); /** - * Called when the system wants to know the state of Conditions managed by this provider. - * - * Implementations should evaluate the state of all subscribed conditions, and provide updates - * by calling {@link #notifyCondition(Condition)} or {@link #notifyConditions(Condition...)}. - * @param relevance + * @removed */ - abstract public void onRequestConditions(int relevance); + @SystemApi + public void onRequestConditions(int relevance) {} /** * Called by the system when there is a new {@link Condition} to be managed by this provider. @@ -131,7 +129,11 @@ public abstract class ConditionProviderService extends Service { } /** - * Informs the notification manager that the state of a Condition has changed. + * Informs the notification manager that the state of a Condition has changed. Use this method + * to put the system into Do Not Disturb mode or request that it exits Do Not Disturb mode. This + * call will be ignored unless there is an enabled {@link android.app.AutomaticZenRule} owned by + * service that has an {@link android.app.AutomaticZenRule#getConditionId()} equal to this + * {@link Condition#id}. * @param condition the condition that has changed. */ public final void notifyCondition(Condition condition) { @@ -140,7 +142,8 @@ public abstract class ConditionProviderService extends Service { } /** - * Informs the notification manager that the state of one or more Conditions has changed. + * Informs the notification manager that the state of one or more Conditions has changed. See + * {@link #notifyCondition(Condition)} for restrictions. * @param conditions the changed conditions. */ public final void notifyConditions(Condition... conditions) { diff --git a/services/core/java/com/android/server/notification/CountdownConditionProvider.java b/services/core/java/com/android/server/notification/CountdownConditionProvider.java index 07903e97a2d0..c1a7ac63aa46 100644 --- a/services/core/java/com/android/server/notification/CountdownConditionProvider.java +++ b/services/core/java/com/android/server/notification/CountdownConditionProvider.java @@ -107,11 +107,6 @@ public class CountdownConditionProvider extends SystemConditionProviderService { } @Override - public void onRequestConditions(int relevance) { - // by convention - } - - @Override public void onSubscribe(Uri conditionId) { if (DEBUG) Slog.d(TAG, "onSubscribe " + conditionId); mTime = ZenModeConfig.tryParseCountdownConditionId(conditionId); diff --git a/services/core/java/com/android/server/notification/EventConditionProvider.java b/services/core/java/com/android/server/notification/EventConditionProvider.java index a4d5bce3363c..ab3cb8326b29 100644 --- a/services/core/java/com/android/server/notification/EventConditionProvider.java +++ b/services/core/java/com/android/server/notification/EventConditionProvider.java @@ -134,12 +134,6 @@ public class EventConditionProvider extends SystemConditionProviderService { } @Override - public void onRequestConditions(int relevance) { - if (DEBUG) Slog.d(TAG, "onRequestConditions relevance=" + relevance); - // does not advertise conditions - } - - @Override public void onSubscribe(Uri conditionId) { if (DEBUG) Slog.d(TAG, "onSubscribe " + conditionId); if (!ZenModeConfig.isValidEventConditionId(conditionId)) { diff --git a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java index 44448cc602d9..c9b0ebbfa469 100644 --- a/services/core/java/com/android/server/notification/ScheduleConditionProvider.java +++ b/services/core/java/com/android/server/notification/ScheduleConditionProvider.java @@ -107,12 +107,6 @@ public class ScheduleConditionProvider extends SystemConditionProviderService { } @Override - public void onRequestConditions(int relevance) { - if (DEBUG) Slog.d(TAG, "onRequestConditions relevance=" + relevance); - // does not advertise conditions - } - - @Override public void onSubscribe(Uri conditionId) { if (DEBUG) Slog.d(TAG, "onSubscribe " + conditionId); if (!ZenModeConfig.isValidScheduleConditionId(conditionId)) { -- 2.11.0