Commit Graph

1249 Commits

Author SHA1 Message Date
Yuncheol Heo
f17024873b CEC: make it sure to send vendor commands when changing a setting.
- Remove 'oneway' from IHdmiVendorCommandListener.
- Add flush() method to HdmiCecController.
- Use IoThread for HdmiCecController.

Bug: 18495592
Change-Id: I497f7b49e94dd4402058ecc89cb5b7a3d58bf1e1
2014-12-02 07:52:16 +09:00
Eino-Ville Talvala
4c9c7a5883 CameraManager: Separate service listener into a singleton
Currently, every CameraManager instance adds itself as a camera service
listener, which has the unfortunate side effect of keeping them all alive
indefinitely.

This is doubly unfortunate since every CameraManager keeps the Context it
was constructed with, and therefore may be leaking whole Activities along
with the CameraManager itself.

Break out a global per-process CameraManager which handles service
connection keepalive and availability listeners, so that local camera
manager instances can go out of scope as expected.

Bug: 18077200

Change-Id: I1be5fb8d3492131e98bb4a84121400d4abb2b9e1
2014-11-26 13:58:15 -08:00
Ruben Brunk
8791a1e81a Merge "Camera2: Ignore unsupported face detection results in LEGACY." into lmp-mr1-dev 2014-11-24 23:11:33 +00:00
Ruben Brunk
5d3d53aa13 Merge "Camera2: Doc updates for aeExposureCompensation." into lmp-mr1-dev 2014-11-21 17:42:44 +00:00
Ruben Brunk
000973a163 Camera2: Ignore unsupported face detection results in LEGACY.
Bug: 18261420
Change-Id: Ia50744326d7ade9c42292952c406c78d7f274769
2014-11-20 18:24:12 -08:00
Ruben Brunk
f721ba0463 Camera2: Doc updates for aeExposureCompensation.
Bug: 18467471

Change-Id: I3c270c535fa5e7f3eb40bd699898a759c07d986b
2014-11-20 11:46:36 -08:00
Eino-Ville Talvala
8d709f3d53 Camera: Add one more requirement to BURST_CAPTURE
To enable full-AUTO bursts, also need to ensure a fast enough
AE target FPS range is available.

Bug: 18281970
Change-Id: I73f7747dfe16380a2cd277a56a002ecc1279154e
2014-11-17 11:37:34 -08:00
Eino-Ville Talvala
126a7468c2 Camera2: Add BURST_CAPTURE capability flag
This capability (a subset of FULL) indicates that a camera device
can capture high-rate (>= 20fps) bursts of images at full device
resolution, in at least the YUV_420_888 format.

It also guarantees that the synchronization latency for a device is
relatively small, so that fixed-setting bursts can be captured quickly.

Bug: 18281970
Change-Id: Ifc8fc43252a77097d804429d1c9f6fa71a95aa4f
2014-11-17 17:50:05 +00:00
Ruben Brunk
4d2d97763f Merge "camera2: Add READ_SETTINGS capability." into lmp-mr1-dev 2014-11-15 01:13:54 +00:00
Yuncheol Heo
8977c1dab5 Merge "CEC: Fix a bug in HdmiPortInfo.createFromParcel()." into lmp-mr1-dev 2014-11-14 21:50:21 +00:00
Yin-Chia Yeh
cb6eae0e2e Merge "Camera: doc update for independent 3A" into lmp-mr1-dev 2014-11-14 18:36:33 +00:00
Ruben Brunk
0c22e6919a camera2: Add READ_SETTINGS capability.
Bug: 18281970
Change-Id: I28be92a85f0a843c690f9ff49263440cd871e40d
2014-11-13 15:15:07 -08:00
Yuncheol Heo
417a95685e CEC: Fix a bug in HdmiPortInfo.createFromParcel().
- Added equals() for the testing.

Bug: 18376178
Change-Id: Icc7d5fe78b3132bf51754fc3bb0d5a40e0d3b20a
2014-11-14 06:43:31 +09:00
Yin-Chia Yeh
7144b5d2cf Camera: doc update for independent 3A
Bug: 18281970
Change-Id: I12f8b4fcbabe473b076464eaf9b7617a5ec586d3
2014-11-13 11:52:45 -08:00
Sandeep Siddhartha
45c00b5877 Don't unload the sound model on stopRecognition
This helps us in majority of the scenarios where the sound model doesn't
change across start/stop calls.

Bug: 17954633
Change-Id: Ibff817bb69bc69d2bb3a2603460fed596688b892
2014-11-12 09:57:27 -08:00
Jungshik Jang
326aef0c94 Add recorder address to all recording listerner apis.
It enables to recognize which recorder reports record status.

Bug: 18248734
Change-Id: I248ad77212ce584dc16863cbe00639e7ac3c184a
2014-11-05 13:32:52 +09:00
Jeff Brown
0ed053ef53 am e333e674: Add a function to boost screen brightness temporarily.
* commit 'e333e674a758c39885d4d9779a1aad387fb0e6aa':
  Add a function to boost screen brightness temporarily.
2014-11-01 14:10:46 +00:00
Jeff Brown
e333e674a7 Add a function to boost screen brightness temporarily.
When PowerManager.boostScreenBrightness() is called, the screen
brightness is set to maximum for 5 seconds.  This action is
also considered to be user activity.

Bug: 17934954
Change-Id: I1cb4a03a60705c6c1c5cc9ff84b1c5dbd2932fcd
2014-10-31 18:45:11 -07:00
Yuncheol Heo
2b0da5c4c8 CEC: Fix apilint errors.
- Change 'protected' to 'package private'.
- Change '@hide' to '{@hide}' for methods which should be still hidden
  for linting.
- Rename addVendorCommandListener to setVendorCommandListener and make sure to be called once.
- Fix the implementation of removeHotplugEventListener().

Bug: 18063669
Change-Id: I5c032736f17bab9518f21596f7adeac2f88ba4c1
2014-10-24 15:30:48 +09:00
Yuncheol Heo
5487ab07c7 CEC: Fix JavaDoc errors.
- Removed the link tag to the non-public objects.

Bug: 18063758
Change-Id: I17c79510c184df8a62cde9a6a1d18109c299c15d
2014-10-24 08:16:31 +09:00
Yuncheol Heo
0608b9328b CEC: Add a callback for vendor when HDMI control setting is changed.
- removed unregisterContentObserver() to reactivate the service later.
- added the parameter destAddress to onReceived() callback to
  distinguish whether the message is broadcast or not.

Bug: 17962624
Change-Id: I552d14661583f63bb66b07866092f972b259b15a
2014-10-20 16:47:24 +09:00
Jinsuk Kim
bdf27fbf74 CEC: add getDeviceList()
Returns the list of all the connected CEC device information. This is
different from getInputDevices() which returns devices of source type only.

For this, turned the local device address list to unmodifiable so that it can
be used by any threads.

Now respects the device type info passed through <Report Physical Address>
rather than always defaulting to the one from HdmiUtil.getTypeFromAddress().
This ensures future compatibility when a device of reserved logical address
comes with a specific type.

Bug: 18046603
Change-Id: I5f7d5e31706efba1ad5dcf4bcfd4ffc918d1d940
2014-10-20 11:32:47 +09:00
Aravind Akella
1f9b32f006 Sensor documentation fixes.
Change-Id: I664e5e2d5103b87ed02f082551e46513f64b95a1
2014-10-13 22:25:46 +00:00
Eino-Ville Talvala
7e7a14c541 am eeec4b9e: am ef773e35: Merge changes Id09663d8,Ie88f3750 into lmp-dev
* commit 'eeec4b9ebc15545e59985eab29385157cbbd8e9f':
  Camera2: Docs cleanup, especially units and range
  camera2: Update docs only for legacy devices
2014-10-09 13:04:08 +00:00
Dianne Hackborn
d83e9e4280 am 0761b1b5: am 89b19695: Merge "Put in real "code" (aka marketing) name." into lmp-dev
* commit '0761b1b5ebb453a411e3289c1c972dbfddcee880':
  Put in real "code" (aka marketing) name.
2014-10-09 13:03:21 +00:00
Eino-Ville Talvala
ef773e3569 Merge changes Id09663d8,Ie88f3750 into lmp-dev
* changes:
  Camera2: Docs cleanup, especially units and range
  camera2: Update docs only for legacy devices
2014-10-08 18:48:31 +00:00
Eino-Ville Talvala
fd3e2892f2 Camera2: Docs cleanup, especially units and range
- Add entries for units and range into javadoc
- Fix up existing units entries and add new ones
- Fix up range entries to be consistent for enums
- Add range entries where it makes sense
- Minor fix to javadoc gen to allow for code indentation
- Lots of edits for consistency, especially to
  available* entries.

Bug: 16525650

Change-Id: Id09663d897ec98122073e6e13719731ec0de4dad
2014-10-08 11:28:59 -07:00
Dianne Hackborn
955d8d69ea Put in real "code" (aka marketing) name.
Change-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe
2014-10-07 20:17:19 -07:00
Igor Murashkin
4b8cd6b44c camera2: Update docs only for legacy devices
Bug: 17788234
Change-Id: Ie88f3750cc06d889c6750f2099598d53ccb601b7
2014-10-03 17:55:18 -07:00
Jungshik Jang
0c5c24f234 Change visibility of RecordSource into public.
RecordSource should be accessible outside of
android.hardware.hdmi.

Bug: 17775014
Change-Id: I4c8879dc1504aad9672555c17d5b7f6643ed5188
2014-10-02 15:10:54 +09:00
Eino-Ville Talvala
0a62ab7079 Merge "Camera2 Legacy: Set a default thumbnail size" into lmp-dev 2014-09-30 23:44:58 +00:00
Ruben Brunk
0c79884076 camera2: Use valid dimensions for RGBA8888 gralloc buffers.
Bug: 17675571

- All of the mistakes were made.  Unmake them.

Change-Id: I23ff7a553347d4d9588c728219f4bf0604ba2e38
2014-09-30 13:54:20 -07:00
Eino-Ville Talvala
3adf18dc33 Camera2 Legacy: Set a default thumbnail size
Generally, JPEGs are better with thumbnails, and the default parameters
typically set a basic thumbnail size. In legacy, include a default size in the
templates.

This also works around issues with some devices not producing valid images with no
thumbnail.

Bug: 17724701
Change-Id: I2ad1449fc8c6d1fdec609af55f53db7491abbb92
2014-09-30 17:42:17 +00:00
Ruben Brunk
7b28c66a6c Merge "camera2: Fix native ImageReader test segfaults." into lmp-dev 2014-09-27 02:16:30 +00:00
Ruben Brunk
31798f3318 camera2: Fix native ImageReader test segfaults.
Bug: 17675571

- Check for JPEG footer in correct location from ImageReader
  when using the RGBA override.
- Add additional error checks in produceFrame method.
- Avoid allocating extra space for jpeg buffers due to
  incorrect width calculations.

Change-Id: I926f37e8b3e5c4bad24c16dcee48d52adb1706dd
2014-09-26 18:00:21 -07:00
Eino-Ville Talvala
56fbbeab79 Camera2: Fix parallel session and device close() exception
It's possible for the device to have close() called on it
during the session close sequence such that the session still
tries to do a stream reconfiguration on the closed device.

Handle the exception thrown by this attempt.

Bug: 17661765

Change-Id: Iee63c5c559405abe5c044ae251ad56edd1fb3e79
2014-09-26 15:37:26 -07:00
Igor Murashkin
381d22f706 Merge "camera2: Fix race conditions and deadlocks around configuration" into lmp-dev 2014-09-26 22:20:12 +00:00
Igor Murashkin
51dcfd65a6 camera2: Fix race conditions and deadlocks around configuration
Fixes an illegal state exception that sometimes occurs during
configuration. Fixes a deadlock during unconfiguration. Fixes
the idle handler never being run during configuration.

Bug: 17628736
Change-Id: Id2c5e416f96fcbac9c718fca3cc2cf21734bc6a4
2014-09-25 16:57:18 -07:00
Eino-Ville Talvala
52571b9032 Camera2 Legacy: Clear JPEG ids when reconfiguring.
Otherwise, stale IDs for old streams will be left around, causing
JPEGs to be sent to the wrong consumers.

Bug: 17659125
Change-Id: I98e1a1d389147631bc80eaeb10d57f74a6256f32
2014-09-25 14:06:55 -07:00
Eino-Ville Talvala
eecc904f13 Camera2 legacy: Improve robustness to camera service crashes
When the camera service dies, the getParameters call is often the first
to fail, and on legacy mode, this frequently happens in a background thread.
Catch the runtime exceptions and convert to device errors, instead of killing
the process.

Bug: 17587496

Change-Id: I6757961e7c0387defd368a13cb7c343950602400
2014-09-25 14:06:55 -07:00
Ruben Brunk
820a08a555 Merge "camera2: Fix null check in PictureCallback." into lmp-dev 2014-09-25 19:23:00 +00:00
Ruben Brunk
2c3d7c5f68 camera2: Fix null check in PictureCallback.
Bug: 17636586
Change-Id: Ieddc106e14c97dc78405821e83e346d626127e2c
2014-09-25 11:48:27 -07:00
Ruben Brunk
81ba98619b Merge "camera2: Hide JPEGs in RGBA gralloc buffers." into lmp-dev 2014-09-24 22:51:55 +00:00
Igor Murashkin
1dbf7248ea Merge "camera2: Increase preview frame timeout" into lmp-dev 2014-09-24 20:58:18 +00:00
Igor Murashkin
3e2c14f3d6 camera2: Increase preview frame timeout
Some devices, especially those with HAL2/HAL3 frames will have a large
delay between the first preview frame and and the camera open. This is
because the streams are configured lazily so it adds extra latency.

Increase the timeout to make it significantly less likely to get frame drops.

Bug: 17628866
Change-Id: I48dcda8507fb7eb31c3f426f833418126171c204
2014-09-24 13:53:40 -07:00
Ruben Brunk
0fd198ad89 camera2: Hide JPEGs in RGBA gralloc buffers.
Bug: 17379185

- WAR for SW Write usage flags being unavailable on
  certain devices for JPEG (blob) format buffers.

Change-Id: Ic7299785b743f35dd47264b9d1cea01a88b71d91
2014-09-24 10:43:12 -07:00
Igor Murashkin
4f17981fdc Merge "camera2-legacy: Workaround max jpeg/preview size AR mismatch" into lmp-dev 2014-09-23 22:50:30 +00:00
Igor Murashkin
a0496d34ff camera2-legacy: Workaround max jpeg/preview size AR mismatch
Filter out the largest preview sizes (from the stream configuration map)
until we find one whose aspect ratio matches the max jpeg aspect ratio.
Keep all other (smaller) preview sizes.

Bug: 17589233
Change-Id: I8ebcaef6439691eff3312da2c37b9abe08a067ad
2014-09-23 15:11:36 -07:00
Ruben Brunk
b0ddd2e0d6 Merge "camera2: Update EACCES to throw correct exception in LEGACY." into lmp-dev 2014-09-23 18:08:42 +00:00
Ruben Brunk
3084c2f519 camera2: Update EACCES to throw correct exception in LEGACY.
Bug: 17595068
Change-Id: I1a88568822237d3609c3342a21e2ca81ca935408
2014-09-23 10:32:18 -07:00