From a18f96782d4029465d0cdc1c66f96ace61b31402 Mon Sep 17 00:00:00 2001 From: Raphael Kim Date: Tue, 23 May 2023 09:03:05 -0700 Subject: [PATCH] [CDM] Explicitly annotate secure transport disabling API as @TestApi Bug: 281582104 Test: atest CtsCompanionDeviceManagerUiAutomationTestCases:SystemDataTransferTest Test: atest CompanionTests:SystemDataTransportTest Change-Id: If8fc682c9e93f1c719b6bc1e29312eb13f67ebfd --- core/api/test-current.txt | 4 ++++ core/java/android/companion/CompanionDeviceManager.java | 4 +++- core/java/android/companion/ICompanionDeviceManager.aidl | 1 + .../server/companion/CompanionDeviceManagerService.java | 2 ++ 4 files changed, 10 insertions(+), 1 deletion(-) diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 525f9ec793efc..3fb9fd931e239 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -837,6 +837,10 @@ package android.appwidget { package android.companion { + public final class CompanionDeviceManager { + method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void enableSecureTransport(boolean); + } + public abstract class CompanionDeviceService extends android.app.Service { method public void onBindCompanionDeviceService(@NonNull android.content.Intent); } diff --git a/core/java/android/companion/CompanionDeviceManager.java b/core/java/android/companion/CompanionDeviceManager.java index e4b2cf335cfcd..e45fa1949f187 100644 --- a/core/java/android/companion/CompanionDeviceManager.java +++ b/core/java/android/companion/CompanionDeviceManager.java @@ -28,6 +28,7 @@ import android.annotation.RequiresPermission; import android.annotation.SuppressLint; import android.annotation.SystemApi; import android.annotation.SystemService; +import android.annotation.TestApi; import android.annotation.UserHandleAware; import android.app.Activity; import android.app.ActivityManager; @@ -1308,12 +1309,13 @@ public final class CompanionDeviceManager { } /** - * Enable or disable secure transport for testing. Defaults to enabled. + * Enables or disables secure transport for testing. Defaults to being enabled. * Should not be used outside of testing. * * @param enabled true to enable. false to disable. * @hide */ + @TestApi @RequiresPermission(android.Manifest.permission.MANAGE_COMPANION_DEVICES) public void enableSecureTransport(boolean enabled) { try { diff --git a/core/java/android/companion/ICompanionDeviceManager.aidl b/core/java/android/companion/ICompanionDeviceManager.aidl index b89d3febdbcbd..2318e30016980 100644 --- a/core/java/android/companion/ICompanionDeviceManager.aidl +++ b/core/java/android/companion/ICompanionDeviceManager.aidl @@ -108,5 +108,6 @@ interface ICompanionDeviceManager { void disableSystemDataSync(int associationId, int flags); + @EnforcePermission("MANAGE_COMPANION_DEVICES") void enableSecureTransport(boolean enabled); } diff --git a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java index 4d4328dd14e8a..be52b1c8bb1b6 100644 --- a/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java +++ b/services/companion/java/com/android/server/companion/CompanionDeviceManagerService.java @@ -815,7 +815,9 @@ public class CompanionDeviceManagerService extends SystemService { } @Override + @EnforcePermission(MANAGE_COMPANION_DEVICES) public void enableSecureTransport(boolean enabled) { + enableSecureTransport_enforcePermission(); mTransportManager.enableSecureTransport(enabled); }