diff --git a/core/api/system-current.txt b/core/api/system-current.txt index 707060f05023e..007eb305e0075 100644 --- a/core/api/system-current.txt +++ b/core/api/system-current.txt @@ -5836,7 +5836,7 @@ package android.hardware.usb { method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List getPorts(); method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String); method public static boolean isUvcSupportEnabled(); - method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public boolean registerDisplayPortAltModeInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener); + method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void registerDisplayPortAltModeInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener); method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget(); method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long); method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void unregisterDisplayPortAltModeInfoListener(@NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener); diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java index 71ec1c640d48c..889d3df0941ad 100644 --- a/core/java/android/hardware/usb/UsbManager.java +++ b/core/java/android/hardware/usb/UsbManager.java @@ -1647,7 +1647,7 @@ public class UsbManager { /** * Registers the given listener to listen for DisplayPort Alt Mode changes. *

- * If this method returns true, the caller should ensure to call + * If this method returns without Exceptions, the caller should ensure to call * {@link #unregisterDisplayPortAltModeListener} when it no longer requires updates. * * @param executor Executor on which to run the listener. @@ -1655,14 +1655,14 @@ public class UsbManager { * changes. See {@link #DisplayPortAltModeInfoListener} for listener * details. * - * @return true on successful register, false on failed register due to listener already being - * registered or an internal error. + * @throws IllegalStateException if listener has already been registered previously but not + * unregistered or an unexpected system failure occurs. * * @hide */ @SystemApi @RequiresPermission(Manifest.permission.MANAGE_USB) - public boolean registerDisplayPortAltModeInfoListener( + public void registerDisplayPortAltModeInfoListener( @NonNull @CallbackExecutor Executor executor, @NonNull DisplayPortAltModeInfoListener listener) { Objects.requireNonNull(executor, "registerDisplayPortAltModeInfoListener: " @@ -1678,15 +1678,15 @@ public class UsbManager { if (mDisplayPortServiceListener == null) { if (!registerDisplayPortAltModeEventsIfNeededLocked()) { - return false; + throw new IllegalStateException("Unexpected failure registering service " + + "listener"); } } if (mDisplayPortListeners.containsKey(listener)) { - return false; + throw new IllegalStateException("Listener has already been registered."); } mDisplayPortListeners.put(listener, executor); - return true; } }