From 51f52d8007c799e676119599a0bcf384e06479ec Mon Sep 17 00:00:00 2001 From: Michael Groover Date: Mon, 13 Feb 2023 16:04:33 -0600 Subject: [PATCH] Expose BroadcastOptions public constructor Android 14 added support for a broadcasting app to share its identity with receivers by setting an option in BroadcastOptions. This commit exposes the BroadcastOptions public constructor as a public API and restores makeBasic to a system API. Bug: 267619944 Test: atest ShareIdentityTest Change-Id: I7f28ba3caf4f3822895fba276e76980d56097ef6 Merged-In: I7f28ba3caf4f3822895fba276e76980d56097ef6 --- core/api/current.txt | 2 +- core/api/system-current.txt | 1 + core/java/android/app/BroadcastOptions.java | 10 +++++++++- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/core/api/current.txt b/core/api/current.txt index 9955112649d3e..048f0c1cf6055 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -5279,8 +5279,8 @@ package android.app { } public class BroadcastOptions { + ctor public BroadcastOptions(); method public boolean isShareIdentityEnabled(); - method @NonNull public static android.app.BroadcastOptions makeBasic(); method @NonNull public android.app.BroadcastOptions setShareIdentityEnabled(boolean); method @NonNull public android.os.Bundle toBundle(); } diff --git a/core/api/system-current.txt b/core/api/system-current.txt index c14de7029a16f..f4a1a0933a993 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -842,6 +842,7 @@ package android.app { method public int getPendingIntentBackgroundActivityStartMode(); method public boolean isDeferUntilActive(); method @Deprecated public boolean isPendingIntentBackgroundActivityLaunchAllowed(); + method @Deprecated @NonNull public static android.app.BroadcastOptions makeBasic(); method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void recordResponseEventWhileInBackground(@IntRange(from=0) long); method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean); method @NonNull public android.app.BroadcastOptions setDeferUntilActive(boolean); diff --git a/core/java/android/app/BroadcastOptions.java b/core/java/android/app/BroadcastOptions.java index f35bdfb83ca34..fe40a4ce3d13e 100644 --- a/core/java/android/app/BroadcastOptions.java +++ b/core/java/android/app/BroadcastOptions.java @@ -262,7 +262,12 @@ public class BroadcastOptions extends ComponentOptions { * Creates a basic {@link BroadcastOptions} with no options initially set. * * @return an instance of {@code BroadcastOptions} against which options can be set + * + * @deprecated Use {@link BroadcastOptions#BroadcastOptions()} instead. + * @hide */ + @Deprecated + @SystemApi public static @NonNull BroadcastOptions makeBasic() { BroadcastOptions opts = new BroadcastOptions(); return opts; @@ -280,7 +285,10 @@ public class BroadcastOptions extends ComponentOptions { return opts; } - private BroadcastOptions() { + /** + * Creates a new {@code BroadcastOptions} with no options initially set. + */ + public BroadcastOptions() { super(); resetTemporaryAppAllowlist(); }