Switches to using managed value classes for the following keys:
- android.sensor.info.sensitivityRange
- android.sensor.info.exposureTimeRange
- android.jpeg.gpsCoordinates
- android.jpeg.gpsTimestamp
- android.jpeg.gpsProcessingMethod
- android.statistics.lensShadingMap
- android.lens.info.shadingMapSize
Also fixes a minor bug in LensShadingMap
Bug: 14628001
Change-Id: Ia0f541242f529ab9ba3111db799306b198f2b40b
Before:
* CameraMetadata.Key<T>
After:
* CameraCharacteristics.Key<T>
* CaptureResult.Key<T>
* CaptureRequest.Key<T>
CameraMetadata#get has been removed (each metadata subclass has
its own #get now) due to java generic limitations (in particular
a type bound <T1<T2> extends Key<T2>> is an illegal bound).
CameraMetadataNative gets a new #dumpToLog function to dump the native
metadata to logcat.
Bug: 15091017
Change-Id: Ic56c54c0d184e209e20de374dc8a6d79527c209f
The existing spec is unclear about shading map calculation for both application
developer and hal implementers, need more clarification.
Also fix a typo in tonemap.mode.
Bug: 15168075
Change-Id: I7f38ccf6aa6938fdac9f64e95deddc0188025d08
- Add CameraCaptureSession for all operations that require a
valid camera configuration
- Deprecate methods in CameraDevice that are moving to CameraCaptureSession
- Document new semantics
Bug: 14964443
Change-Id: I53b2b71ed2b746cfcf76a01483f499765eb5047b
This adds basic support for running the Camera2 API on a device running
a camera HAL version lower than CAMERA_MODULE_API_VERSION_2_0.
This CL includes support for:
- N-way preview output streams
- N-way jpeg output streams
- CameraDevice emulation at the binder interface
- Basic camera metadata querying in the CameraManager
Bug: 15117269
Bug: 15116722
Change-Id: I8322955034c91f34bb348d4b28c2b774dbef38f6
This is a rewrite of HdmiCecManager that exposes API for CEC Playback
device control. HdmiCecManager will be removed together with
HdmiCecService once the migration is completed.
Replaced direct access to CEC commands with the following 2 API:
- oneTouchPlay
- queryDisplayStatus
Each method requires communication with other device on CEC bus,
hence might take some time to finish. The result at the end of
protocol exchange is reported through a callback provided as a
parameter to the method.
The callback is based on interface not abstract class since
it has only one method 'onComplete'.
Change-Id: I41e9d4571f890303282a79a803c86530d0b46974
ARC, Audio Return Channel is newly introduced in HDMI CEC 1.4.
Here is a list of new command
<Initiate ARC>
<Report ARC Initiated>
<Report ARC Terminated>
<Request ARC Initiation>
<Request ARC Termination>
<Terminate ARC>
Along with it replaced <Get OSD Name> with <Give OSD Name>
which is renamed in CEC 1.4.
Change-Id: If4a7aedef839c8413a8e3b5f66f3df0c7234104b
* Also @hide/@deprecate a bunch of other keys
* Move some classes into android.hardware.camera2.params
Bug: 14628001
Change-Id: I2db490a0849680a133a901403477a147b004fb28
* Improve existing marshalers:
- each managed/native type combination can be queried marshal support
- marshalers can recursively call other marshalers for nested types
- support marshaling/unmarshaling generic classes by using super type tokens
* Add new marshalers for:
- ColorSpaceTransform
- MeteringRectangle
- Parcelable
- Range<T>
- ReprocessFormatsMap
- RggbChannelVector
- SizeF
- StreamConfiguration
- StreamConfigurationDuration
Batteries included; so are unit tests.
Bug: 14628001
Change-Id: I38d3e646ccfb3953898cd6f750c33e4097328482
When the device is in low power mode all changes to brightness will be
scaled to half of the brightness that would be normally set when not in
low power mode.
Change-Id: I03be820ef64c1d5631ded35f7dfc2799e807226b
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
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
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
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