Merge "UsbService:update mUsbDisableRequesters for enableUsbDataWhileDocked()" into main
diff --git a/services/usb/java/com/android/server/usb/UsbService.java b/services/usb/java/com/android/server/usb/UsbService.java
index 2da352d..9b5612e 100644
--- a/services/usb/java/com/android/server/usb/UsbService.java
+++ b/services/usb/java/com/android/server/usb/UsbService.java
@@ -894,7 +894,14 @@
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USB, null);
if (android.hardware.usb.flags.Flags.enableUsbDataSignalStaking()) {
- if (!shouldUpdateUsbSignaling(portId, enable, Binder.getCallingUid())) return false;
+ if (!shouldUpdateUsbSignaling(portId, enable, Binder.getCallingUid())) {
+ try {
+ callback.onOperationComplete(USB_OPERATION_ERROR_INTERNAL);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "enableUsbData: Failed to call onOperationComplete", e);
+ }
+ return false;
+ }
}
final long ident = Binder.clearCallingIdentity();
@@ -950,8 +957,19 @@
"enableUsbDataWhileDocked: callback must not be null. opId:"
+ operationId);
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.MANAGE_USB, null);
+
+ if (android.hardware.usb.flags.Flags.enableUsbDataSignalStaking()) {
+ if (!shouldUpdateUsbSignaling(portId, true, Binder.getCallingUid())) {
+ try {
+ callback.onOperationComplete(USB_OPERATION_ERROR_INTERNAL);
+ } catch (RemoteException e) {
+ Slog.e(TAG, "enableUsbDataWhileDocked: Failed to call onOperationComplete", e);
+ }
+ return;
+ }
+ }
+
final long ident = Binder.clearCallingIdentity();
- boolean wait;
try {
if (mPortManager != null) {
mPortManager.enableUsbDataWhileDocked(portId, operationId, callback, null);