Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41897a94 authored by Mark White's avatar Mark White
Browse files

Provide privileged apps access to getUsbBandwidthMbps API

Bug: 373653182
Flag: android.hardware.usb.flags.expose_usb_speed_system_api
Change-Id: Iad72747700b5bc98c7f8fa70472b1fd3f9c25861
Test: presubmit
parent 4ad088b6
Loading
Loading
Loading
Loading
+0 −9
Original line number Diff line number Diff line
@@ -144,21 +144,12 @@ package android.hardware.usb {

  public class UsbManager {
    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getGadgetHalVersion();
    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
    field public static final int GADGET_HAL_V1_1 = 11; // 0xb
    field public static final int GADGET_HAL_V1_2 = 12; // 0xc
    field public static final int GADGET_HAL_V2_0 = 20; // 0x14
    field public static final int USB_DATA_TRANSFER_RATE_10G = 10240; // 0x2800
    field public static final int USB_DATA_TRANSFER_RATE_20G = 20480; // 0x5000
    field public static final int USB_DATA_TRANSFER_RATE_40G = 40960; // 0xa000
    field public static final int USB_DATA_TRANSFER_RATE_5G = 5120; // 0x1400
    field public static final int USB_DATA_TRANSFER_RATE_FULL_SPEED = 12; // 0xc
    field public static final int USB_DATA_TRANSFER_RATE_HIGH_SPEED = 480; // 0x1e0
    field public static final int USB_DATA_TRANSFER_RATE_LOW_SPEED = 2; // 0x2
    field public static final int USB_DATA_TRANSFER_RATE_UNKNOWN = -1; // 0xffffffff
    field public static final int USB_HAL_NOT_SUPPORTED = -1; // 0xffffffff
    field public static final int USB_HAL_RETRY = -2; // 0xfffffffe
    field public static final int USB_HAL_V1_0 = 10; // 0xa
+9 −0
Original line number Diff line number Diff line
@@ -7053,6 +7053,7 @@ package android.hardware.usb {
  public class UsbManager {
    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
    method @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbBandwidthMbps();
    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 void registerDisplayPortAltModeInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
@@ -7079,6 +7080,14 @@ package android.hardware.usb {
    field public static final long FUNCTION_UVC = 128L; // 0x80L
    field public static final String USB_CONFIGURED = "configured";
    field public static final String USB_CONNECTED = "connected";
    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_10G = 10240; // 0x2800
    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_20G = 20480; // 0x5000
    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_40G = 40960; // 0xa000
    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_5G = 5120; // 0x1400
    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_FULL_SPEED = 12; // 0xc
    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_HIGH_SPEED = 480; // 0x1e0
    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_LOW_SPEED = 2; // 0x2
    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_UNKNOWN = -1; // 0xffffffff
    field public static final String USB_FUNCTION_NCM = "ncm";
    field public static final String USB_FUNCTION_RNDIS = "rndis";
  }
+20 −9
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import static android.hardware.usb.UsbPortStatus.DATA_STATUS_DISABLED_FORCE;

import android.Manifest;
import android.annotation.CallbackExecutor;
import android.annotation.FlaggedApi;
import android.annotation.IntDef;
import android.annotation.LongDef;
import android.annotation.NonNull;
@@ -37,6 +38,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.hardware.usb.flags.Flags;
import android.hardware.usb.gadget.GadgetFunction;
import android.hardware.usb.gadget.UsbSpeed;
import android.os.Binder;
@@ -509,7 +511,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    public static final int USB_DATA_TRANSFER_RATE_UNKNOWN = -1;

    /**
@@ -517,7 +520,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    public static final int USB_DATA_TRANSFER_RATE_LOW_SPEED = 2;

    /**
@@ -525,7 +529,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    public static final int USB_DATA_TRANSFER_RATE_FULL_SPEED = 12;

    /**
@@ -533,7 +538,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    public static final int USB_DATA_TRANSFER_RATE_HIGH_SPEED = 480;

    /**
@@ -541,7 +547,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    public static final int USB_DATA_TRANSFER_RATE_5G = 5 * 1024;

    /**
@@ -549,7 +556,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    public static final int USB_DATA_TRANSFER_RATE_10G = 10 * 1024;

    /**
@@ -557,7 +565,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    public static final int USB_DATA_TRANSFER_RATE_20G = 20 * 1024;

    /**
@@ -565,7 +574,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    public static final int USB_DATA_TRANSFER_RATE_40G = 40 * 1024;

    /**
@@ -1292,7 +1302,8 @@ public class UsbManager {
     *
     * @hide
     */
    @SystemApi(client = SystemApi.Client.MODULE_LIBRARIES)
    @FlaggedApi(Flags.FLAG_EXPOSE_USB_SPEED_SYSTEM_API)
    @SystemApi
    @RequiresPermission(Manifest.permission.MANAGE_USB)
    public int getUsbBandwidthMbps() {
        int usbSpeed;
+7 −0
Original line number Diff line number Diff line
@@ -24,3 +24,10 @@ flag {
    description: "Feature flag to enable interface name as a parameter for device filter"
    bug: "312828160"
}

flag {
    name: "expose_usb_speed_system_api"
    namespace: "usb"
    description: "Feature flag to enable exposing usb speed system api"
    bug: "373653182"
}