Search in sources :

Example 36 with UsbDevice

use of android.hardware.usb.UsbDevice in project android_frameworks_base by DirtyUnicorns.

the class UsbHostManager method openDevice.

/* Opens the specified USB device */
public ParcelFileDescriptor openDevice(String deviceName) {
    synchronized (mLock) {
        if (isBlackListed(deviceName)) {
            throw new SecurityException("USB device is on a restricted bus");
        }
        UsbDevice device = mDevices.get(deviceName);
        if (device == null) {
            // if it is not in mDevices, it either does not exist or is blacklisted
            throw new IllegalArgumentException("device " + deviceName + " does not exist or is restricted");
        }
        getCurrentSettings().checkPermission(device);
        return nativeOpenDevice(deviceName);
    }
}
Also used : UsbDevice(android.hardware.usb.UsbDevice)

Example 37 with UsbDevice

use of android.hardware.usb.UsbDevice in project android_frameworks_base by DirtyUnicorns.

the class UsbAlsaManager method dump.

//
// Logging
//
public void dump(IndentingPrintWriter pw) {
    pw.println("USB Audio Devices:");
    for (UsbDevice device : mAudioDevices.keySet()) {
        pw.println("  " + device.getDeviceName() + ": " + mAudioDevices.get(device));
    }
    pw.println("USB MIDI Devices:");
    for (UsbDevice device : mMidiDevices.keySet()) {
        pw.println("  " + device.getDeviceName() + ": " + mMidiDevices.get(device));
    }
}
Also used : UsbDevice(android.hardware.usb.UsbDevice)

Example 38 with UsbDevice

use of android.hardware.usb.UsbDevice in project android_frameworks_base by AOSPA.

the class DeviceDisconnectedReceiver method onReceive.

@Override
public void onReceive(Context context, Intent intent) {
    UsbDevice device = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
    String deviceName = device.getDeviceName();
    Log.d(TAG, "ACTION_USB_DEVICE_DETACHED " + deviceName);
    // close our activity if the device it is displaying is disconnected
    if (deviceName.equals(mDeviceName)) {
        mActivity.finish();
    }
}
Also used : UsbDevice(android.hardware.usb.UsbDevice)

Example 39 with UsbDevice

use of android.hardware.usb.UsbDevice in project android_frameworks_base by AOSPA.

the class TestUtil method findMtpDevice.

private static UsbDevice findMtpDevice(UsbManager usbManager, MtpManager manager) throws IOException {
    final HashMap<String, UsbDevice> devices = usbManager.getDeviceList();
    if (devices.size() == 0) {
        throw new IOException("Device not found.");
    }
    final UsbDevice device = devices.values().iterator().next();
    // Tries to get ownership of the device in case that another application use it.
    if (usbManager.hasPermission(device)) {
        final UsbDeviceConnection connection = usbManager.openDevice(device);
        for (int i = 0; i < device.getInterfaceCount(); i++) {
            // Since the test runs real environment, we need to call claim interface with
            // force = true to rob interfaces from other applications.
            connection.claimInterface(device.getInterface(i), true);
            connection.releaseInterface(device.getInterface(i));
        }
        connection.close();
    }
    manager.openDevice(device.getDeviceId());
    return device;
}
Also used : UsbDeviceConnection(android.hardware.usb.UsbDeviceConnection) UsbDevice(android.hardware.usb.UsbDevice) IOException(java.io.IOException)

Example 40 with UsbDevice

use of android.hardware.usb.UsbDevice in project android_frameworks_base by ResurrectionRemix.

the class MtpManager method openDevice.

synchronized MtpDeviceRecord openDevice(int deviceId) throws IOException {
    UsbDevice rawDevice = null;
    for (final UsbDevice candidate : mManager.getDeviceList().values()) {
        if (candidate.getDeviceId() == deviceId) {
            rawDevice = candidate;
            break;
        }
    }
    ensureNotNull(rawDevice, "Not found USB device: " + deviceId);
    if (!mManager.hasPermission(rawDevice)) {
        mManager.grantPermission(rawDevice);
        if (!mManager.hasPermission(rawDevice)) {
            throw new IOException("Failed to grant a device permission.");
        }
    }
    final MtpDevice device = new MtpDevice(rawDevice);
    final UsbDeviceConnection connection = ensureNotNull(mManager.openDevice(rawDevice), "Failed to open a USB connection.");
    if (!device.open(connection)) {
        // We cannot open connection when another application use the device.
        throw new BusyDeviceException();
    }
    // Handle devices that fail to obtain storages just after opening a MTP session.
    final int[] storageIds = ensureNotNull(device.getStorageIds(), "Not found MTP storages in the device.");
    mDevices.put(deviceId, device);
    return createDeviceRecord(rawDevice);
}
Also used : UsbDeviceConnection(android.hardware.usb.UsbDeviceConnection) UsbDevice(android.hardware.usb.UsbDevice) MtpDevice(android.mtp.MtpDevice) IOException(java.io.IOException)

Aggregations

UsbDevice (android.hardware.usb.UsbDevice)49 IOException (java.io.IOException)20 UsbDeviceConnection (android.hardware.usb.UsbDeviceConnection)10 Intent (android.content.Intent)9 UsbEndpoint (android.hardware.usb.UsbEndpoint)5 UsbInterface (android.hardware.usb.UsbInterface)5 MtpDevice (android.mtp.MtpDevice)5 Uri (android.net.Uri)5 PendingIntent (android.app.PendingIntent)4 IntentFilter (android.content.IntentFilter)4 UsbConfiguration (android.hardware.usb.UsbConfiguration)4 MotionEvent (android.view.MotionEvent)4 SurfaceView (android.view.SurfaceView)4 View (android.view.View)4 TextView (android.widget.TextView)4 UsbManager (android.hardware.usb.UsbManager)1 Parcelable (android.os.Parcelable)1