From 44a231368df8a2a9b126a839144d36de5dd19554 Mon Sep 17 00:00:00 2001 From: Gustav Sennton Date: Thu, 28 Feb 2019 18:02:52 +0000 Subject: [PATCH] Annotate Notification.Action.Builder building methods with @NonNull. Annotate all Builder methods returning the Build objects as @NonNull, this is to support Kotlin developers. Bug: 126698549 Test: N/A Change-Id: I147a61d73f7d819571dfe97f1b55d4c79cffbf52 --- api/current.txt | 14 +++++++------- core/java/android/app/Notification.java | 7 +++++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/api/current.txt b/api/current.txt index db064e4f4034d..6360bb03c0e99 100644 --- a/api/current.txt +++ b/api/current.txt @@ -5419,14 +5419,14 @@ package android.app { ctor @Deprecated public Notification.Action.Builder(int, CharSequence, android.app.PendingIntent); ctor public Notification.Action.Builder(android.graphics.drawable.Icon, CharSequence, android.app.PendingIntent); ctor public Notification.Action.Builder(android.app.Notification.Action); - method public android.app.Notification.Action.Builder addExtras(android.os.Bundle); - method public android.app.Notification.Action.Builder addRemoteInput(android.app.RemoteInput); - method public android.app.Notification.Action build(); - method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Extender); + method @NonNull public android.app.Notification.Action.Builder addExtras(android.os.Bundle); + method @NonNull public android.app.Notification.Action.Builder addRemoteInput(android.app.RemoteInput); + method @NonNull public android.app.Notification.Action build(); + method @NonNull public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Extender); method public android.os.Bundle getExtras(); - method public android.app.Notification.Action.Builder setAllowGeneratedReplies(boolean); - method public android.app.Notification.Action.Builder setContextual(boolean); - method public android.app.Notification.Action.Builder setSemanticAction(int); + method @NonNull public android.app.Notification.Action.Builder setAllowGeneratedReplies(boolean); + method @NonNull public android.app.Notification.Action.Builder setContextual(boolean); + method @NonNull public android.app.Notification.Action.Builder setSemanticAction(int); } public static interface Notification.Action.Extender { diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java index 2e7093db92f08..639416aa46d76 100644 --- a/core/java/android/app/Notification.java +++ b/core/java/android/app/Notification.java @@ -1629,6 +1629,7 @@ public class Notification implements Parcelable * * @see Notification.Action#extras */ + @NonNull public Builder addExtras(Bundle extras) { if (extras != null) { mExtras.putAll(extras); @@ -1652,6 +1653,7 @@ public class Notification implements Parcelable * @param remoteInput a {@link RemoteInput} to add to the action * @return this object for method chaining */ + @NonNull public Builder addRemoteInput(RemoteInput remoteInput) { if (mRemoteInputs == null) { mRemoteInputs = new ArrayList(); @@ -1669,6 +1671,7 @@ public class Notification implements Parcelable * @return this object for method chaining * The default value is {@code true} */ + @NonNull public Builder setAllowGeneratedReplies(boolean allowGeneratedReplies) { mAllowGeneratedReplies = allowGeneratedReplies; return this; @@ -1682,6 +1685,7 @@ public class Notification implements Parcelable * {@code SEMANTIC_ACTION_} prefixes * @return this object for method chaining */ + @NonNull public Builder setSemanticAction(@SemanticAction int semanticAction) { mSemanticAction = semanticAction; return this; @@ -1692,6 +1696,7 @@ public class Notification implements Parcelable * dependent on the notification message body. An example of a contextual action could * be an action opening a map application with an address shown in the notification. */ + @NonNull public Builder setContextual(boolean isContextual) { mIsContextual = isContextual; return this; @@ -1701,6 +1706,7 @@ public class Notification implements Parcelable * Apply an extender to this action builder. Extenders may be used to add * metadata or change options on this builder. */ + @NonNull public Builder extend(Extender extender) { extender.extend(this); return this; @@ -1728,6 +1734,7 @@ public class Notification implements Parcelable * object. * @return the built action */ + @NonNull public Action build() { checkContextualActionNullFields();