Commit Graph

256 Commits

Author SHA1 Message Date
Wu-cheng Li
f55df0e26a Merge "Add camera new picture and new video broadcast intents." 2011-07-19 11:16:20 -07:00
Wu-cheng Li
10e09c69d6 Add camera new picture and new video broadcast intents.
bug:4964321
Change-Id: I42b45cda2e6a30f3bdf6127e2594933f32ecbaeb
2011-07-19 06:19:26 +08:00
Mike Lockwood
875c24b897 UsbManager: document that passing null setCurrentFunction restores default function
Change-Id: I4340b336f3e91b3b8242f2a66c34a7a7f5c3021f
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-07-18 10:54:32 -07:00
Eino-Ville Talvala
83d3352cf7 NEW_API: Add auto-exposure and auto-white balance locking to the Camera.
Unhides the Camera API calls for using the auto-exposure and
auto-white balance locks. Adds documentation about the interaction
between auto-focus and the AE and AWB locks.

Change-Id: I5bf73b9dce1c93e11a17f9d3efb82db1261524c5
2011-07-14 10:05:04 -07:00
Wu-cheng Li
42419ce28a Add framework support for camcorder zoom.
The purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to
allow applications using the camera during recording.

Camera service allows only one client at a time. Since camcorder application
needs to own the camera to do things like zoom, the media recorder cannot
access the camera directly during recording. So ICameraRecordingProxy is a proxy
of ICamera, which allows the media recorder to start/stop the recording and
release recording frames. ICameraRecordingProxyListener is an interface that
allows the recorder to receive video frames during recording.

ICameraRecordingProxy
  startRecording()
  stopRecording()
  releaseRecordingFrame()

ICameraRecordingProxyListener
  dataCallbackTimestamp()

The camcorder app opens the camera and starts the preview. The app passes
ICamera and ICameraRecordingProxy to the media recorder by
MediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in
MediaRecorder::start(). After setup, the recorder disconnects from camera
service. The recorder calls ICameraRecordingProxy::startRecording() and
passes a ICameraRecordingProxyListener to the app. The app connects back to
camera service and starts the recording. The app owns the camera and can do
things like zoom. The media recorder receives the video frames from the
listener and releases them by ICameraRecordingProxy::releaseRecordingFrame.
The recorder calls ICameraRecordingProxy::stopRecording() to stop the
recording.

The call sequences are as follows:
1. The app: Camera.unlock().
2. The app: MediaRecorder.setCamera().
3. Start recording
   (1) The app: MediaRecorder.start().
   (2) The recorder: ICamera.unlock() and ICamera.disconnect().
   (3) The recorder: ICameraRecordingProxy.startRecording().
   (4) The app: ICamera.reconnect().
   (5) The app: ICamera.startRecording().
4. During recording
   (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()
   (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().
5. Stop recording
   (1) The app: MediaRecorder.stop()
   (2) The recorder: ICameraRecordingProxy.stopRecording().
   (3) The app: ICamera.stopRecording().

bug:2644213

Change-Id: I15269397defc25cbbcae16abc071c8349c123122
2011-06-27 15:44:57 +08:00
Mike Lockwood
f59717ddb5 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>
2011-06-22 15:19:33 -04:00
Wu-cheng Li
d8aab93f96 Fix camera getMeteringAreas does not return areas correctly.
bug:4494242
Change-Id: Ide5a44fc302ecda22557fc9eba5e7fcd8679712b
2011-06-21 12:15:50 +08:00
Mike Lockwood
02e4569b5f USB: Support for new USB gadget drivers
Change-Id: Id08df50acb873a94f4765a991ee6a6f5b898ddf5
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-06-17 19:49:05 -04:00
Wu-cheng Li
facc8ce116 Mention device policay manager in Camera.open javadoc.
bug:4185309
Change-Id: I733654a0be1953851dac7686c9c38e7af8f1d73a
2011-06-17 13:11:03 +08:00
Mike Lockwood
523510e9b7 Merge "UsbManager: Clean up extras for ACTION_USB_STATE broadcast" 2011-06-08 09:42:54 -07:00
Mike Lockwood
9eb014aeb0 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>
2011-06-08 09:17:45 -07:00
Eino-Ville Talvala
32a972c693 Updates to Camera API documentation.
Change-Id: I716a36becce436f57ea62fcfecd9021eb29b76ea
2011-06-07 10:34:56 -07:00
Wu-cheng Li
bde61a5731 Improve android.hardware.Camera.Area javadoc.
bug:4553469
Change-Id: Iae88af354fee4925cb7978572c27f6dd5595ca59
2011-06-07 19:00:03 +08:00
Mike Lockwood
90f902afde resolved conflicts for merge of c1730dcf to master
Change-Id: I9e0f9740930c7d3acb51235dd4c67cf2ed54a486
2011-05-19 13:34:44 -04:00
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
c6b7a0131e Merge 111d17ce
Change-Id: I2e0aa4328bc78eb5bcd987e7bf74b0889d2fae7f
2011-05-19 07:17:00 -07: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
Eino-Ville Talvala
d9c2601afa Add auto-white balance locking to the Camera API.
Adds a new camera parameter for locking auto-white balance to its
current value. Also adds a function for checking if auto-white balance
lock is supported by the current platform. Lock semantics match that
of the auto-exposure lock.

Hidden for now.

Change-Id: Id59339a4be84d55c1b0b8473d765b6aa765999b2
2011-05-17 10:52:42 -07:00
Wu-cheng Li
26274fae33 Improve camera javadoc.
Preview has to be stopped before chaning preview size.

Change-Id: I6ab30402b2270eed9606a69ebce43ae58e0776a8
2011-05-05 14:36:28 +08:00
Mathias Agopian
9d216f7b0e Merge "improve documentation for the ROTATION_VECTOR sensor" 2011-05-03 15:36:23 -07:00
Mathias Agopian
557975c2b5 Merge "Add documentation for Sensor.TYPE_PRESSURE" 2011-05-03 15:25:42 -07:00
Mathias Agopian
d84d2b7b1e improve documentation for the ROTATION_VECTOR sensor
the documentation didn't specify which reference coordinate
system was used.

Change-Id: I5ff5d1041b59de365863db6ee34cc9d823801d34
2011-05-02 19:08:53 -07:00
Mathias Agopian
1260a89b54 Add documentation for Sensor.TYPE_PRESSURE
Change-Id: I634722a9a22946a1ae96c0b868af0c66d467a3a6
2011-05-02 18:59:07 -07:00
Eino-Ville Talvala
3773eef4e3 Add an auto-exposure lock feature to the Camera API.
Adds a new camera parameter for locking auto-exposure to its current
value. Also adds a function for checking if auto-exposure lock is
supported by the current platform.

Hidden for now.

Change-Id: Id452371191ab220318ce2cb98b8ee91bdde9aab6
2011-05-02 09:36:06 -07:00
Wu-cheng Li
f715bf95de Unhide camera focus area and metering area API.
These API are for touch focus.

bug:3475893

Change-Id: I1e213c0bed0c6fe18dcbfb0457c51c52e7cfae30
2011-04-27 01:20:53 +08:00
Eino-Ville Talvala
185052e2d1 Merge "Clarify the meaning of weight in the focus and metering area HAL." 2011-04-25 09:39:28 -07:00
Eino-Ville Talvala
4e396e063c Clarify the meaning of weight in the focus and metering area HAL.
Weigh values must be less than 1000, but have no restriction on their
sum. Weights should be interpreted as per-pixel values, meaning larger
areas will have more influence over focus/metering than smaller areas
of the same weight.

Change-Id: I988b74f988ddba2ff0c49d078ff3174b47cbae18
2011-04-25 09:33:48 -07:00
Wu-cheng Li
7b1c5c891a Fix camera javadoc errors.
Change-Id: Ia5db14ee01af49e81295d1eb4dd38218de8944cd
2011-04-15 19:16:52 +08:00
Urs Fleisch
5819051eee support humidity sensor type
Change-Id: I4156842677e91de0f922284d196147ff61e71a70
2011-04-13 12:52:59 -07:00
Wu-cheng Li
e98e4c8063 Add camera metering area API.
The API are still hidden.

bug:3475893
Change-Id: Id4147528def5e0fe067e1a3ed315fa34c14a0640
2011-04-13 16:06:47 +08:00
Wu-cheng Li
30771b7733 Add camera focus area API.
The API are still hidden.

bug:3475893

Change-Id: I92405c9e332b7fb141788cda7ebc9705dd666c67
2011-04-08 17:45:15 +08:00
Robert Ly
c474031642 am cbfeda13: am 6f7e4cb5: am 3f39f653: Adding package description for android.hardware.usb
* commit 'cbfeda13e7da5c1cdf6f02e76d81ac5f878b1225':
  Adding package description for android.hardware.usb
2011-04-04 11:55:23 -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
8538149572 am 1c56976a: am 38f04c0f: am 11dd5ae9: Improve Javadoc for USB Manager and MTP/PTP support.
* commit '1c56976a774434bd279b6181c4fc3c555c4648c2':
  Improve Javadoc for USB Manager and MTP/PTP support.
2011-04-01 11:38:52 -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
Eino-Ville Talvala
a5d42c8578 Merge "NEW_API: Add getTimestamp() to SurfaceTexture." 2011-03-24 15:36:56 -07:00
Mathias Agopian
462db220a2 fix [4056232] Deprecate Sensor.TYPE_TEMPERATURE and add Sensor.TYPE_AMBIENT_TEMPERATURE
Bug: 4056232
Change-Id: Idf165460fc083f856c320f0f6f8841d73661c829
2011-03-22 19:12:13 -07:00
Eino-Ville Talvala
e309a0fd2e NEW_API: Add getTimestamp() to SurfaceTexture.
Like getTransformMatrix, getTimestamp provides a timestamp for the
OpenGL texture produced by the latest call to updateTexImage().

Timestamps are measured in nanoseconds, and are monotonically
increasing.  Other properties of the timestamps (zero point,
comparability) depend on the source providing frames to the
SurfaceTexture, and need to be documented by the source.

bug:3300707

Change-Id: I380d94926d0e9f1c77bb5c1576b72d5ef4e2eba1
2011-03-21 15:38:36 -07:00
Eino-Ville Talvala
c5f94d8a47 Add support for timestamps into SurfaceTexture.
API addition: The timestamps are represented as nanoseconds from some
arbitrary time point. Like the SurfaceTexture transform matrix, the
timestamp retrieved by getTimestamp is for the last frame sent to the
GL texture using updateTexImage().

Camera HAL change: Expect vendors to set these timestamps using
native_window_set_buffers_timestamp().  For now, they are
autogenerated by SurfaceTextureClient if set_buffers_timestamp() is
never called, but such timing is likely not accurate enough to pass a
CTS test.

bug:3300707

Change-Id: Ife131a0c2a826ac27342e11b8a6c42ff49e1bea7
2011-03-17 13:10:03 -07: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