• Home
  • History
  • Annotate
  • only in /frameworks/base/services/java/com/android/server/usb/
History log of /frameworks/base/services/java/com/android/server/usb/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7ff30113de68539ec840c524b8f1561f938f96c5 08-Nov-2012 Dianne Hackborn <hackbod@google.com> Remove extraneous logs.

Change-Id: I4c47d36748de91bd6fddc419afbf59552bf63e9a
sbDeviceManager.java
fc3f24b4b60c10e0d3f41f70df37e11ea311cc2c 02-Oct-2012 Jeff Sharkey <jsharkey@android.com> Make USB services multi-user aware.

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
sbDeviceManager.java
sbHostManager.java
sbService.java
sbSettingsManager.java
bf6f6f9de72c9fd15e6bda9f228c05a9b37d6324 26-Sep-2012 Jeff Brown <jeffbrown@google.com> Update references to migrated global settings.

Fixed one setting that was migrated but not marked deprecated.

Removed a hidden setting that is no longer used by the new
power manager service.

Bug: 7231172
Change-Id: I332f020f876a18d519a1a20598a172f1c98036f7
sbDeviceManager.java
50cdf7c3069eb2cf82acbad73c322b7a5f3af4b1 24-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7214090: Need to be able to post notifications to all users

Also fix a bunch of system services that should be doing this. And
while doing that, found I needed to fix PendingIntent to evaluate
USER_CURRENT at the point of sending, not creation.

Note that this may end up with us having some notification shown to
non-primary users that lead to settings UI that should only be for
the primary user (such as the vpn notification). I'm not sure what
to do about this, maybe we need a different UI to come up there or
something, but showing the actual notification for those users at
least seems less broken than not telling them at all.

Change-Id: Iffc51e2d7c847e3d05064d292ab93937646a1ab7
sbDeviceManager.java
27bd34d9d9fe99f11b80aa0bbdb402fb47ef4158 16-Sep-2012 Jeff Sharkey <jsharkey@android.com> Multi-user MTP.

The current MTP kernel driver at /dev/mtp_usb is exclusive, meaning
only one process can have it open. In addition, each MTP session
with a desktop requires unique object IDs, which doesn't hold true
across users on the device.

To solve these two issues, when switching users we cycle the USB host
stack to disconnect both local and remote MTP connections, giving the
new user's media process a chance to claim /dev/mtp_usb, and causing
the desktop to initiate a new MTP session.

This change also allows BroadcastReceivers to registerReceiver()
allow retrieval of a current sticky broadcast. Adds a system property
to override maximum users. Removes MOUNTED broadcasts for secondary
users. Allows INTERACT_ACROSS_USERS to getCurrentUser().

Bug: 6925114
Change-Id: I02b4a1b535af95fb2142655887b6d15a8068d18a
sbDeviceManager.java
b049e212ab7fe8967893c202efcb30fecfdb82fb 08-Sep-2012 Jeff Sharkey <jsharkey@android.com> Include user identifier in external storage paths.

When building external storage paths, always include user in path
to enable cross-user paths and aid debugging.

Each Zygote process continues to only have access to the appropriate
user-specific emulated storage through bind mounts. A second set of
mounts continue supporting legacy /sdcard-style paths. For example,
a process running as owner has these mount points:

/storage/emulated_legacy
/storage/emulated_legacy/Android/obb
/storage/emulated/0
/storage/emulated/obb

Since Environment is created before Zygote forks, we need to update
its internal paths after each process launches.

Bug: 7131382
Change-Id: I6f8c6971f2a8edfb415c14cb4ed05ff97e587a21
sbDeviceManager.java
5ac72a29593ab9a20337a2225df52bdf4754be02 30-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user broadcasts.

You can now use ALL and CURRENT when sending broadcasts, to specify
where the broadcast goes.

Sticky broadcasts are now correctly separated per user, and registered
receivers are filtered based on the requested target user.

New Context APIs for more kinds of sending broadcasts as users.

Updating a bunch of system code that sends broadcasts to explicitly
specify which user the broadcast goes to.

Made a single version of the code for interpreting the requested
target user ID that all entries to activity manager (start activity,
send broadcast, start service) use.

Change-Id: Ie29f02dd5242ef8c8fa56c54593a315cd2574e1c
sbDeviceManager.java
sbSettingsManager.java
509bf2d2cf60201149b4e7711bbcdede8b744791 30-Aug-2012 Benoit Goby <benoit@android.com> UsbDebuggingManager: Fix restart when toggling USB debugging

Change-Id: Iaaec9162b03c4ea77735d096eec670392c61308a
sbDebuggingManager.java
37ce5c5d5e8216f02230aeb89b147c0395e18329 29-Aug-2012 Benoit Goby <benoit@android.com> UsbDebuggingManager: add missing break in switch

Bug: 7079044
Change-Id: Icf4090e79af47db7d068981537c97f2028d8e405
sbDebuggingManager.java
4e68bd420b6cfdbeadb5e69aa6448665b2da762b 26-Apr-2012 Benoit Goby <benoit@android.com> Add UsbDebuggingManager and UsbDebuggingActivity

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
sbDebuggingManager.java
sbDeviceManager.java
sbService.java
9064a48365c131ef5f64b26ab33dd40a7d1246a7 14-Aug-2012 Mike Lockwood <lockwood@google.com> Merge "Added missing USB_DEVICE_ATTACHED broadcast to running Activity"
82991054575130b2f065d9ab8d6aee270cd07239 18-Jun-2012 Robin Cutshaw <robin.cutshaw@gmail.com> Added missing USB_DEVICE_ATTACHED broadcast to running Activity

If an Activity programatically adds an ACTION_USB_DEVICE_ATTACHED intent,
it will never be delivered when the device is attached. This change adds
the missing intent broadcast to running Activities.

File changes:
modified: services/java/com/android/server/usb/UsbSettingsManager.java

Change-Id: I767ee4d0765a7901c36e4c6f4aaf6583da2ac6f4
Signed-off-by: Robin Cutshaw <robin.cutshaw@gmail.com>
sbSettingsManager.java
b86bc1058b8b9bce045ae94f7cd703d4bfecccb3 10-May-2012 Mike Lockwood <lockwood@google.com> Merge "UsbService: Fix problem detecting audio accessory mode when connected at boot" into jb-dev
bf91046872dd711019e8dec543441601576cc950 10-May-2012 Mike Lockwood <lockwood@google.com> UsbService: Fix problem detecting audio accessory mode when connected at boot

Change-Id: Ie0e23b8ec88f1dd29bb956bc1d21c241f3545059
Signed-off-by: Mike Lockwood <lockwood@google.com>
sbDeviceManager.java
a25079e6bafcfd77135a852f0e838738d80606ef 10-May-2012 Daniel Sandler <dsandler@android.com> Show the ADB icon in the status bar again.

Bug: 6440323
Change-Id: I3b1972d18be4ad77a87c4b71673b6cfb7735c59e
sbDeviceManager.java
166b05e0ce913711d27ce1a116b3f1fd906822e4 24-Apr-2012 Mike Lockwood <lockwood@google.com> UsbService: Add support for accessory initiating USB audio support

Change-Id: I0e468f4b841de9e1ca7b75a05fc58299dbc78222
Signed-off-by: Mike Lockwood <lockwood@google.com>
sbDeviceManager.java
sbService.java
d0d7503fd3e941113094532f28986f49b11b5fdb 20-Apr-2012 Dianne Hackborn <hackbod@google.com> Move handling of package changes to a background thread.

Helps get rid of some jank when installing applications.

Change-Id: I97d0022f82d67796e334d37086e5911dd6ca6b62
sbSettingsManager.java
9d5a4be05b6d51ebb768e5fbcfa27ed9a39269b3 06-Apr-2012 Mike Lockwood <lockwood@google.com> Add Intents to notify when USB audio devices or accessories are attached

In this change, only the USB audio accessory support is implemented.

Change-Id: Id9b411319b07a96dc56649ca74cc5f3f89a55a7c
Signed-off-by: Mike Lockwood <lockwood@google.com>
sbDeviceManager.java
49a2ad1f404622803faba0bc5937b8a39aba02b3 28-Mar-2012 Daniel Sandler <dsandler@android.com> Stop showing ADB and MTP/PTP/USB notifications at the top.

Two parts to this:
1. Stop treating FLAG_ONGOING_EVENT notifications specially
(in particular, ordering them at the top of the panel).
2. Set the priority bits on the system UI notifications
appropriately (low).

Change-Id: I3bde7e573654c5aad5e1c5d29e6a21ba94edcc5b
sbDeviceManager.java
dab2072365565b4892be7910b0cdb870e83689f6 08-Mar-2012 RoboErik <epastern@google.com> fix setting only usb mode

If you cleared the last usb mode it would fail (and so would setting
it if you started with none). This fixes it to set and unset the
last property correctly.

Change-Id: Ice5be6e57b6ca6b8c9241b0ac62071a3bc72606a
sbDeviceManager.java
afd8f1820eeee21e960be44b22113dc2cecacf98 07-Feb-2012 Kazuhiro Ondo <kazuhiro.ondo@motorola.com> Add OEM specific USB mode enumeration based on ro.bootmode property

This patch is adding a capability so that OEM can override USB mode
in case the device is boot up with OEM specific mode. (i.e. modem
debug, factory test etc.)

Bug:5964042
Change-Id: Ic8e23d302563ce71eedb74ce94cca8c65838a4f7
sbDeviceManager.java
765f97d5e608031bc1de4156c6e681e4d178c7ee 24-Aug-2011 Christopher Tate <ctate@google.com> Make sure to go to the right Settings panel when tapping a notification

We now use Intent.makeRestartActivityTask() to build the notification
PendingIntent objects, so that when tapped they restart the activity
in the desired state.

Fixes bug 5011926

Change-Id: Ie1ec3543cc0f49d1bd407622a617316cf53a078c
sbDeviceManager.java
fadd2b8e0ffea0d5b4bf3ca16af4d5cea001b561 16-Aug-2011 Mike Lockwood <lockwood@android.com> UsbManager: Use resource IDs for notification IDs

to avoid ID collisions with other system services.

Bug: 5161005

Change-Id: I069fbc40a8764bc85cceeacd04264abd32b62668
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
1984e79d1593b80adf46b16666862f5787157aed 03-Aug-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Fix typo that broke adb on/off setting persistence

Bug: 5108784

Change-Id: I68ed4d442ce4d3f4651cb618902fb226ac5a3673
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
8b4d36e8661e25fcb893e00be15ba02da0950055 03-Aug-2011 Mike Lockwood <lockwood@android.com> USB: Fix NPE that occurred when restoring default function in UsbManager.setEnabledFunctions

Bug: 5110020

Change-Id: I5e4b5c27e4675fa6830823832ae51411dc448191
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
68736cbf938935f7d7e1eb2b3f9ec911fcb0da72 29-Jul-2011 Mike Lockwood <lockwood@android.com> Clean up USB configuration switching logic and beef up error handling

Bug: 5050853

Change-Id: Ia00698e2adbb8a7d7698e2ae306413f6c715fbdb
sbDeviceManager.java
a5010431bfcdff88ac9d96e68d8308071c13472b 27-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Don't show USB notification for RNDIS

since USB tethering already has a notification.

Bug: 4988511

Change-Id: I928cb1e1d191c77340f7f05edfa80a74cdabe6ed
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
6e680dea3bc9e2d4ba1a09f428c303cd2a59c051 22-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Add USB notification string for USB accessory mode

Bug: 5062341

Change-Id: I93af8274e538009dd8f00d1cea782b62334e43f1
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
d462ecf8f82076d21c85bdeeefbd16a1a91d2805 21-Jul-2011 Mike Lockwood <lockwood@android.com> USB: Fix handling USB accessory attached when device is booting

Also defer anything that could start an activity from "system ready"
to "boot completed" time.

Bug: 5051683

Change-Id: I69db751cb991dd247bd0ac3c70a0d84c0d71f365
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
875c24b897919a80a711dc79cf625006f1ff366d 18-Jul-2011 Mike Lockwood <lockwood@android.com> UsbManager: document that passing null setCurrentFunction restores default function

Change-Id: I4340b336f3e91b3b8242f2a66c34a7a7f5c3021f
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
3fd13eb6322e09f1ffe5476e28d55732da391151 13-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: clean up HandlerThread creation

Change-Id: I84683b1753fcf3c3b501f8a506d6d890edf2eb37
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
6ea146c239f2468563b4e8766b446d14ae4a1ff5 10-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Include kernel USB state in dumpsys output

Change-Id: Ia7f015057e24f376e285a40e583644f9d0b9213e
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
c264afeb5528733a215a472e761b51cc59bba454 10-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Initialize state based on persist.sys.usb.config rather than current kernel state

This makes it more robust when recovering from runtime restarts

Bug: 4986841

Change-Id: I54b94213447130ca881c66da2d0ce490242f0c96
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
abc4ac6d48c52bd8b69026441bf261e5c68c24f4 11-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Fix indentation

Change-Id: I3eb1d407bdb4bf885d1765eedbfb30555f558b3b
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
629b149ff584bc247f68014a676101d1d5787d27 06-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Initialize RNDIS ethernet address based on device serial number

Change-Id: I4775e5d8350385777f70f1b28ac00aa22dbd9487
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
c50bff85281fa9661310465e88fd62890ccc9240 30-Jun-2011 Mike Lockwood <lockwood@android.com> UsbService: USB connected notification now redirects to USB screen in Settings

Change-Id: I2dc6d1294da53acfa7589ba5b693ec671695cd21
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
de296f64483713fdf164f3e8bf41dc12d1cff59e 01-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Reset sys.usb.config if it is "none" at boot

This will allow us to recover if we crash while changing USB configurations

Change-Id: I22ba9a1ff0a8bcbfd4a0f18af0c95a3b66b99060
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
fdc0c2984d05e32954608f46514c4cbe3a5a9424 01-Jul-2011 Mike Lockwood <lockwood@android.com> UsbService: Use Slog instead of Log, and disable some logging

Change-Id: I094ab99919055848a9fa76363eae6d0df51de9fd
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
sbHostManager.java
sbSettingsManager.java
d8404d2fdd7036435748548a6791063fb6d6c909 23-Jun-2011 Mike Lockwood <lockwood@android.com> USB: Update strings for USB connected notifications

We now have different strings depending on the current USB mode.

Change-Id: Icc6392d5700a6fee008b75287d8eb0f06db1d880
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
f59717ddb5ef324ee3fdb12b83e7d1b709793d28 22-Jun-2011 Mike Lockwood <lockwood@android.com> Combine UsbManager.setPrimaryFunction and setDefaultFunction

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>
sbDeviceManager.java
sbService.java
5787a2d5b4e5bd60087eb7fbb13c97c7d0ba113e 17-Jun-2011 Mike Lockwood <lockwood@android.com> USB connected notification and temporary USB options dialog

This change adds a notification when USB is connected.
Selecting the notification brings up a dialog to allow switching between
MTP and PTP modes, and also allows mounting a CD image for installing AFT.
The UI design is not final - this is a temporary implementation of the UI.

Change-Id: Idd678537aba595fd4cb183ea755bf437f372d826
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
02e4569b5f126ca916a7473117ddd17d4f2ccbbb 14-Jun-2011 Mike Lockwood <lockwood@android.com> USB: Support for new USB gadget drivers

Change-Id: Id08df50acb873a94f4765a991ee6a6f5b898ddf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
sbService.java
541c9949ae9c05636d3e0442aa5080815121a042 13-Jun-2011 Mike Lockwood <lockwood@android.com> Move adb related functionality from SystemServer and NotificationManagerService to UsbDeviceManager

Change-Id: I9e64b54bc2d027d88ae2d2cd893068e29b6fe237
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
9eb014aeb0630dab9210f8eb8b6c2f4250d5990e 08-Jun-2011 Mike Lockwood <lockwood@android.com> UsbManager: Clean up extras for ACTION_USB_STATE broadcast

Also added name for new PTP USB function

Change-Id: Ia2775ba2b23ef6a6108ca7e060239eb51c2eecc8
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceManager.java
46d0adf8256a42416584765625852b6e48497c90 26-May-2011 Mike Lockwood <lockwood@android.com> UsbService: Refactor USB host and device support into two separate classes

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>
sbDeviceManager.java
sbDeviceSettingsManager.java
sbHostManager.java
sbService.java
sbSettingsManager.java
4f0f3561edfdcdff0ac90f0ea26c64cb16efe643 30-Mar-2011 Mike Lockwood <lockwood@android.com> UsbService: Make USB disconnect handling for accessory mode more robust

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>
sbService.java
1c0e543638fa940651b675645146fd71c2ebd9b9 19-Mar-2011 Mike Lockwood <lockwood@android.com> UsbService: Handle the case where a USB accessory connects as the device is booting

Bug: 4129297

Change-Id: I8f9d085805fb598572f9b00952c3cd38cfab461b
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbService.java
bce6f8f249ff2b65df9ed790cc460053ab8eccec 13-Mar-2011 Mike Lockwood <lockwood@android.com> Add a dialog to ask user to start an application for a USB device or accessory

This is used when there is only one application available and the user has
not chosen to start it by default.
If more than one application is available we continue to use UsbResolverActivity

Bug: 4074719

Change-Id: Id61f2ccc6de5b9ac70fb4670006ff1fee2028d55
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
c7d32d106591fdfe759f48bbd6f7f1af7f92a61c 11-Mar-2011 Mike Lockwood <lockwood@android.com> Clear default for USB device/accessory when new matching app is installed

Bug: 4063041

Change-Id: Ia1b4f29d3e54ec21aa64407720d9d5db62855380
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
024b4f14945bd2a285f730faa3a0fdbb6c47abc1 10-Mar-2011 Mike Lockwood <lockwood@android.com> Support for USB accessory URIs

If a USB accessory is attached and we have no application that supports it,
display a dialog offering the user the option to visit the accessory's website
if the accessory has a URI.

Bug: 4073248

Change-Id: I30e2a802493fb6e203532a7f79402379c40bc3b8
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
ac36d7c715a9cd793b2dce6de547594810101c3a 10-Mar-2011 Mike Lockwood <lockwood@android.com> UsbAccessory: Add URI string, replace type string with description

This is a first step toward adding USB accessory URI support

BUG: 4073248

Modified USB accessory matching logic to look only at manufacturer, model and version
(description and URI are not considered when matching apps to accessories)

Also added test for USB accessory protocol version to accessorytest

BUG: 4080288

Change-Id: I992a3433c74efa7a7db37bf030f02c1f0c92f9e2
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
607710ad12a7503c3b84c34430d1716fe7264f20 09-Mar-2011 Mike Lockwood <lockwood@android.com> UsbService: Don't require permissions for UsbManager.getCurrentAccessory()

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>
sbService.java
c6f23e8521dedac7a07119031913235be3ca37c3 09-Mar-2011 Mike Lockwood <lockwood@android.com> Change UsbManager.requestPermission to only grant permission temporarily

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>
sbDeviceSettingsManager.java
sbService.java
3a68b8338b431eb15d28e92f06452efbbda9493e 08-Mar-2011 Mike Lockwood <lockwood@android.com> USB: Add API and dialog for apps to request permissions for USB devices and 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
sbDeviceSettingsManager.java
sbResolverActivity.java
sbService.java
8c7d8c3ccb37edff424ca01c6474cbed2154d954 07-Mar-2011 Mike Lockwood <lockwood@android.com> UsbService: Automatically use system apps by default if it is the only choice

If only one app is installed that supports a USB device or accessory
and that app is in the system partition, then use that activity by default
and rather than displaying the USB app chooser dialog.

BUG: 4060064

Change-Id: I49bf22a439e9676039b6f612c9bb622ab426066c
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
805b6bbea9676dafce3d6cd7dd2732f9f3f8fb23 03-Mar-2011 Mike Lockwood <lockwood@android.com> UsbManager: Don't display activity picker if there are no apps available for an accessory

Change-Id: I3ef569121e8d7d45584dbca9761451cbdf99a3e9
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
cb067ef52ab5bca35a37224da59c5c173b486134 03-Mar-2011 Mike Lockwood <lockwood@android.com> UsbManager: Don't display activity picker if there are no apps available for a device

BUG: 3506988

Change-Id: Iaf3c50b9ba422e6bcd687338db996a4193441c97
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
b98d02b8b29062025fa702b82894944e242fe2e7 03-Mar-2011 Mike Lockwood <lockwood@android.com> UsbService: Make sure the USB accessory function is disabled when we disconnect

BUG: 3493041

Change-Id: I95a34742d4b670a13ba5717f0551f3ce40af3c24
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbService.java
31ad11eb44a1c5316ffb478314f4e5c55bf09d13 01-Mar-2011 Mike Lockwood <lockwood@android.com> UsbDeviceSettingsManager: don't write settings file when not necessary

Change-Id: I48772f71822e3489f9e6c640985055569a656124
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
7a976a43700a17a29a0671c8456e41ec0a1086b9 01-Mar-2011 Mike Lockwood <lockwood@android.com> Fix UsbDeviceSettingsManager locking.

Change-Id: I93117ce791de95b0ab95017601f5d90ed5dd7a6a
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
sbService.java
c4308f01c965571dc2354107c3574df113e397ee 01-Mar-2011 Mike Lockwood <lockwood@android.com> Move USB framework support from android.hardware to android.hardware.usb package

Change-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbDeviceSettingsManager.java
sbResolverActivity.java
sbService.java
f4ca247158ffb83139d675ac0e1d25239c310be2 27-Feb-2011 Mike Lockwood <lockwood@android.com> Add platform features for USB host and USB accessory support.

Also removed config_hasUsbHostSupport framework resource, which is now obsolete.

Change-Id: I6f18cc1c4f68085de8b8363e1b5edff79aff404f
Signed-off-by: Mike Lockwood <lockwood@android.com>
sbService.java
02eb8746de2d60563ec2751a34d20923192e4293 27-Feb-2011 Mike Lockwood <lockwood@android.com> UsbManager: Enhancements for managing USB devices and accessories

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>
sbDeviceSettingsManager.java
sbResolverActivity.java
sbService.java