diff options
| author | Alex Johnston <acjohnston@google.com> | 2021-02-16 20:45:55 +0000 |
|---|---|---|
| committer | Android (Google) Code Review <android-gerrit@google.com> | 2021-02-16 20:45:55 +0000 |
| commit | 202d4ab17829a448a4704abb764216b2c0bcfe6a (patch) | |
| tree | 63efadf3db87a7435ef900c6520172e99a5e979e /core/java | |
| parent | 30780cf472ba2e45fe791c9cbccd3612df2c3f1a (diff) | |
| parent | 619abd21d9b078b2c40f8e86c1751bb42b08f011 (diff) | |
Merge "Support USB V1.3 HAL" into sc-dev
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/hardware/usb/IUsbManager.aidl | 6 | ||||
| -rw-r--r-- | core/java/android/hardware/usb/UsbManager.java | 92 |
2 files changed, 98 insertions, 0 deletions
diff --git a/core/java/android/hardware/usb/IUsbManager.aidl b/core/java/android/hardware/usb/IUsbManager.aidl index ca79901c2bbe..7f07af79ab69 100644 --- a/core/java/android/hardware/usb/IUsbManager.aidl +++ b/core/java/android/hardware/usb/IUsbManager.aidl @@ -135,6 +135,12 @@ interface IUsbManager /* Resets the USB gadget. */ void resetUsbGadget(); + /* Set USB data on or off */ + boolean enableUsbDataSignal(boolean enable); + + /* Gets the USB Hal Version. */ + int getUsbHalVersion(); + /* Get the functionfs control handle for the given function. Usb * descriptors will already be written, and the handle will be * ready to use. diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java index 5bac481fb23e..841fd2f49967 100644 --- a/core/java/android/hardware/usb/UsbManager.java +++ b/core/java/android/hardware/usb/UsbManager.java @@ -516,6 +516,46 @@ public class UsbManager { public static final int USB_DATA_TRANSFER_RATE_40G = 40 * 1024; /** + * The Value for USB hal is not presented. + * + * {@hide} + */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + public static final int USB_HAL_NOT_SUPPORTED = -1; + + /** + * Value for USB Hal Version v1.0. + * + * {@hide} + */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + public static final int USB_HAL_V1_0 = 10; + + /** + * Value for USB Hal Version v1.1. + * + * {@hide} + */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + public static final int USB_HAL_V1_1 = 11; + + /** + * Value for USB Hal Version v1.2. + * + * {@hide} + */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + public static final int USB_HAL_V1_2 = 12; + + /** + * Value for USB Hal Version v1.3. + * + * {@hide} + */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + public static final int USB_HAL_V1_3 = 13; + + /** * Code for the charging usb function. Passed into {@link #setCurrentFunctions(long)} * {@hide} */ @@ -617,6 +657,16 @@ public class UsbManager { }) public @interface UsbGadgetHalVersion {} + /** @hide */ + @IntDef(prefix = { "USB_HAL_" }, value = { + USB_HAL_NOT_SUPPORTED, + USB_HAL_V1_0, + USB_HAL_V1_1, + USB_HAL_V1_2, + USB_HAL_V1_3, + }) + public @interface UsbHalVersion {} + private final Context mContext; private final IUsbManager mService; @@ -1076,6 +1126,26 @@ public class UsbManager { } /** + * Get the Current USB Hal Version. + * <p> + * This function returns the current USB Hal Version. + * </p> + * + * @return a integer {@code USB_HAL_*} represent hal version. + * + * {@hide} + */ + @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES) + @RequiresPermission(Manifest.permission.MANAGE_USB) + public @UsbHalVersion int getUsbHalVersion() { + try { + return mService.getUsbHalVersion(); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** * Resets the USB Gadget. * <p> * Performs USB data stack reset through USB Gadget HAL. @@ -1095,6 +1165,28 @@ public class UsbManager { } /** + * Enable/Disable the USB data signaling. + * <p> + * Enables/Disables USB data path in all the USB ports. + * It will force to stop or restore USB data signaling. + * </p> + * + * @param enable enable or disable USB data signaling + * @return true enable or disable USB data successfully + * false if something wrong + * + * @hide + */ + @RequiresPermission(Manifest.permission.MANAGE_USB) + public boolean enableUsbDataSignal(boolean enable) { + try { + return mService.enableUsbDataSignal(enable); + } catch (RemoteException e) { + throw e.rethrowFromSystemServer(); + } + } + + /** * Returns a list of physical USB ports on the device. * <p> * This list is guaranteed to contain all dual-role USB Type C ports but it might |
