Commit Graph

222 Commits

Author SHA1 Message Date
Mike Lockwood
c1730dcf89 am ae448e2c: am a88b42d5: USB: Add method to access raw USB device descriptors
* commit 'ae448e2c90cae096efea53c1c93a70e7b5ca2db7':
  USB: Add method to access raw USB device descriptors
2011-05-19 10:06:44 -07:00
Mike Lockwood
a88b42d569 USB: Add method to access raw USB device descriptors
Change-Id: Id5b46ede14a838198a59bdc8ed4732942044cfa8
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-05-19 12:57:41 -04:00
Jean-Baptiste Queru
111d17ce51 Merge 4b999030
Change-Id: Ibb94ba77ec8588f5e7636cf6a038b143e3dcb2bd
2011-05-18 15:33:27 -07:00
Jean-Baptiste Queru
6c427617be Merge "support humidity sensor type" 2011-05-18 15:00:11 -07:00
Urs Fleisch
5819051eee support humidity sensor type
Change-Id: I4156842677e91de0f922284d196147ff61e71a70
2011-04-13 12:52:59 -07:00
Robert Ly
3f39f653a9 Adding package description for android.hardware.usb
Change-Id: I4d243424c6747531a1ac6ab2230c2af73bad4fed
2011-04-04 11:07:46 -07:00
Mike Lockwood
11dd5ae97b Improve Javadoc for USB Manager and MTP/PTP support.
Bug: 4091519

Change-Id: Ida79593d5a984f7ffd0934ae7bded23b8faf9eef
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-04-01 14:11:50 -04:00
Mike Lockwood
638d7cb3ee DO NOT MERGE: Backport more USB accessory changes from honeycomb
Change-Id: I8459c5ab9fbf0b3cad752041484a5de44ca9badd
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-15 16:50:18 -04:00
Mike Lockwood
015b1ecaec Add support for USB accessory serial numbers
Change-Id: I47b79f091b300ced60bfc61eff2f771139663aae
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-14 20:10:47 -04:00
Mike Lockwood
2cc0377200 DO NOT MERGE: backport recent USB accessory changes from honeycomb
Bug: 4082651

Change-Id: Ie7c2fc796dd3c64f803acbd14210e5949683f4ed
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-11 20:02:43 -05:00
Mike Lockwood
62cfeeb821 USB: minor cleanup work
Bug: 4067029

Change-Id: Icd8f912ab8732b5f770a217b9b3731092597ce02
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-11 18:51:29 -05:00
Mike Lockwood
a75075e167 UsbManager: Hide APIs not needed for USB host or accessory support.
Bug: 4067029

Change-Id: Ib63ab95a6571d6a691834bfb583a68d2e4cfd22e
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-11 11:26:38 -05:00
Mike Lockwood
acc29cc91b UsbDevice: Move IO related methods to new UsbDeviceConnection class
UsbDevice is now just an immutable parcelable object like UsbInterface and
UsbEndpoint.
All IO related functionality is now contained in UsbDeviceConnection
and UsbRequest.

Bug: 4067029

Change-Id: Ia84da0b512a697acc940eee0c3566711c62e1a68
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-11 10:24:21 -05:00
Mike Lockwood
cc08c439bc Merge "UsbAccessory: Add URI string, replace type string with description" into honeycomb-mr1 2011-03-10 07:50:30 -08:00
Mike Lockwood
ac36d7c715 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>
2011-03-09 22:12:49 -05:00
Mathias Agopian
838aa45b99 Merge "fix [4026375] SensorManager quaternion functions can call sqrt with a negative number" into honeycomb-mr1 2011-03-09 14:30:16 -08:00
Mike Lockwood
980f0430c1 UsbManager: Fix broken Javadoc links
Change-Id: Ia8ec7b29a7532feb00a28d6d325c129a9e041d2b
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-09 15:49:13 -05:00
Mike Lockwood
c6f23e8521 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>
2011-03-09 12:33:00 -05:00
Mike Lockwood
3a68b8338b 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
2011-03-08 21:22:19 -05:00
Mathias Agopian
5f94c315a6 fix [3452750] Issue 14634: SensorManager.getRotationMatrixFromVector gets NaN-Values [external] [DO NOT MERGE]
make sure to not pass negative numbers to sqrt().

Change-Id: Ia31f7ebb7b75c79b548e428c6084fa55031617d0
related-bug: 3452750
2011-03-07 17:58:56 -08:00
Mathias Agopian
241d8a84e5 fix [4026375] SensorManager quaternion functions can call sqrt with a negative number [DO NOT MERGE]
Just make sure to clamp the argument to zero.

Bug: 4026375
Change-Id: Idd3d4ef977e87c1b3f6b54371105c3152d7dc6b9
2011-03-07 17:58:34 -08:00
Mathias Agopian
0eab821498 fix [4026375] SensorManager quaternion functions can call sqrt with a negative number
Just make sure to clamp the argument to zero.

Bug: 4026375
Change-Id: I00c5f6c83659a290d5e1e191a1c8d25ec06834c2
2011-03-07 17:54:03 -08:00
Mike Lockwood
40bbf9295d DO NOT MERGE: Backport USB accessory support to gingerbread
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-01 23:09:12 -08:00
Mike Lockwood
c4308f01c9 Move USB framework support from android.hardware to android.hardware.usb package
Change-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-03-01 08:07:20 -08:00
Mike Lockwood
02eb8746de 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>
2011-02-28 17:00:45 -08:00
Mike Lockwood
f13ec7a3ac DO NOT MERGE: Clean up USB notifications:
Add support for separate USB connected and configuration events

Include both USB connected/disconnected and configuration state
in USB_STATE Intent

Remove redundant USB_CONNECTED and USB_DISCONNECTED Intents
Now we just have the sticky USB_STATE broadcast

Move USB disconnnect rebouncing from Tethering to UsbService

Change-Id: I1dea480f4b0daf14247cf37c5f2060498882c002
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-27 18:39:26 -08:00
Mike Lockwood
7916432b3c DO NOT MERGE UsbManager: squashed commit of:
USB: Add functions for querying if a USB function is supported and enabled.

Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService

Change-Id: I920a211934d993eab8ce744c1cc7b05342389286
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-27 18:39:21 -08:00
Wu-cheng Li
0c74819b76 Merge "Improve camera getSupportedPreviewFormats javadoc." 2011-02-25 01:36:56 -08:00
Wu-cheng Li
f9293e7d50 Improve camera getSupportedPreviewFormats javadoc.
bug:3463624
Change-Id: I4151fc7821e9648c6429acca53582f11f35f8813
2011-02-25 13:35:10 +08:00
Mike Lockwood
b607b884bd Merge "UsbManager: Remove redundant Intent extras from USB device and accessory broadcasts" 2011-02-24 14:05:02 -08:00
Wu-cheng Li
e857cc8175 Merge "Add YV12 preview format to camera parameter constants." 2011-02-24 02:51:17 -08:00
Wu-cheng Li
10a1b30dfb Add YV12 preview format to camera parameter constants.
bug:3463624
Change-Id: I8f2992dadfd3fb9e3c9d67743e52da7f3212827e
2011-02-24 18:19:48 +08:00
Scott Main
cd4ed5438c am b1eea45a: am 201959af: Merge "docs: fix sensorevent code snippets bug: 3480932" into honeycomb
* commit 'b1eea45a71a3fffe3014bbe84226df3c57ddbafc':
  docs: fix sensorevent code snippets bug: 3480932
2011-02-23 16:02:13 -08:00
Mike Lockwood
188d00b07e UsbManager: Remove redundant Intent extras from USB device and accessory broadcasts
These extras are also accessable via the UsbDevice and UsbAccessory classes,
which are also included as extras.
Since you can't filter Intents based on extras there is no point in duplicating
this information as separate extras.

Change-Id: I4c8d1e70d66023a1800b3f8f06118898da6b37af
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-23 13:14:33 -08:00
Scott Main
d11ee90b6e docs: fix sensorevent code snippets
bug: 3480932

Change-Id: Id97ca4e0edfb92eaac0f2996bc5e91d757644afb
2011-02-23 10:57:23 -08:00
James Dong
e00cab707d Application-managed callback buffer support for raw image
bug - 3292153

Change-Id: I9789f7c5cde3a3889d7375e881181e9152d95fc2
2011-02-22 20:48:15 -08:00
Mike Lockwood
9182d3c4eb UsbManager: New APIs for USB accessories
USB accessories are peripherals that connect to android devices as a USB host.

When connected, the accessory will first identify itself to the android device
by sending manufacturer, product, accessory type and version strings
to the device, and then request the device to enter USB accessory mode.
The device will then enable the USB accessory kernel driver and disable
all other USB functionality except possibly adb
(adb can be used while the android device is connected to the PC
and the PC is running software that emulates a USB accessory)

The class android.hardware.UsbAccessory is used to describe the
currently attached USB accessory.
UsbAccessory contains the manufacturer, product, accessory type
and version strings to identify the accessory.
The accessory can be opened as a ParcelFileDescriptor, which can be used
to communicate with the accessory over two bulk endpoints.

The Intents UsbManager.USB_ACCESSORY_ATTACHED and
UsbManager.USB_ACCESSORY_DETACHED are broadcast when accessories are
connected and disconnected to the device.  The USB_ACCESSORY_ATTACHED
contains a UsbAccessory object for the attached accessory as an extra.
The Intent also contains string extras for the manufacturer, product,
accessory type and version strings to allow filtering on these strings.

Change-Id: Ie77cbf51814a4aa44a6b1e62673bfe4c6aa81755
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-16 08:25:16 -05:00
Mathias Agopian
f27ebdeb39 Merge "fix [3452769] SensorEventListener can cause a java allocation at each received event [external]" 2011-02-15 12:34:48 -08:00
Mathias Agopian
929ced3569 fix [3452769] SensorEventListener can cause a java allocation at each received event [external]
increase the size of the SensorEvent pool from 1 to num_sensors*2.
and make the pool global instead of having an instance per SensorEventListener.

Change-Id: I1bcc53a9b07cd1f96fac6fe6e3b9da074e3cb1fd
2011-02-14 19:13:17 -08:00
Mathias Agopian
7b6e4bd697 fix [3452750] Issue 14634: SensorManager.getRotationMatrixFromVector gets NaN-Values [external]
make sure to not pass negative numbers to sqrt().

Change-Id: Ifd200c781ae8a94c8a3c600401b60f4cf2430be3
related-bug: 3452750
2011-02-14 17:17:58 -08:00
Glenn Kasten
dbc289d6c2 Bug 3438513 Fix incorrect throws clause
Change-Id: Ib47c12b2b03b0b03d8df69f1b943839283c9f867
2011-02-09 10:38:39 -08:00
Mike Lockwood
8b682ad08a UsbService: Blacklist HID boot subclass devices (keyboards and mice)
Change-Id: I80558c6205e041ad730c7815aba97cb80132e820
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-01 15:53:11 -05:00
The Android Open Source Project
b2abd8c424 Mass merge from gingerbread - do not merge
Change-Id: I45dc3596bf4211d8f91c64f2d1d00588878df629
2011-01-30 12:40:38 -08:00
Mathias Agopian
14f3d86267 am 12d014fd: Merge "fix [3355413] Gyro calls onAccuracyChanged and reports accuracy as UNRELIABLE" into gingerbread
* commit '12d014fdf40f69512e59e84914b230a2d3e7b8eb':
  fix [3355413] Gyro calls onAccuracyChanged and reports accuracy as UNRELIABLE
2011-01-27 17:28:47 -08:00
Mike Lockwood
1fce24b241 Add support for synchronous bulk USB transfers
Change-Id: Id5de49e4d728a702fa1583ecc24f83f36cc57d21
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-27 16:22:15 -08:00
Scott Main
c42eb2cce7 am d2b87091: am 0f2e2b8b: Merge "Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it\'s not a good location and the info is avilable in the dev guide, but also added some of the
* commit 'd2b87091cc30c575496eb78ebea88297da775359':
  Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it's not a good location and the info is avilable in the dev guide, but also added some of the info to the Resources class description.
2011-01-26 19:08:55 -08:00
Scott Main
d2b87091cc am 0f2e2b8b: Merge "Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it\'s not a good location and the info is avilable in the dev guide, but also added some of the info to the R
* commit '0f2e2b8b82c7b589bcc603ce57f8ff3d1c947784':
  Update package descriptions with editorial revisions. Notably, this removes exessive info about resources from the content package, because it's not a good location and the info is avilable in the dev guide, but also added some of the info to the Resources class description.
2011-01-26 17:09:21 -08:00
Scott Main
f4f05b8f24 Update package descriptions with editorial revisions.
Notably, this removes exessive info about resources
from the content package, because it's not a good location
and the info is avilable in the dev guide, but also
added some of the info to the Resources class description.

Change-Id: Ie78af26c9cec66314deb98e53078f48e16c08e70
2011-01-26 14:58:19 -08:00
Mike Lockwood
e7d511e148 New APIs for USB host support:
UsbManager:
- is now a service retrievable via Context.getSystemService(Context.USB_SERVICE).
- provides support for returning a list all connected USB devices
- broadcasts ACTION_USB_DEVICE_ATTACHED and USB_DEVICE_DETACHED when devices
  are added and removed from the USB host bus

UsbDevice:
- represents an attached USB device.

UsbInterface:
- represents an interface on a USB device
- devices may have multiple interfaces if they provide multiple
   sets of functionality (for example, android phones typically have interfaces
   for both USB mass storage and adb)

UsbEndpoint:
- represents an endpoint on a USB interface
- endpoints are used for sending or receiving data
  (only in one or the other direction)

UsbRequest:
- encapsulates a send or receive request to be sent over an endpoint

Change-Id: Ieef3e434c62760770ea839070cf5eba1a705967a
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-22 15:56:09 -08:00
Mathias Agopian
80f3376b3a am b92a40eb: am 12d014fd: Merge "fix [3355413] Gyro calls onAccuracyChanged and reports accuracy as UNRELIABLE" into gingerbread
* commit 'b92a40ebfaf49783f942b75b413e1499e149c3bb':
  fix [3355413] Gyro calls onAccuracyChanged and reports accuracy as UNRELIABLE
2011-01-21 15:02:26 -08:00