History log of /frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7543497f8a8a8ba15edd622061f5d30dfbf6655a 25-Sep-2014 Jinsuk Kim <jinsukkim@google.com> CEC: Send keys to active routing path

Previously keys were sent out only when active source was set. They should
be sent when only the active routing path is set in order to be able to
turn the device on using the remote.

Bug: 17647133
Change-Id: I6dc3eaf3a2115430d40c3dd73cb2ba226ba8164b
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
5352081c662299b618335bf3024058fa04ef2dfd 22-Sep-2014 Jungshik Jang <jayjang@google.com> Enable all actions to have chance to consume incoming message.

Some actions such as "DevicePowerStatusAction", "PowerStatusMonitorAction",
"Routing Contron Action" might wait for receiving <Report Power Status>
message, but the oldest aciton, which is normally PowerStatusMonitorAction,
can consume it.
This change enables all actions to have chance to touch incoming message.

Along with this, it fixes audio mute bug during volume control.

Bug: 17597377
Change-Id: Iafb71f6ea6309a4fba79833da2d634222058ac78
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
8e083ec0444e52cb203228bcf1c1cd34bcc4e70d 12-Aug-2014 Jinsuk Kim <jinsukkim@google.com> CEC: Remove timeout from deviceSelect processing

20-second timeout set for incoming <active source> command after
<set stream path> is moved out of HdmiControlService, to
HDMI input service.

Bug: 16967429
Change-Id: I5b50b0187e562b51e227a29e54824740ca37906e
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
b509c2ecd99619248b7a07fb0fa978bb27f25cc3 07-Aug-2014 Jungshik Jang <jayjang@google.com> Rename FeatureAction into HdmiCecFeatureAction

Change-Id: I92ca11e513f8cf520e84399fe688397f2d9f714a
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
61f4fbd2e8436a1ecd478c2a1f516d064a24d43b 06-Aug-2014 Jungshik Jang <jayjang@google.com> Rename HdmiCecDeviceInfo into HdmiDeviceInfo.

In order to include mhl device info to device info,
rename HdmiCecDeviceInfo into HdmiDeviceInfo.

BUG: 16215362

Change-Id: I30fb0216061fbbdd6fdc1b82c63af83f1b678597
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
72b7d738d5b9254594726304cdb1777b54d95631 24-Jul-2014 Jinsuk Kim <jinsukkim@google.com> Give clear distinction between active source/active routing path

Previously in HdmiControlSerivce, active routing path was mixed with
the physical address of the active source, but these two concepts needs
clearer distinction.

Defined a new variable for active source that contains both logical/physical
address to keep active routing path separate. This change makes it possible
to write the flow more closely to the guideline.

Also added to this CL is flag notifyInputChange, which allows the device/
routing change triggered by external event to trigger InputChangeListener
to get TIF notified. For routing control, the device info passed to TIF
has the path information in the field mPhysicalAddress (other fields are
invalid).

Bug: 16519939
Change-Id: I8b400bc48e874b0866500655773aea38ab945fe4
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
5fba96df30b6b50b3cb9fe1d783320b1cc3bd6ea 11-Jul-2014 Jinsuk Kim <jinsukkim@google.com> HdmiConfig class holding constants that may need customization

Put in one place some constants used in HdmiControlService that
may need customization. This makes it easy to do the job.

Bug: 16160911

Change-Id: I59786a48d336cfca722daa82c1f0dceb88c5e5e4
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
75a77e7d6cbfc287c6126efd28b338b48b7ea70c 09-Jul-2014 Yuncheol Heo <ycheo@google.com> Add HdmiCecMessageValidator to verify the incoming messages.

- Remove all param's length-check-logics in the package.

Bug: 16051295, Bug: 16117332, Bug: 15841545
Change-Id: If48ad9731f4f4613fd22aa3d9ada7ba3142bc999
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
b38cd68b240d99e8c8ae6ff1802a574696b420cd 07-Jul-2014 Jinsuk Kim <jinsukkim@google.com> Update HdmiControlService.deviceSelect()

The device selection action should have stopped if
TV's own power goes to standby in the middle. This CL
implements the right behavior.

Some TODO's about OSD banner were removed as they
can be handled in caller (TV app) when invoking the API
or upon receiving the callback based on the result. One
more callback result constant was added accordingly.

Bug: 15843137
Bug: 15844312
Bug: 15845651

Change-Id: Ib118fd6e80e9abdfb531e3f321d8db1c9cec45bd
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
c0c20d0522d7756d80f011e7a54bf3b51c78df41 04-Jul-2014 Jinsuk Kim <jinsukkim@google.com> Removed class HdmiCec

Most of the constants in HdmiCec are internal use only. Moved them
to service, and dispersed the rest to other relevant classes.

Also moved HdmiCecMessage class to service as it doesn't need to be
open ouside the service.

Change-Id: I7b2ce3bf465330aa4d7fcd05f9aefa1e6c8b056a
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
210d73df0b77b4c8be67ecc92afb238dc8c7ccfa 04-Jul-2014 Jungshik Jang <jayjang@google.com> Remove duplicated cec keycode definitions.

Remove keycode (ui command) defined and use HdmiCecKeycode one.

Change-Id: I9a7c4be3e5cfd561c7353b9cda715d431c00ff0c
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
8fa36b110be29d92a9aba070fa4666eefb14b584 25-Jun-2014 Jungshik Jang <jayjang@google.com> Implement volume control action in cec service.

Hdmi CEC's volume control is based on key event handling
but in android we can only get delta of volume change.
VolumeControlAction simulates key event action from
delta of volume change. However, it's highly dependent
on <Report Audio Status> message coming from AVR.
This implementation waits 900ms for <Report Audio Status>
message and if no message arrives it finishes action.
Instead, HdmiCecLocalDeviceTv consumes it after action
termination so that Tv can reflect system audio's
volume all the time.

Change-Id: I0442d31721365acdc009c8fa1c1e0a4361e4a1cc
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
8333571bd5e0a08773a1679964f8d96227af3356 24-Jun-2014 Jinsuk Kim <jinsukkim@google.com> Handle incoming active source-related commands for HdmiControlService

Handles incoming commands <Active Source>, <Inactive Source>, <Request
Active Source> that concern the active source update/report.

Defined mPrevPortId which is used to allow switching back to the input
set previously by <Active Source> or deviceSelect() when receiving
<Inactive Source>.

Also fixed a bug sending <Active Source> with wrong parameters.

Change-Id: I47fd804755c5c6beca38ddb21bb388a455d74f63
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
79c58a4b97f27ede6a1b680d2fece9c2a0edf7b7 16-Jun-2014 Jungshik Jang <jayjang@google.com> Rearrange ownership between Hdmi control modules.

Here is a list of changes on this. (R: rationale)
1. HdmiCecLocalDeviceTv takes over responsibilty of device info
management.
R: All devices infos are added or removed by only Tv's
device discovery and hot plug detection mecanism

2. Each HdmiCecLocalDevice manages FeatureAction and Cec
message cache.
R: There is no direct connection between actions that
are created in different device action. If there is
an same actions created from different local device,
they should be managed independently.

3. Active path and logical address is managed by
HdmiCecLocalDevice.
R: All device should know active path of current source.

4. All system audio & ARC features are handled by
HdmiCecLocalDeviceTv
R: In terms of ARC, theoretically, any device can be transmiter of
ARC but TV is the de facto device
On other hands, for system audio Tv is the recipeint
of request.

Change-Id: Iac9ff43fb41798ed4f94c61d23345fe5fe777fbb
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
60cffce420db4c3395f86d3b9bb36003adf26f5d 12-Jun-2014 Jungshik Jang <jayjang@google.com> Refine new device action.

There are many ways to initiate new device action
1. When receives <Report Physcial Address>
2. When receives <Active Source> from unregistered device.

If new device is audio system, it should start
ARC and system audio initiation action.

Along with this consolidate device remove actions.

Change-Id: I189afd8bec7270d6a1734a28632593b71932d9e8
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java
a6ce7708d6124224399241503fadcafe0c4684d4 10-May-2014 Jinsuk Kim <jinsukkim@google.com> DeviceSelectAction for HdmiControlService

DeviceSelectAction is the main handler for the API deviceSelect() which is
used to choose a new active source among logical devices on the bus.

Change-Id: I77582a1f873423fc316d89f67a89a867461a76b2
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceSelectAction.java