summaryrefslogtreecommitdiff
path: root/services/java/com/android/server/usb/UsbService.java
AgeCommit message (Collapse)Author
2013-12-19Move some system services to separate directoriesAmith Yamasani
Refactored the directory structure so that services can be optionally excluded. This is step 1. Will be followed by another change that makes it possible to remove services from the build. Change-Id: Ideacedfd34b5e213217ad3ff4ebb21c4a8e73f85
2013-01-28UsbDebuggingManager: Add interface to clear secure adb keysBenoit Goby
This is called from Settings that has a button to clear secure adb public keys installed on the device. Change-Id: I63ef499c049766ef13ea6cb0594ed6719f35e5f3
2012-11-12Useful annotations for code documentation.Jeff Sharkey
Bug: 6537978 Change-Id: I806c3c09e3255f8789455f13bf37c1dde2a93f1f
2012-10-02Make USB services multi-user aware.Jeff Sharkey
USB settings are now isolated per-user, since they revolve around installed packages. User-specific settings are returned based on calling user, or referenced by UserHandle passed to SystemUI. Each settings Context is wrapped as a specific user, so all broadcasts are sent correctly. Upgrades any existing USB settings to OWNER. Physical events, like new devices, are routed to the currently active user. Switch to using AtomicFile when persisting settings. Bug: 7244888 Change-Id: I8a723ad3d55ac1bff99276c5f3a3f5e8f013432f
2012-08-20Add UsbDebuggingManager and UsbDebuggingActivityBenoit Goby
The UsbDebuggingManager listens to adbd requests and displays a dialog when the public key authentification fails, for the user to confirm if it wants to allow USB debugging from the attached host. If the user chooses to always allow USB debugging, the UsbDebuggingManager writes the public key to adbd's config file so that the public key authenfication succeeds next time. Change-Id: I115c828331d8e326c380844ee33915d5dff22260
2012-04-26UsbService: Add support for accessory initiating USB audio supportMike Lockwood
Change-Id: I0e468f4b841de9e1ca7b75a05fc58299dbc78222 Signed-off-by: Mike Lockwood <lockwood@google.com>
2011-06-22Combine UsbManager.setPrimaryFunction and setDefaultFunctionMike Lockwood
Due to the property trigger on persist.sys.usb.config, setting the default function also sets the current function. Now we combine both of these methods into setCurrentFunction, which has a "makeDefault" option to make the new function the default. This change should eliminate some problems with setting properties due to multiple property triggers happening at the same time. Change-Id: I9851299e9c2ee20475eada1a8104c0d50bf5a9e1 Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-17USB: Support for new USB gadget driversMike Lockwood
Change-Id: Id08df50acb873a94f4765a991ee6a6f5b898ddf5 Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-31UsbService: Refactor USB host and device support into two separate classesMike Lockwood
Host support is in UsbHostManager, device support is in UsbDeviceManager Renamed UsbDeviceSettingsManager to UsbSettingsManager Change-Id: Ib76e72957c233fa7f08f454d4d9a2a1da6368cc7 Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-29UsbService: Make USB disconnect handling for accessory mode more robustMike Lockwood
Handle the case where the kernel driver is in accessory mode but we failed to initialize it at the framework level. On disconnnect, check to see if the accessory kernel driver is enabled rather than checking mCurrentAccessory. That way we will restore the USB state in the kernel even if mCurrentAccessory is null. Change-Id: I35d458f21a8b21611946da523d0f53723cab0540 Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-19UsbService: Handle the case where a USB accessory connects as the device is ↵Mike Lockwood
booting Bug: 4129297 Change-Id: I8f9d085805fb598572f9b00952c3cd38cfab461b Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09UsbService: Don't require permissions for UsbManager.getCurrentAccessory()Mike Lockwood
Permission check should only happen in openAccessory() Otherwise an application will not be able to check for the current accessory and ask for permissions (if it is a suitable match for the application) BUG: 4069037 Change-Id: If5b44ebda2e8077598d96629163cc74aa336589e Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09Change UsbManager.requestPermission to only grant permission temporarilyMike Lockwood
If the user approves an application to access a USB device or accessory without choosing it as the default application, then permission is granted only until the device or accessory is disconnected. Only applications chosen as the default choice have permissions assigned persistently. BUG: 4061035 Change-Id: Ic4f6271a91b2fc56bbeef82c579e26d88c63ae56 Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-08USB: Add API and dialog for apps to request permissions for USB devices and ↵Mike Lockwood
accessories New APIs: UsbManager.hasPermission returns true if the caller has permission for the given device or accessory UsbManager.requestPermission poses a dialog to allow the user to give the caller permission for the device or accessory. Result is returned via a PendingIntent. No dialog is displayed if the caller already has permission. Also moved UsbResolverActivity to SystemUI package BUG: 4069037 Change-Id: I93be769501a8776b49ac26e468af19f8fa2114c9
2011-03-02UsbService: Make sure the USB accessory function is disabled when we disconnectMike Lockwood
BUG: 3493041 Change-Id: I95a34742d4b670a13ba5717f0551f3ce40af3c24 Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-01Fix UsbDeviceSettingsManager locking.Mike Lockwood
Change-Id: I93117ce791de95b0ab95017601f5d90ed5dd7a6a Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-01Move USB framework support from android.hardware to android.hardware.usb packageMike Lockwood
Change-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-28Add platform features for USB host and USB accessory support.Mike Lockwood
Also removed config_hasUsbHostSupport framework resource, which is now obsolete. Change-Id: I6f18cc1c4f68085de8b8363e1b5edff79aff404f Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-28UsbManager: Enhancements for managing USB devices and accessoriesMike Lockwood
When a USB device or accessory is connected, the UsbService now asks the user which application to associate with the device or accessory. Applications interested in devices or accessories must specify the devices they work with via meta-data attached to their manifest. Permission to communicate with the device is assigned when the user chooses the activity to use for the device. The user has the option of clicking the "always use this application" checkbox to make the assignment automatic in the future. The user may later clear this preference and revoke permission for an application to have permission to communicate with the device by clicking the "Clear defaults" button for the activity in the Manage Applications panel in Settings. Added class UsbResolveActivity (a subclass or ResolveActivity for choosing an activity for a USB device or accessory) Added UsbDeviceManager, which manages the mapping between USB devices/accessories and applications, including default applications for devices and accessories, and manages application permissions. Add interface to allow Settings to clear device and accessory preferences and permissions for an application. Remove obsolete ACCESS_USB permission. Add new signatureOrSystem MANAGE_USB permission to allow administrating preferences and permissions. Moved UsbService.java to a "usb" subdirectory, along with new classes UsbResolveActivity and UsbDeviceManager. Change-Id: I92554381e9779e68ce380daaee4e1401fb875703 Signed-off-by: Mike Lockwood <lockwood@android.com>