diff options
author | Jacky Kao <jackykao@google.com> | 2021-10-05 01:48:25 +0000 |
---|---|---|
committer | Jacky Kao <jackykao@google.com> | 2021-10-05 01:48:25 +0000 |
commit | 0827cf0cca309ae643e2407b42bf3cedf7d7df54 (patch) | |
tree | 169a55d8424ec26511f1b92fb0b887d7c7d633aa | |
parent | f76e50ba481c468d1ebf968cb3c6276f55b9b547 (diff) | |
download | base-0827cf0cca309ae643e2407b42bf3cedf7d7df54.tar.gz |
Revert "Cherrypicking flags and override methods for allowing dy..."
Revert "Required change for adding overload method for registerR..."
Revert submission 1836473-receiverChangesinAOSP
Reason for revert: <INSERT REASONING HERE>
Reverted Changes:Making build break
I906ce9eb0:Required change for adding overload method for reg...
I9a16f566c:Cherrypicking flags and override methods for allow...
Change-Id: I583a11d2a23651db24acde303d522a5faae15c6b
-rw-r--r-- | core/api/current.txt | 2 | ||||
-rw-r--r-- | core/api/system-current.txt | 1 | ||||
-rw-r--r-- | core/java/android/app/ContextImpl.java | 14 | ||||
-rw-r--r-- | core/java/android/content/Context.java | 103 | ||||
-rw-r--r-- | core/java/android/content/ContextWrapper.java | 26 | ||||
-rw-r--r-- | test-mock/src/android/test/mock/MockContext.java | 15 |
6 files changed, 9 insertions, 152 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index e9f44fc15bc9..e4e7d4eec77d 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -10253,8 +10253,6 @@ package android.content { field public static final String NSD_SERVICE = "servicediscovery"; field public static final String POWER_SERVICE = "power"; field public static final String PRINT_SERVICE = "print"; - field public static final int RECEIVER_EXPORTED = 2; // 0x2 - field public static final int RECEIVER_NOT_EXPORTED = 4; // 0x4 field public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 1; // 0x1 field public static final String RESTRICTIONS_SERVICE = "restrictions"; field public static final String ROLE_SERVICE = "role"; diff --git a/core/api/system-current.txt b/core/api/system-current.txt index a61851db8a02..e6015835c636 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -1861,7 +1861,6 @@ package android.content { method @Nullable public abstract java.io.File getPreloadsFileCache(); method public abstract boolean isCredentialProtectedStorage(); method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.content.Intent registerReceiverForAllUsers(@Nullable android.content.BroadcastReceiver, @NonNull android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler); - method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.content.Intent registerReceiverForAllUsers(@Nullable android.content.BroadcastReceiver, @NonNull android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler, int); method public abstract void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle); method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle); method public abstract void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle); diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index 14fb245bd345..12c9cd90222a 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -1635,26 +1635,12 @@ class ContextImpl extends Context { } @Override - public Intent registerReceiverForAllUsers(BroadcastReceiver receiver, - IntentFilter filter, String broadcastPermission, Handler scheduler, int flags) { - return registerReceiverAsUser(receiver, UserHandle.ALL, - filter, broadcastPermission, scheduler, flags); - } - - @Override public Intent registerReceiverAsUser(BroadcastReceiver receiver, UserHandle user, IntentFilter filter, String broadcastPermission, Handler scheduler) { return registerReceiverInternal(receiver, user.getIdentifier(), filter, broadcastPermission, scheduler, getOuterContext(), 0); } - @Override - public Intent registerReceiverAsUser(BroadcastReceiver receiver, UserHandle user, - IntentFilter filter, String broadcastPermission, Handler scheduler, int flags) { - return registerReceiverInternal(receiver, user.getIdentifier(), - filter, broadcastPermission, scheduler, getOuterContext(), flags); - } - private Intent registerReceiverInternal(BroadcastReceiver receiver, int userId, IntentFilter filter, String broadcastPermission, Handler scheduler, Context context, int flags) { diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 20e1900654aa..4293ab0b7f25 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -483,8 +483,8 @@ public abstract class Context { | Context.BIND_NOT_PERCEPTIBLE | Context.BIND_NOT_VISIBLE; /** @hide */ - @IntDef(flag = true, prefix = { "RECEIVER_VISIBLE" }, value = { - RECEIVER_VISIBLE_TO_INSTANT_APPS, RECEIVER_EXPORTED, RECEIVER_NOT_EXPORTED + @IntDef(flag = true, prefix = { "RECEIVER_VISIBLE_" }, value = { + RECEIVER_VISIBLE_TO_INSTANT_APPS }) @Retention(RetentionPolicy.SOURCE) public @interface RegisterReceiverFlags {} @@ -495,18 +495,6 @@ public abstract class Context { public static final int RECEIVER_VISIBLE_TO_INSTANT_APPS = 0x1; /** - * Flag for {@link #registerReceiver}: The receiver can receive broadcasts from other Apps. - * Has the same behavior as marking a statically registered receiver with "exported=true" - */ - public static final int RECEIVER_EXPORTED = 0x2; - - /** - * Flag for {@link #registerReceiver}: The receiver cannot receive broadcasts from other Apps. - * Has the same behavior as marking a statically registered receiver with "exported=false" - */ - public static final int RECEIVER_NOT_EXPORTED = 0x4; - - /** * Returns an AssetManager instance for the application's package. * <p> * <strong>Note:</strong> Implementations of this method should return @@ -2893,12 +2881,8 @@ public abstract class Context { * * @param receiver The BroadcastReceiver to handle the broadcast. * @param filter Selects the Intent broadcasts to be received. - * @param flags Additional options for the receiver. As of - * {@link android.os.Build.VERSION_CODES#TIRAMISU}, either {@link #RECEIVER_EXPORTED} or - * {@link #RECEIVER_NOT_EXPORTED} must be specified if the receiver isn't being registered - * for protected broadcasts, and may additionally specify - * {@link #RECEIVER_VISIBLE_TO_INSTANT_APPS} if {@link #RECEIVER_EXPORTED} is - * specified. + * @param flags Additional options for the receiver. May be 0 or + * {@link #RECEIVER_VISIBLE_TO_INSTANT_APPS}. * * @return The first sticky intent found that matches <var>filter</var>, * or null if there are none. @@ -2970,12 +2954,8 @@ public abstract class Context { * no permission is required. * @param scheduler Handler identifying the thread that will receive * the Intent. If null, the main thread of the process will be used. - * @param flags Additional options for the receiver. As of - * {@link android.os.Build.VERSION_CODES#TIRAMISU}, either {@link #RECEIVER_EXPORTED} or - * {@link #RECEIVER_NOT_EXPORTED} must be specified if the receiver isn't being registered - * for protected broadcasts, and may additionally specify - * {@link #RECEIVER_VISIBLE_TO_INSTANT_APPS} if {@link #RECEIVER_EXPORTED} is - * specified. + * @param flags Additional options for the receiver. May be 0 or + * {@link #RECEIVER_VISIBLE_TO_INSTANT_APPS}. * * @return The first sticky intent found that matches <var>filter</var>, * or null if there are none. @@ -3022,42 +3002,6 @@ public abstract class Context { } /** - * Same as {@link #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler, int)} - * but this receiver will receive broadcasts that are sent to all users. The receiver can - * use {@link BroadcastReceiver#getSendingUser} to determine on which user the broadcast - * was sent. - * - * @param receiver The BroadcastReceiver to handle the broadcast. - * @param filter Selects the Intent broadcasts to be received. - * @param broadcastPermission String naming a permissions that a - * broadcaster must hold in order to send an Intent to you. If {@code null}, - * no permission is required. - * @param scheduler Handler identifying the thread that will receive - * the Intent. If {@code null}, the main thread of the process will be used. - * @param flags Additional options for the receiver. As of - * {@link android.os.Build.VERSION_CODES#TIRAMISU}, either {@link #RECEIVER_EXPORTED} or - * {@link #RECEIVER_NOT_EXPORTED} must be specified if the receiver isn't being - * registered for protected broadcasts - * - * @return The first sticky intent found that matches <var>filter</var>, - * or {@code null} if there are none. - * - * @see #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler, int) - * @see #sendBroadcast - * @see #unregisterReceiver - * @hide - */ - @SuppressLint("IntentBuilderName") - @Nullable - @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) - @SystemApi - public Intent registerReceiverForAllUsers(@Nullable BroadcastReceiver receiver, - @NonNull IntentFilter filter, @Nullable String broadcastPermission, - @Nullable Handler scheduler, @RegisterReceiverFlags int flags) { - throw new RuntimeException("Not implemented. Must override in a subclass."); - } - - /** * @hide * Same as {@link #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler) * but for a specific user. This receiver will receiver broadcasts that @@ -3088,41 +3032,6 @@ public abstract class Context { @Nullable Handler scheduler); /** - * @hide - * Same as {@link #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler, int) - * but for a specific user. This receiver will receiver broadcasts that - * are sent to the requested user. - * - * @param receiver The BroadcastReceiver to handle the broadcast. - * @param user UserHandle to send the intent to. - * @param filter Selects the Intent broadcasts to be received. - * @param broadcastPermission String naming a permissions that a - * broadcaster must hold in order to send an Intent to you. If null, - * no permission is required. - * @param scheduler Handler identifying the thread that will receive - * the Intent. If null, the main thread of the process will be used. - * @param flags Additional options for the receiver. As of - * {@link android.os.Build.VERSION_CODES#TIRAMISU}, either {@link #RECEIVER_EXPORTED} or - * {@link #RECEIVER_NOT_EXPORTED} must be specified if the receiver isn't being - * registered for protected broadcasts - * - * @return The first sticky intent found that matches <var>filter</var>, - * or null if there are none. - * - * @see #registerReceiver(BroadcastReceiver, IntentFilter, String, Handler, int) - * @see #sendBroadcast - * @see #unregisterReceiver - */ - @SuppressWarnings("HiddenAbstractMethod") - @SuppressLint("IntentBuilderName") - @Nullable - @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) - @UnsupportedAppUsage - public abstract Intent registerReceiverAsUser(BroadcastReceiver receiver, - UserHandle user, IntentFilter filter, @Nullable String broadcastPermission, - @Nullable Handler scheduler, @RegisterReceiverFlags int flags); - - /** * Unregister a previously registered BroadcastReceiver. <em>All</em> * filters that have been registered for this BroadcastReceiver will be * removed. diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java index 28c866496e93..e351c244b04c 100644 --- a/core/java/android/content/ContextWrapper.java +++ b/core/java/android/content/ContextWrapper.java @@ -732,34 +732,14 @@ public class ContextWrapper extends Context { /** @hide */ @Override - @Nullable - public Intent registerReceiverForAllUsers(@Nullable BroadcastReceiver receiver, - @NonNull IntentFilter filter, @Nullable String broadcastPermission, - @Nullable Handler scheduler, int flags) { - return mBase.registerReceiverForAllUsers(receiver, filter, broadcastPermission, - scheduler, flags); - } - - /** @hide */ - @Override @UnsupportedAppUsage - public Intent registerReceiverAsUser(@Nullable BroadcastReceiver receiver, UserHandle user, - IntentFilter filter, @Nullable String broadcastPermission, - @Nullable Handler scheduler) { + public Intent registerReceiverAsUser( + BroadcastReceiver receiver, UserHandle user, IntentFilter filter, + String broadcastPermission, Handler scheduler) { return mBase.registerReceiverAsUser(receiver, user, filter, broadcastPermission, scheduler); } - /** @hide */ - @Override - @UnsupportedAppUsage - public Intent registerReceiverAsUser(@Nullable BroadcastReceiver receiver, UserHandle user, - IntentFilter filter, @Nullable String broadcastPermission, - @Nullable Handler scheduler, int flags) { - return mBase.registerReceiverAsUser(receiver, user, filter, broadcastPermission, - scheduler, flags); - } - @Override public void unregisterReceiver(BroadcastReceiver receiver) { mBase.unregisterReceiver(receiver); diff --git a/test-mock/src/android/test/mock/MockContext.java b/test-mock/src/android/test/mock/MockContext.java index 7b449ce2ef62..6046d78240b6 100644 --- a/test-mock/src/android/test/mock/MockContext.java +++ b/test-mock/src/android/test/mock/MockContext.java @@ -566,26 +566,11 @@ public class MockContext extends Context { /** @hide */ @Override - @SystemApi - public Intent registerReceiverForAllUsers(BroadcastReceiver receiver, - IntentFilter filter, String broadcastPermission, Handler scheduler, int flags) { - throw new UnsupportedOperationException(); - } - - /** @hide */ - @Override public Intent registerReceiverAsUser(BroadcastReceiver receiver, UserHandle user, IntentFilter filter, String broadcastPermission, Handler scheduler) { throw new UnsupportedOperationException(); } - /** @hide */ - @Override - public Intent registerReceiverAsUser(BroadcastReceiver receiver, UserHandle user, - IntentFilter filter, String broadcastPermission, Handler scheduler, int flags) { - throw new UnsupportedOperationException(); - } - @Override public void unregisterReceiver(BroadcastReceiver receiver) { throw new UnsupportedOperationException(); |