From 5603742b00c905843edf85b0e7a8cebf66bb2611 Mon Sep 17 00:00:00 2001 From: Ray Chi Date: Thu, 18 Mar 2021 17:40:35 +0800 Subject: [PATCH] usb: Address some API review comments - Add the missing annotation for the permission in UsbService - Enforce the permission in UsbManager Test: atest CtsUsbManagerTestCases Bug: 179389205 Change-Id: I9cb3a0f24367f0b28417588e03db882db159f7a7 --- core/api/module-lib-current.txt | 2 +- core/java/android/hardware/usb/UsbManager.java | 3 ++- services/usb/java/com/android/server/usb/UsbService.java | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/api/module-lib-current.txt b/core/api/module-lib-current.txt index e3b7c8898039b..09a46ebab2643 100644 --- a/core/api/module-lib-current.txt +++ b/core/api/module-lib-current.txt @@ -90,7 +90,7 @@ package android.hardware.usb { public class UsbManager { method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getGadgetHalVersion(); - method public int getUsbBandwidth(); + method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbBandwidthMbps(); method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbHalVersion(); field public static final int GADGET_HAL_NOT_SUPPORTED = -1; // 0xffffffff field public static final int GADGET_HAL_V1_0 = 10; // 0xa diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java index 841fd2f49967d..964d7c1658dcd 100644 --- a/core/java/android/hardware/usb/UsbManager.java +++ b/core/java/android/hardware/usb/UsbManager.java @@ -1093,7 +1093,8 @@ public class UsbManager { * {@hide} */ @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) - public int getUsbBandwidth() { + @RequiresPermission(Manifest.permission.MANAGE_USB) + public int getUsbBandwidthMbps() { int usbSpeed; try { diff --git a/services/usb/java/com/android/server/usb/UsbService.java b/services/usb/java/com/android/server/usb/UsbService.java index 9a13d7648be26..ac6b8fe0b9707 100644 --- a/services/usb/java/com/android/server/usb/UsbService.java +++ b/services/usb/java/com/android/server/usb/UsbService.java @@ -639,6 +639,7 @@ public class UsbService extends IUsbManager.Stub { @Override public int getCurrentUsbSpeed() { + mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USB, null); Preconditions.checkNotNull(mDeviceManager, "DeviceManager must not be null"); final long ident = Binder.clearCallingIdentity();