From 2361687bec05a5298f73682f003e33e38c9c3137 Mon Sep 17 00:00:00 2001 From: Peter Wang <tpwang@google.com> Date: Wed, 29 Jan 2020 16:07:37 +0800 Subject: [PATCH] [API Review] Expose sendOrderedBroadcast with appOp as String and options as Bundle Bug: 139077993 Bug: 146423958 Test: Build Change-Id: I5325e08d60016741139251813a5df9b42f2efc82 Merged-In: I5325e08d60016741139251813a5df9b42f2efc82 --- api/current.txt | 2 +- core/java/android/app/ContextImpl.java | 6 +++--- core/java/android/content/Context.java | 9 +++++---- core/java/android/content/ContextWrapper.java | 12 ++++++------ test-mock/src/android/test/mock/MockContext.java | 8 ++++---- 5 files changed, 19 insertions(+), 18 deletions(-) diff --git a/api/current.txt b/api/current.txt index a2f2c060428d..c3ddb5caab83 100644 --- a/api/current.txt +++ b/api/current.txt @@ -10121,7 +10121,6 @@ package android.content { method public abstract void sendOrderedBroadcast(@RequiresPermission android.content.Intent, @Nullable String); method public abstract void sendOrderedBroadcast(@NonNull @RequiresPermission android.content.Intent, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle); method public void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle); - method public void sendOrderedBroadcast(@NonNull @RequiresPermission android.content.Intent, @Nullable String, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle); method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS") public abstract void sendOrderedBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String, android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle); method @Deprecated @RequiresPermission(android.Manifest.permission.BROADCAST_STICKY) public abstract void sendStickyBroadcast(@RequiresPermission android.content.Intent); method @Deprecated @RequiresPermission(allOf={"android.permission.INTERACT_ACROSS_USERS", android.Manifest.permission.BROADCAST_STICKY}) public abstract void sendStickyBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle); @@ -10329,6 +10328,7 @@ package android.content { method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, String); method public void sendOrderedBroadcast(android.content.Intent, String); method public void sendOrderedBroadcast(android.content.Intent, String, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle); + method public void sendOrderedBroadcast(@NonNull @RequiresPermission android.content.Intent, int, @Nullable String, @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, @Nullable String, @Nullable android.os.Bundle, @Nullable android.os.Bundle); method public void sendOrderedBroadcastAsUser(android.content.Intent, android.os.UserHandle, String, android.content.BroadcastReceiver, android.os.Handler, int, String, android.os.Bundle); method @Deprecated public void sendStickyBroadcast(android.content.Intent); method @Deprecated public void sendStickyBroadcastAsUser(android.content.Intent, android.os.UserHandle); diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java index 96edca19afa7..2873b10e60c8 100644 --- a/core/java/android/app/ContextImpl.java +++ b/core/java/android/app/ContextImpl.java @@ -1397,9 +1397,9 @@ class ContextImpl extends Context { } @Override - public void sendOrderedBroadcast(Intent intent, String receiverPermission, String receiverAppOp, - Bundle options, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, - String initialData, @Nullable Bundle initialExtras) { + public void sendOrderedBroadcast(Intent intent, int initialCode, String receiverPermission, + String receiverAppOp, BroadcastReceiver resultReceiver, Handler scheduler, + String initialData, @Nullable Bundle initialExtras, Bundle options) { int intAppOp = AppOpsManager.OP_NONE; if (!TextUtils.isEmpty(receiverAppOp)) { intAppOp = AppOpsManager.strOpToOp(receiverAppOp); diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index 536b6c33b142..a8f7610ecaf0 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -2543,12 +2543,13 @@ public abstract class Context { * * @see #sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle) * @see android.app.BroadcastOptions + * @hide */ - public void sendOrderedBroadcast(@RequiresPermission @NonNull Intent intent, + public void sendOrderedBroadcast(@RequiresPermission @NonNull Intent intent, int initialCode, @Nullable String receiverPermission, @Nullable String receiverAppOp, - @Nullable Bundle options, @Nullable BroadcastReceiver resultReceiver, - @Nullable Handler scheduler, int initialCode, @Nullable String initialData, - @Nullable Bundle initialExtras) { + @Nullable BroadcastReceiver resultReceiver, @Nullable Handler scheduler, + @Nullable String initialData, @Nullable Bundle initialExtras, + @Nullable Bundle options) { throw new RuntimeException("Not implemented. Must override in a subclass."); } diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java index e5381ea0dd41..91d214badd2d 100644 --- a/core/java/android/content/ContextWrapper.java +++ b/core/java/android/content/ContextWrapper.java @@ -600,13 +600,13 @@ public class ContextWrapper extends Context { } @Override - public void sendOrderedBroadcast(@RequiresPermission @NonNull Intent intent, + public void sendOrderedBroadcast(@RequiresPermission @NonNull Intent intent, int initialCode, @Nullable String receiverPermission, @Nullable String receiverAppOp, - @Nullable Bundle options, @Nullable BroadcastReceiver resultReceiver, - @Nullable Handler scheduler, int initialCode, @Nullable String initialData, - @Nullable Bundle initialExtras) { - mBase.sendOrderedBroadcast(intent, receiverPermission, receiverAppOp, options, - resultReceiver, scheduler, initialCode, initialData, initialExtras); + @Nullable BroadcastReceiver resultReceiver, @Nullable Handler scheduler, + @Nullable String initialData, @Nullable Bundle initialExtras, + @Nullable Bundle options) { + mBase.sendOrderedBroadcast(intent, initialCode, receiverPermission, receiverAppOp, + resultReceiver, scheduler, initialData, initialExtras, options); } @Override diff --git a/test-mock/src/android/test/mock/MockContext.java b/test-mock/src/android/test/mock/MockContext.java index 2c6604759813..784ee85fea34 100644 --- a/test-mock/src/android/test/mock/MockContext.java +++ b/test-mock/src/android/test/mock/MockContext.java @@ -17,7 +17,6 @@ package android.test.mock; import android.annotation.NonNull; -import android.annotation.Nullable; import android.annotation.SystemApi; import android.app.IApplicationThread; import android.app.IServiceConnection; @@ -480,10 +479,11 @@ public class MockContext extends Context { throw new UnsupportedOperationException(); } + /** @hide */ @Override - public void sendOrderedBroadcast(Intent intent, String receiverPermission, String receiverAppOp, - Bundle options, BroadcastReceiver resultReceiver, Handler scheduler, int initialCode, - String initialData, Bundle initialExtras) { + public void sendOrderedBroadcast(Intent intent, int initialCode, String receiverPermission, + String receiverAppOp, BroadcastReceiver resultReceiver, Handler scheduler, + String initialData, Bundle initialExtras, Bundle options) { throw new UnsupportedOperationException(); } -- GitLab