History log of /frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
8b2c3a14603d163d7564e6f60286995079687690 12-Nov-2012 Jeff Sharkey <jsharkey@android.com> Useful annotations for code documentation.

Bug: 6537978
Change-Id: I806c3c09e3255f8789455f13bf37c1dde2a93f1f
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.java
7ff30113de68539ec840c524b8f1561f938f96c5 08-Nov-2012 Dianne Hackborn <hackbod@google.com> Remove extraneous logs.

Change-Id: I4c47d36748de91bd6fddc419afbf59552bf63e9a
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.java
a25079e6bafcfd77135a852f0e838738d80606ef 10-May-2012 Daniel Sandler <dsandler@android.com> Show the ADB icon in the status bar again.

Bug: 6440323
Change-Id: I3b1972d18be4ad77a87c4b71673b6cfb7735c59e
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.java
abc4ac6d48c52bd8b69026441bf261e5c68c24f4 11-Jul-2011 Mike Lockwood <lockwood@android.com> UsbDeviceManager: Fix indentation

Change-Id: I3eb1d407bdb4bf885d1765eedbfb30555f558b3b
Signed-off-by: Mike Lockwood <lockwood@android.com>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.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>
/frameworks/base/services/java/com/android/server/usb/UsbDeviceManager.java