From 2db826decf4e8d01107bcc79f9246e98d67825ac Mon Sep 17 00:00:00 2001 From: Eugene Susla Date: Fri, 5 Mar 2021 12:26:40 -0800 Subject: [PATCH] Add @RequiresPermission for CDM watch profile use Bug: 165951651 Test: presubmit Change-Id: Id1c3b2656875de07cfc3fd936d528d0410a62aee --- core/api/current.txt | 2 +- core/java/android/companion/CompanionDeviceManager.java | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/core/api/current.txt b/core/api/current.txt index a9303a7fa1a86..f49a73bc63d9a 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -9716,7 +9716,7 @@ package android.companion { } public final class CompanionDeviceManager { - method public void associate(@NonNull android.companion.AssociationRequest, @NonNull android.companion.CompanionDeviceManager.Callback, @Nullable android.os.Handler); + method @RequiresPermission(value=android.Manifest.permission.REQUEST_COMPANION_PROFILE_WATCH, conditional=true) public void associate(@NonNull android.companion.AssociationRequest, @NonNull android.companion.CompanionDeviceManager.Callback, @Nullable android.os.Handler); method public void disassociate(@NonNull String); method @NonNull public java.util.List getAssociations(); method public boolean hasNotificationAccess(android.content.ComponentName); diff --git a/core/java/android/companion/CompanionDeviceManager.java b/core/java/android/companion/CompanionDeviceManager.java index 59646f106db5a..b441b364cec8f 100644 --- a/core/java/android/companion/CompanionDeviceManager.java +++ b/core/java/android/companion/CompanionDeviceManager.java @@ -16,6 +16,7 @@ package android.companion; +import android.Manifest; import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.RequiresPermission; @@ -141,6 +142,10 @@ public final class CompanionDeviceManager { *

Calling this API requires a uses-feature * {@link PackageManager#FEATURE_COMPANION_DEVICE_SETUP} declaration in the manifest

* + *

When using {@link AssociationRequest#DEVICE_PROFILE_WATCH watch} + * {@link AssociationRequest.Builder#setDeviceProfile profile}, caller must also hold + * {@link Manifest.permission#REQUEST_COMPANION_PROFILE_WATCH}

+ * * @param request specific details about this request * @param callback will be called once there's at least one device found for user to choose from * @param handler A handler to control which thread the callback will be delivered on, or null, @@ -148,6 +153,9 @@ public final class CompanionDeviceManager { * * @see AssociationRequest */ + @RequiresPermission( + value = Manifest.permission.REQUEST_COMPANION_PROFILE_WATCH, + conditional = true) public void associate( @NonNull AssociationRequest request, @NonNull Callback callback,