@Implements(value=android.hardware.usb.UsbManager.class, looseSignatures=true) public class ShadowUsbManager extends Object
Robolectric implementation of UsbManager
.
Modifier and Type | Class and Description |
---|---|
static interface |
ShadowUsbManager._UsbManager_
Accessor interface for
UsbManager ’s internals. |
static interface |
ShadowUsbManager._UsbManagerQ_
Accessor interface for
UsbManager ’s internals (Q+). |
Constructor and Description |
---|
ShadowUsbManager() |
Modifier and Type | Method and Description |
---|---|
void |
addOrUpdateUsbDevice(UsbDevice usbDevice,
boolean hasPermission)
Adds a USB device into available USB devices map with permission value.
|
void |
addPort(String portId)
Adds a USB port to UsbManager.
|
void |
clearPorts()
Remove all added ports from UsbManager.
|
protected UsbAccessory[] |
getAccessoryList() |
protected HashMap<String,UsbDevice> |
getDeviceList()
Returns a HashMap containing all USB devices currently attached.
|
protected Object |
getPorts() |
protected Object |
getPortStatus(Object port) |
protected void |
grantPermission(UsbDevice device) |
protected void |
grantPermission(UsbDevice device,
String packageName) |
protected boolean |
hasPermission(UsbDevice device)
Returns true if the caller has permission to access the device.
|
boolean |
hasPermissionForPackage(UsbDevice device,
String packageName)
Returns true if the given package has permission to access the device.
|
protected ParcelFileDescriptor |
openAccessory(UsbAccessory accessory)
Opens a file descriptor from a temporary file.
|
void |
removeUsbDevice(UsbDevice usbDevice)
Removes a USB device from available USB devices map.
|
void |
revokePermission(UsbDevice device,
String packageName)
Revokes permission to a USB device granted to a package.
|
void |
setAttachedUsbAccessory(UsbAccessory usbAccessory)
Sets the currently attached Usb accessory returned in #getAccessoryList.
|
protected void |
setPortRoles(Object port,
Object powerRole,
Object dataRole) |
@Implementation protected boolean hasPermission(UsbDevice device)
Returns true if the caller has permission to access the device.
public boolean hasPermissionForPackage(UsbDevice device, String packageName)
Returns true if the given package has permission to access the device.
@Implementation(minSdk=24) @HiddenApi protected void grantPermission(UsbDevice device)
@Implementation(minSdk=25) @HiddenApi protected void grantPermission(UsbDevice device, String packageName)
public void revokePermission(UsbDevice device, String packageName)
Revokes permission to a USB device granted to a package. This method does nothing if the package doesn’t have permission to access the device.
@Implementation protected HashMap<String,UsbDevice> getDeviceList()
Returns a HashMap containing all USB devices currently attached. USB device name is the key for the returned HashMap. The result will be empty if no devices are attached, or if USB host mode is inactive or unsupported.
@Implementation protected UsbAccessory[] getAccessoryList()
public void setAttachedUsbAccessory(UsbAccessory usbAccessory)
Sets the currently attached Usb accessory returned in #getAccessoryList.
public void addOrUpdateUsbDevice(UsbDevice usbDevice, boolean hasPermission)
Adds a USB device into available USB devices map with permission value. If the USB device already exists, updates the USB device with new permission value.
public void removeUsbDevice(UsbDevice usbDevice)
Removes a USB device from available USB devices map.
@Implementation(minSdk=23) @HiddenApi protected Object getPorts()
public void clearPorts()
Remove all added ports from UsbManager.
public void addPort(String portId)
Adds a USB port to UsbManager.
@Implementation(minSdk=23) @HiddenApi protected Object getPortStatus(Object port)
@Implementation(minSdk=23) @HiddenApi protected void setPortRoles(Object port, Object powerRole, Object dataRole)
@Implementation protected ParcelFileDescriptor openAccessory(UsbAccessory accessory)
Opens a file descriptor from a temporary file.