Search in sources :

Example 11 with IUsbManager

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

the class UsbPermissionActivity method onDestroy.

@Override
public void onDestroy() {
    IBinder b = ServiceManager.getService(USB_SERVICE);
    IUsbManager service = IUsbManager.Stub.asInterface(b);
    // send response via pending intent
    Intent intent = new Intent();
    try {
        if (mDevice != null) {
            intent.putExtra(UsbManager.EXTRA_DEVICE, mDevice);
            if (mPermissionGranted) {
                service.grantDevicePermission(mDevice, mUid);
                if (mAlwaysUse.isChecked()) {
                    final int userId = UserHandle.getUserId(mUid);
                    service.setDevicePackage(mDevice, mPackageName, userId);
                }
            }
        }
        if (mAccessory != null) {
            intent.putExtra(UsbManager.EXTRA_ACCESSORY, mAccessory);
            if (mPermissionGranted) {
                service.grantAccessoryPermission(mAccessory, mUid);
                if (mAlwaysUse.isChecked()) {
                    final int userId = UserHandle.getUserId(mUid);
                    service.setAccessoryPackage(mAccessory, mPackageName, userId);
                }
            }
        }
        intent.putExtra(UsbManager.EXTRA_PERMISSION_GRANTED, mPermissionGranted);
        mPendingIntent.send(this, 0, intent);
    } catch (PendingIntent.CanceledException e) {
        Log.w(TAG, "PendingIntent was cancelled");
    } catch (RemoteException e) {
        Log.e(TAG, "IUsbService connection failed", e);
    }
    if (mDisconnectedReceiver != null) {
        unregisterReceiver(mDisconnectedReceiver);
    }
    super.onDestroy();
}
Also used : IBinder(android.os.IBinder) Intent(android.content.Intent) PendingIntent(android.app.PendingIntent) PendingIntent(android.app.PendingIntent) RemoteException(android.os.RemoteException) IUsbManager(android.hardware.usb.IUsbManager)

Example 12 with IUsbManager

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

the class UsbDebuggingActivity method onClick.

@Override
public void onClick(DialogInterface dialog, int which) {
    boolean allow = (which == AlertDialog.BUTTON_POSITIVE);
    boolean alwaysAllow = allow && mAlwaysAllow.isChecked();
    try {
        IBinder b = ServiceManager.getService(USB_SERVICE);
        IUsbManager service = IUsbManager.Stub.asInterface(b);
        if (allow) {
            service.allowUsbDebugging(alwaysAllow, mKey);
        } else {
            service.denyUsbDebugging();
        }
    } catch (Exception e) {
        Log.e(TAG, "Unable to notify Usb service", e);
    }
    finish();
}
Also used : IBinder(android.os.IBinder) IUsbManager(android.hardware.usb.IUsbManager)

Example 13 with IUsbManager

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

the class UsbResolverActivity method onTargetSelected.

@Override
protected boolean onTargetSelected(TargetInfo target, boolean alwaysCheck) {
    final ResolveInfo ri = target.getResolveInfo();
    try {
        IBinder b = ServiceManager.getService(USB_SERVICE);
        IUsbManager service = IUsbManager.Stub.asInterface(b);
        final int uid = ri.activityInfo.applicationInfo.uid;
        final int userId = UserHandle.myUserId();
        if (mDevice != null) {
            // grant permission for the device
            service.grantDevicePermission(mDevice, uid);
            // set or clear default setting
            if (alwaysCheck) {
                service.setDevicePackage(mDevice, ri.activityInfo.packageName, userId);
            } else {
                service.setDevicePackage(mDevice, null, userId);
            }
        } else if (mAccessory != null) {
            // grant permission for the accessory
            service.grantAccessoryPermission(mAccessory, uid);
            // set or clear default setting
            if (alwaysCheck) {
                service.setAccessoryPackage(mAccessory, ri.activityInfo.packageName, userId);
            } else {
                service.setAccessoryPackage(mAccessory, null, userId);
            }
        }
        try {
            target.startAsUser(this, null, new UserHandle(userId));
        } catch (ActivityNotFoundException e) {
            Log.e(TAG, "startActivity failed", e);
        }
    } catch (RemoteException e) {
        Log.e(TAG, "onIntentSelected failed", e);
    }
    return true;
}
Also used : ResolveInfo(android.content.pm.ResolveInfo) IBinder(android.os.IBinder) ActivityNotFoundException(android.content.ActivityNotFoundException) UserHandle(android.os.UserHandle) RemoteException(android.os.RemoteException) IUsbManager(android.hardware.usb.IUsbManager)

Example 14 with IUsbManager

use of android.hardware.usb.IUsbManager in project platform_frameworks_base by android.

the class UsbCommand method run.

@Override
public void run(String[] args) {
    boolean validCommand = false;
    if (args.length >= 2) {
        if ("setFunction".equals(args[1])) {
            IUsbManager usbMgr = IUsbManager.Stub.asInterface(ServiceManager.getService(Context.USB_SERVICE));
            boolean unlockData = false;
            if (args.length >= 4) {
                unlockData = Boolean.valueOf(args[3]);
            }
            try {
                usbMgr.setCurrentFunction((args.length >= 3 ? args[2] : null), unlockData);
            } catch (RemoteException e) {
                System.err.println("Error communicating with UsbManager: " + e);
            }
            return;
        } else if ("getFunction".equals(args[1])) {
            System.err.println(SystemProperties.get("sys.usb.config"));
            return;
        }
    }
    System.err.println(longHelp());
}
Also used : RemoteException(android.os.RemoteException) IUsbManager(android.hardware.usb.IUsbManager)

Example 15 with IUsbManager

use of android.hardware.usb.IUsbManager in project platform_frameworks_base by android.

the class UsbPermissionActivity method onDestroy.

@Override
public void onDestroy() {
    IBinder b = ServiceManager.getService(USB_SERVICE);
    IUsbManager service = IUsbManager.Stub.asInterface(b);
    // send response via pending intent
    Intent intent = new Intent();
    try {
        if (mDevice != null) {
            intent.putExtra(UsbManager.EXTRA_DEVICE, mDevice);
            if (mPermissionGranted) {
                service.grantDevicePermission(mDevice, mUid);
                if (mAlwaysUse.isChecked()) {
                    final int userId = UserHandle.getUserId(mUid);
                    service.setDevicePackage(mDevice, mPackageName, userId);
                }
            }
        }
        if (mAccessory != null) {
            intent.putExtra(UsbManager.EXTRA_ACCESSORY, mAccessory);
            if (mPermissionGranted) {
                service.grantAccessoryPermission(mAccessory, mUid);
                if (mAlwaysUse.isChecked()) {
                    final int userId = UserHandle.getUserId(mUid);
                    service.setAccessoryPackage(mAccessory, mPackageName, userId);
                }
            }
        }
        intent.putExtra(UsbManager.EXTRA_PERMISSION_GRANTED, mPermissionGranted);
        mPendingIntent.send(this, 0, intent);
    } catch (PendingIntent.CanceledException e) {
        Log.w(TAG, "PendingIntent was cancelled");
    } catch (RemoteException e) {
        Log.e(TAG, "IUsbService connection failed", e);
    }
    if (mDisconnectedReceiver != null) {
        unregisterReceiver(mDisconnectedReceiver);
    }
    super.onDestroy();
}
Also used : IBinder(android.os.IBinder) Intent(android.content.Intent) PendingIntent(android.app.PendingIntent) PendingIntent(android.app.PendingIntent) RemoteException(android.os.RemoteException) IUsbManager(android.hardware.usb.IUsbManager)

Aggregations

IUsbManager (android.hardware.usb.IUsbManager)30 IBinder (android.os.IBinder)24 RemoteException (android.os.RemoteException)18 Intent (android.content.Intent)12 UserHandle (android.os.UserHandle)12 PendingIntent (android.app.PendingIntent)6 ActivityNotFoundException (android.content.ActivityNotFoundException)6 ComponentName (android.content.ComponentName)6 ResolveInfo (android.content.pm.ResolveInfo)5