Commit Graph

202 Commits

Author SHA1 Message Date
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
Mathias Agopian
33962f8c7d am be0ece6f: am 186b68b7: Merge "allow rotation-vector to have 4 components" into gingerbread
* commit 'be0ece6f855ee2ab52309b6633def90ddeab38ee':
  allow rotation-vector to have 4 components
2010-12-01 09:21:04 -08:00
Mathias Agopian
7badd2c402 allow rotation-vector to have 4 components
- upadte documentation for rotation vector
- update method dealing with rotation vector to deal with 4 components
- virtual rotation-vector sensor reports all four components
- improve SensorManager documentation layout

Whent he 4-th component of the rotation-vector is present, we can save
a square-root when computing the quaternion or rotation matrix from it.

Change-Id: Ia84d278dd5f0909fab1c5ba050f8df2679e2c7c8
2010-11-30 14:07:09 -08:00
Wu-cheng Li
4e911849ca am fb6f4505: am 589e8381: Merge "Improve camera documentation." into gingerbread
* commit 'fb6f4505ba5c227cebb73f1269b0af5d92e6e5e6':
  Improve camera documentation.
2010-11-19 19:20:59 -08:00
Wu-cheng Li
589e838116 Merge "Improve camera documentation." into gingerbread 2010-11-19 18:14:43 -08:00
Mathias Agopian
b4673f757f am d3b5510b: am 927e7410: Merge "Fix SensorManager.getOrientation() documentation." into gingerbread
* commit 'd3b5510b8505c6c653469193a40f6431272085f3':
  Fix SensorManager.getOrientation() documentation.
2010-11-19 17:23:13 -08:00
Mathias Agopian
f71384cd61 Fix SensorManager.getOrientation() documentation.
This function doesn't use the same reference coordinate system used
for the rotation matrix, unlike what the documentation previously
stated.

Change-Id: I38abeb74540d33b67f72993b54d7a00a73588dde
2010-11-19 16:25:11 -08:00
Wu-cheng Li
99a3f3e4e0 Improve camera documentation.
bug:3212606
Change-Id: Iee7106e4665c08a4c75471114010b75d63ac74ce
2010-11-19 16:20:04 +08:00
Mathias Agopian
90d6b69426 am 0e438287: am b48189cc: Merge "Improve gyro and accelerometer java doc" into gingerbread
* commit '0e438287995698aacdda715713300fc01a6d1585':
  Improve gyro and accelerometer java doc
2010-11-09 17:43:16 -08:00
Mathias Agopian
fa33565714 Improve gyro and accelerometer java doc
Change-Id: If055512cb51d6e3b9f2094a730bf373ca963d97d
2010-11-09 13:53:25 -08:00