Commit Graph

211 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
Mathias Agopian
c2b4e21320 fix [3355413] Gyro calls onAccuracyChanged and reports accuracy as UNRELIABLE
- make sure to call onAccuracyChanged only when it actually changes
- only call onAccuracyChanged on Magnetic and Orientation sensors, which
  are the only ones to support it.
- for other sensors, call onAccuracyChanged only once with the
  SENSOR_STATUS_ACCURACY_HIGH value

Change-Id: Ic861e3d48d3b98dab74ffebe2746576f5b69f371
2011-01-16 19:11:20 -08:00
Jamie Gennis
fd6f39e147 Enable camera preview to a SurfaceTexture.
This change adds a public Java API to use a SurfaceTexture as the
destination of camera preview frames.

Change-Id: If537fed2df12c5c181e2af5f817985c1bda853fb
2011-01-07 17:40:24 -08:00
Mike Lockwood
264f6cd0b9 Temporarily remove UsbManager support for USB host.
A new USB host API will be added in an upcoming commit

Change-Id: I5816c10c7acd236d31ab8ae255fc83c77121eea0
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-01-06 11:48:19 -05:00
Brad Fitzpatrick
70588bf864 resolved conflicts for merge of 3a2c6bf0 to master
Change-Id: I1963d8fc391bb84de1054f2b20ce4e082d764cbe
2011-01-05 14:04:06 -08:00
Brad Fitzpatrick
69ea4e15e5 Documentation fixes found over vacation hacking.
Change-Id: I28900026465d66d950cf4f05f0c202b46c3c2d43
2011-01-05 13:07:34 -08:00
Mike Lockwood
d07c9d5d92 UsbManager: Add methods to convert between USB device names and IDs
Change-Id: I199a47805b629cc7b1714191d6af2fd70c2bda6d
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-29 09:44:54 -05:00
Mike Lockwood
b92df0f669 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: Id13eb0c5d51152d2a538985d680ba1db7d2241dc
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-14 18:32:59 -08:00
Mike Lockwood
770126a678 Rename android.hardware.Usb to UsbManager and UsbObserver to UsbService
In preparation for an upcoming change that will make UsbService into a real system service

Change-Id: Id85d624cfc6b10b49a08105cfaaacc667a492c12
Signed-off-by: Mike Lockwood <lockwood@android.com>
2010-12-09 22:52:05 -08:00
Dirk Dougherty
6fa74a5434 am 0d49a4e8: am 0871ee0c: Doc change: fix href to axis_globe_inverted orientation diagram.
* commit '0d49a4e838769252a313738e30fe78557f769a59':
  Doc change: fix href to axis_globe_inverted orientation diagram.
2010-12-06 23:36:18 -08:00
Dirk Dougherty
0871ee0c6f Doc change: fix href to axis_globe_inverted orientation diagram. 2010-12-06 19:40:21 -08:00
James Dong
dd0b16c268 Add two methods to Camera.java
o getSupportedVideoSizes() allows us to retrieve the list of the supported
  video sizes from the camera

o getPreferredPreviewSizeForVideoRecording() allows us to retrieve the
  preferred/recommended preview size for camcorder applications

bug - 3237021

Change-Id: I52fc9938d389bb411406320b0309775b6f44f4dc
2010-12-01 15:38:06 -08:00