Commit Graph

795 Commits

Author SHA1 Message Date
Zhijun He
bc01db42d5 Camera: remove some DNG tags
Change-Id: I878e26414dcf5cedbcfd8c505b0c507f4548c035
2014-05-07 21:33:23 +00:00
Zhijun He
379af01292 Camera2: Add missing capture result tags
All capture request tags should be available in capture result.

Bug: 14059883
Change-Id: I0aa8d7341b14fbbd627b17eb316bb016ff1fc316
2014-05-06 21:46:27 +00:00
Zhijun He
e126be2c5b Merge "Camera2: make videostabilization type consistent" 2014-05-06 00:03:28 +00:00
Zhijun He
4793af5e35 Camera2: make videostabilization type consistent
Make it consistent with availableVideoStabilizationModes and its optical
stabilization relatives.

Change-Id: I6e3834af8a62d4f84fca2d305ac9574052b69db0
2014-05-05 10:39:12 -07:00
Zhijun He
dab4049383 Merge "Camera2: Minor update for hyperfocalDistance spec" 2014-05-04 23:38:28 +00:00
Zhijun He
b41fcc2506 Camera2: Minor update for hyperfocalDistance spec
Doc only change.

Change-Id: I1b425ab739f10d5e2ba9403baf918f3ee6150d71
2014-05-04 16:29:57 -07:00
Jinsuk Kim
043aa252cf Merge "Define Feature action for obtaining info on a new CEC device" 2014-05-04 21:51:44 +00:00
Igor Murashkin
94814218d2 camera2: Add camera-specific data types used for metadata key/value
Adds new public API classes:
* InputOutputFormatsMap
* LensShadingMap
* RggbChannelVector
* StreamConfigurationMap
* TonemapCurve

Adds new @hide classes:
* StreamConfiguration
* StreamConfigurationDuration

Minor changes:
* CameraDevice (doc only)
* Preconditions (new @hide function)

Change-Id: I2f3757e2fe9d63e710f51469c650377165fd6631
2014-05-02 15:55:30 -07:00
Igor Murashkin
b3a78b2ca9 camera2: Add re-usable data types for camera metadata key/values
Adds new types to public API:
* ColorSpaceTransform
* Range<T>
* SizeF (android.util)
* MeteringRectangle

Minor changes to:
* Size (docs and move to android.util)
* Preconditions (@hide)

Adds helper class:
* HashCodeHelpers

Change-Id: Ied6749a19234f3af9da838f365f8d68d90251aaf
2014-05-02 15:55:29 -07:00
Zhijun He
25bb60e844 Merge "Camera2: replace AssertionError with error log" 2014-05-02 18:45:06 +00:00
Jungshik Jang
3f74ab0ee0 Implement logical address allocation logic for HDMI CEC.
Logical address in CEC is to distinguish each logical device from others.
In order to allocate logical address for new device, CEC sends
<Polling Message> to CEC bus. <Polling Message> is a CEC message
which has the same address for both source and destination without
body frame. (10bits).
CEC allows one and more logical address for a device type.
For example, there are 3 logical address defined for recorder device(1, 2, 9).
Among logical address candidates for the given device type, CEC scans
first the previous logical address (preferred logical address) of device.
If a device has not been allocated any logical address, preferred address
will be 15 (Unregistered), which means scan address from the minimum address
number of type. For example for recorder device, it starts from 1.
If no devices acks to the <Polling Message> during scan, it will be the
logical address of the device.
Since logical address is determined by a series of sending <Polling Message>
it happens in IO thread with separate allocate logical address message
instead of individual sendCommand message.

Along with this, updated ADDR_FREE_USE(14) to ADDR_SPECIFIC_USE(14)
which is revised name on HDMI 1.4.

Change-Id: Ic96dcdbe4aaa3789cfed0352a88ca75369335a98
2014-05-02 10:50:08 +09:00
Jungshik Jang
7d9a843af8 Implement add/remove device info api for Hdmi Cec device.
In order to manage info of all cec devices connected hdmi bus,
HdmiCecController should have data structure for them.
This change includes two major pieces.

1. HdmiCecDeviceInfo
 It's data structure containing basic device information such as
 logical address, physicall address, device type and vendor id.
 It will not be available to thirdparty but some system component
 like TIF needs this to update device information connected to
 its hdmi ports.

2. Managing device list in HdmiCecController.
 HdmiCecController is a host to manage all CEC device.
 and we need to have logic add or remove as well as get it.
 All cec devices are managed as sparsearray which uses logical address as key.

This change introduces internal api and the later change will have logic
to call these apis.

Change-Id: Idc2f189ac0bffe904e011ced0ac991f16da07db1
2014-05-02 10:15:38 +09:00
Jinsuk Kim
c70d2295dd Define Feature action for obtaining info on a new CEC device
Feature action (or action) is a unit of CEC command flow that accomplish
a certain feature. This CL introduces an abstract class FeatureAction,
and a concrete one NewDeviceAction that is used to obtain detailed
information on a new logical device on the CEC bus.

Change-Id: I94a7e75fbb76fe547f07f9588a93c7ea5a85d856
2014-05-02 07:23:35 +09:00
Zhijun He
22589b47cd Camera2: replace AssertionError with error log
Bug: 14448494
Change-Id: I8962cea14324c5c2faa580d009c58db2d35219ae
2014-05-01 10:52:04 -07:00
Zhijun He
896c330445 Merge "Camera2: Update availableFormats related key docs" 2014-04-29 20:16:02 +00:00
Zhijun He
a4d0a8fb20 Camera2: Update availableFormats related key docs
Change-Id: I1cd2a39ee6a4d3ec391fa827accaa8ad1b3dfc6e
2014-04-29 12:35:27 -07:00
Eino-Ville Talvala
967c4354be Merge "CameraDevice: Make sure log tags are within length bounds." 2014-04-28 22:28:55 +00:00
Eino-Ville Talvala
b72d1efdef CameraDevice: Make sure log tags are within length bounds.
Change-Id: I93c4670c1ee0b0be5956b0ed8cd0f53873257f7c
2014-04-28 15:23:43 -07:00
destradaa
cc972725af Make sure FLP HAL statuses currently used are translated (if needed) correctly into the framework.
b/14118906

Change-Id: I4723a3b9cad99aacc70bd3b7b5b5e034aa6c033d
2014-04-25 11:39:16 -07:00
Jianing Wei
baf0c650b3 Camera2 API: fix bug in Camera2 CTS test failure.
* The bug is caused by the fact that we did not update the frame
  tracker when the listener is null or camera is closed.
* This change fixes the bug 14151933.

Bug: 14151933
Change-Id: I00e3024e403503a056834be805c44604cb1a8a6d
2014-04-18 17:35:00 -07:00
Jianing Wei
abb7a88697 Merge "Camera2 API: fix wrong logic in handling last frame number." 2014-04-18 00:00:12 +00:00
Jeff Brown
aaea4d3a48 am 18a69b93: am 8e1e4006: Merge "Add support for dynamically setting the virtual display surface." into klp-modular-dev
* commit '18a69b936afa6bdb8c65b6b582989c4dcdac45ee':
  Add support for dynamically setting the virtual display surface.
2014-04-17 22:59:59 +00:00
Jianing Wei
5a4b02be33 Camera2 API: fix wrong logic in handling last frame number.
Change-Id: I23bdceada2460238c1e7fc45524ae491268b4243
2014-04-17 15:12:26 -07:00
Jeff Brown
18a69b936a am 8e1e4006: Merge "Add support for dynamically setting the virtual display surface." into klp-modular-dev
* commit '8e1e40066bae030d6a6e8f3f3f8f69ccd6ec1848':
  Add support for dynamically setting the virtual display surface.
2014-04-17 21:53:34 +00:00
Zhijun He
4f91e2a459 Camera2: Update sync.frameNumber tag
This is from the type mismapping bug fix in metadata generation.

Change-Id: Icaa9916e00e76b30cdc5688c3d3b7e9cadf84794
2014-04-17 13:20:21 -07:00
Jeff Brown
92207df753 Add support for dynamically setting the virtual display surface.
Previously, the surface that backs a virtual display had to be set
at the time when the display was created.  This change now makes
it possible to set or remove the surface later.  The virtual display
is treated as if it were "off" while no surface is attached to it.

Change-Id: Ib4fdbbb8b4ee79f0fb9ceb648f9bda4a8fa6a2ca
2014-04-16 18:45:05 -07:00
Ruben Brunk
a2e86e427d Merge "Update DNG tags." 2014-04-16 23:36:21 +00:00
Ruben Brunk
7c062369d5 Update DNG tags.
Change-Id: I497b0fac5d52005c126eaf52c67d30bd224a80b5
2014-04-16 16:01:29 -07:00
Christoph Studer
8fd7f1ed7c Rename basePkg to opPkg
...and actually populate the field correctly.

Change-Id: I3ce52efedb919d6af75dc9c3532e47764c467cac
2014-04-16 18:51:25 +02:00
Aravind Akella
d951ab230d am 8ebd66c2: am cd4c1c71: Merge "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor" into klp-modular-dev
* commit '8ebd66c259602f6b0be26fdfd3fe2f55538f6424':
  Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
2014-04-11 19:40:31 +00:00
Aravind Akella
8ebd66c259 am cd4c1c71: Merge "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor" into klp-modular-dev
* commit 'cd4c1c714c37a1bc7ba35ebd2509eca4f0f6a314':
  Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
2014-04-11 19:34:51 +00:00
Aravind Akella
cd4c1c714c Merge "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor" into klp-modular-dev 2014-04-11 19:32:38 +00:00
Jinsuk Kim
4bdcd299da am 55dab4dd: am b11f250e: Merge "Delegate HdmiCecService method impl to HdmiCecDevice subclass" into klp-modular-dev
* commit '55dab4dd3b5b56ade91c012d688b581b6cbdebdf':
  Delegate HdmiCecService method impl to HdmiCecDevice subclass
2014-04-11 09:43:37 +00:00
Jinsuk Kim
55dab4dd3b am b11f250e: Merge "Delegate HdmiCecService method impl to HdmiCecDevice subclass" into klp-modular-dev
* commit 'b11f250e09195d1ab250c93bfed0b31ed3a40f3d':
  Delegate HdmiCecService method impl to HdmiCecDevice subclass
2014-04-11 09:40:46 +00:00
Jinsuk Kim
b11f250e09 Merge "Delegate HdmiCecService method impl to HdmiCecDevice subclass" into klp-modular-dev 2014-04-11 09:38:23 +00:00
Jinsuk Kim
61791075f4 Delegate HdmiCecService method impl to HdmiCecDevice subclass
Most of the methods in the interface IHdmiCecService should be implemented
based on the device type. This CL makes a change such that the HdmiCecDevice
just has stub methods that should be overriden by subclasses.

Other changes:
  - Fixed a bug of <Inactive Source> not sending its physical address
    in its message body. Also the command should have been sent to TV
    only rather than broadcast.

  - Put back sendGiveDevicePowerStatus interface method. It allows the client
    to keep track of the other device(like TV) power status more closely.
    Devices goes through the status from standby -> transient to on -> on
    but the CEC spec doesn't require that they broacast it actively.

    The restored method can be used to let the playback device to get
    up-to-date power status of TV/display when it is booting up.

    This method should work the same across all the device types. So it was
    implemented in the service, not delegated to HdmiCecDevice.

  - Send <Report Physical Address> when a new logical device is registered,
    which is required by CEC spec: "it should report the association between
    its logical and physical address by broadcasting <Report Physical
    Address>

Change-Id: Iac1d2cf5783d947f2dcd6965a54670fbdb8e6a63
2014-04-11 18:35:01 +09:00
Jeff Brown
4e5c089ef3 resolved conflicts for merge of 337e764d to master
Change-Id: I8168dbf42b68c2f7b5ccb300e0080dddc627af26
2014-04-11 01:33:20 -07:00
Jeff Brown
337e764deb am f24687e2: Merge "Plumb display power state through display manager." into klp-modular-dev
* commit 'f24687e2731811fd0e3803b691fd47a659f89329':
  Plumb display power state through display manager.
2014-04-11 03:49:37 +00:00
Jeff Brown
037c33eae7 Plumb display power state through display manager.
Declare a new method, Display.getState() to retrieve the actual
power state of a display.

Improved documentation for Intent.ACTION_SCREEN_ON and
Intent.ACTION_SCREEN_OFF to clarify what they really mean in
terms of the interactive state of the device.

Deprecated PowerManager.isScreenOn() and replaced it with
PowerManager.isInteractive() with a more suggestive name and
better documentation.

Redirect display power state changes to go through the display
manager first and only then head over to the power manager for
legacy compatibility.

Eliminated the bright here and woke here policy flags since they
were unused.  Simplified the input dispatch policy somewhat.

Ensure that screen wake locks are respected up until the point
when dozing really begins.

Fixed a regression in DreamService where onDreamingStarted
might be called before onWindowAttached.

Bug: 13133142
Bug: 13472578
Bug: 13929355
Bug: 13760290
Change-Id: Iabef96921dd554ce3768fb18619cefc3230b5fb0
2014-04-10 20:46:14 -07:00
Aravind Akella
cd9a7bb3ba Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
This reverts commit 819239e5be.

Change-Id: I4bbb222e5c9dc65aed03aa28fd9e0f00fe335819
2014-04-11 00:05:24 +00:00
Jianing Wei
dcb495ff86 Merge "Camera2 API: enable burst capture and repeating burst." 2014-04-10 19:51:57 +00:00
Jianing Wei
d2c3a825cd Camera2 API: enable burst capture and repeating burst.
*  Enable sending out burst requests, canceling, and flushing.
*  Enable onCaptureStarted, onResultReceived for bursts.
*  Enable onCaptureSequenceCompleted by tracking frame number.

Change-Id: Ica2b031cac7ad90f9c4b74a78e6185e627195340
Bug-ID: 10749500
2014-04-10 19:50:04 +00:00
Zhijun He
e30adb762a Camera2: Add MANUAL capture intent
Change-Id: I6a3ba818cc7d13e0fcf0d90a16c53884b6cc20ab
2014-04-09 19:04:31 -07:00
Zhijun He
8d637b819b Camera2: Fix the JPEG format issues
Also add unit test.

Bug: 13836016

Change-Id: I0af4bfe299f99c99e70faf5d3159eb0cbcc147eb
2014-04-09 18:51:38 +00:00
Jeff Brown
7f9599d63c am ea72cdf2: Merge "Move display power controller to display manager service. (DO NOT MERGE)" into klp-modular-dev
* commit 'ea72cdf22f8efde4d3b872a60587e4b26bc93e43':
  Move display power controller to display manager service. (DO NOT MERGE)
2014-04-09 09:12:40 +00:00
Jeff Brown
1b03d16011 Merge "Move display power controller to display manager service." 2014-04-09 04:36:22 +00:00
Jeff Brown
131206b8a9 Move display power controller to display manager service.
This refactoring is in preparation for enabling the display manager
to have more control over the blanking state of individual displays.
There are no functional changes.  Some bits will be cleaned up in
a subsequent patch.

Bug: 13133142
Change-Id: I159a060088344d8e6fcdf9208a1f242960f7ab90
2014-04-08 21:34:32 -07:00
Jeff Brown
ad9ef191f5 Move display power controller to display manager service. (DO NOT MERGE)
This refactoring is in preparation for enabling the display manager
to have more control over the blanking state of individual displays.
There are no functional changes.  Some bits will be cleaned up in
a subsequent patch.

Bug: 13133142
Change-Id: Ib811835e8757449c7899ac61807029baaf998161
2014-04-08 20:41:46 -07:00
Zhijun He
d178496b7e Camera2: Make colorFilterArrangement public
It will be used by DNG

Also fix a typo in spec.

Change-Id: I8427df6b28149c0f8ced27b110efe96dd38357f4
2014-04-09 00:50:00 +00:00
Etienne Le Grand
acf395fd94 am 819239e5: Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"
* commit '819239e5bec90ee3c861ac45fffac4a832a183a1':
  Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"
2014-04-05 09:05:50 +00:00