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
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
* 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
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
* commit '8ebd66c259602f6b0be26fdfd3fe2f55538f6424':
Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
* commit 'cd4c1c714c37a1bc7ba35ebd2509eca4f0f6a314':
Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor
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
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
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
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
* commit '819239e5bec90ee3c861ac45fffac4a832a183a1':
Revert "Add stringType and requiredPermissions to SensorManager.java, as well as a permission for the heart rate sensor"