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
This commit is contained in:
Michael Groover
2023-02-13 16:04:33 -06:00
parent d0134ec0c1
commit 51f52d8007
3 changed files with 11 additions and 2 deletions

View File

@@ -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();
}

View File

@@ -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);

View File

@@ -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();
}