History log of /frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
c1fa9afbcd1cafd205d46b2fd0bdaadccb7d29ea 27-Dec-2016 Donghyun Cho <donghyun@google.com> CEC: Revisit the behavior of HDMI_SYSTEM_AUDIO_ENABLED

Currently the system setting, HDMI_SYSTEM_AUDIO_ENABLED, is used to
store the latest system audio mode status so that TV can keep this
status over reboot. But because the name is a little confusing and the
behavior isn't intuitive, it is likely to use this in a wrong way.
This change renames this setting to HDMI_SYSTEM_AUDIO_CONTROL_ENABLED
and tweak the purpose of it. Now, it will act more like a switch for
System Audio Control feature, so user can disable or enable this feature
entirely. With this way, implementation of audio output option will
also become easier.

Bug: 31449672
Test: Tested on archer
Change-Id: Ice8717135272d4b86665a3452bfe7527c0d6c08b
(cherry picked from commit 7b7aa8fb31ccf0cd3f36162a52f080263dd89e77)
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
bc6e372b25d7d62efecefba09304c5a66218c91a 03-Nov-2016 Donghyun Cho <donghyun@google.com> tv.cec: Update framework code to call Treble HAL

Bug: 32073236
Test: Checked CEC features works on fugu after applying Treble HAL
Change-Id: I26df037594e2505bd8f2d2bb6222cba5ddca2906
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
7b0cf6413218e5b5c549eea31733222fcffafabc 14-Apr-2015 Jinsuk Kim <jinsukkim@google.com> CEC: Remove system audio on hotplug

System audio was not being immediately removed by polling mechanism
mechanism but was being checked three times in order to avoid accidental
polling failure. This came with a side effect of the system audio
not removed instantly even when the device is physically removed.

This CL relies on hotplug event to tell whether the device removal
should be done right away or has to wait for 3 polling intervals.

Bug: 20133405
Change-Id: I9dbd7a8b9e424d523d0c22e4cac19b341461b71e
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
5bcf5bf6b4203629e153dcb0646596e9b3f7c7c2 02-Apr-2015 Jinsuk Kim <jinsukkim@google.com> CEC: Support arc feature flag for multiple ports

mArcFeatureEnabled is extended to a flag array to correctly
indicate the state of each port that supports ARC.

Bug: 19957954
Change-Id: I63e4dc2ebd4d71c5ebf59118a3076b52b489c2f2
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
757c097753a166a6f3ecbbcbf42075ce3ba1a7ed 23-Feb-2015 Jinsuk Kim <jinsukkim@google.com> CEC: Switch ARC hardware circuit before device update

Audio Return Channel hardware circuit was being switched after
the device update initiated by hotplug event. The device instance
was already removed by the time ARC update was attempted, hence
caused an exception.

This CL ensure the config change is done in advance, when
the AVR device instance is still present.

Bug: 19250400
Change-Id: I31cf682f5c8d1a279a0703d10fe182f3da23d3db
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
07600116b59e2accd1e95b9029c2c9819cd76c5a 28-Jan-2015 Jinsuk Kim <jinsukkim@google.com> CEC: Ensure stable AVR connection

Make sure AVR device removal due to hotplug detection failure occur
in a less strict manner - doing it only if the failure is detected
3 times in a row.

Bug: 19171321
Change-Id: I1479663b05cdc957cc52123799c756f6b74f6708
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
8960d1b1552729e3dfd33deee951ac75933ad8e5 13-Aug-2014 Jinsuk Kim <jinsukkim@google.com> CEC: Replace the usage of logical address with id for HdmiDeviceInfo

Introduced 'id' of HdmiDeviceInfo to replace the direct use of logical address
as id. This accomodates the identification of MHL device with ease. Also updated
TIF to use id instead of logical address.

Bug: 16986744
Change-Id: Ifa827fb5e5fcf1d2f612f0845accbfe5c03734aa
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.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/HotplugDetectionAction.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/HotplugDetectionAction.java
377dcbd53af4529c352d453424539b069909fce4 15-Jul-2014 Jungshik Jang <jayjang@google.com> Hook up system audio mode

Whenever system audio mode is changed, it should notify to AudioManager
so that AudioManager changes internal output or mute status accordingly.
To have more clear cut between last setting and current system audio mode,
renamed mSystemAudioMode into mSystemAudioActivated and added
getLastSystemAudioMode() which returns last system audio mode value stored
in global settings (NVM).

Bug: 16002150
Change-Id: I5d01d879c1c5a9a3f4b0cf2d25e9e74c26c52fa0
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
c516d65fd96cdc39f9935ddb80d26ee6499a77bf 11-Jul-2014 Yuncheol Heo <ycheo@google.com> Handle TODO in SystemAudioActionFromTv.

- Added onFinishedCallback to handle the deferred starting of FeatureAction.

Bug: 15843078, Bug: 15841546
Change-Id: I6cb5fba91d6115e8bb02c38601a72ed315c22e2f
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
7ecfbaed6e902aea151bc1919cf7771bbd868fc4 11-Jul-2014 Jinsuk Kim <jinsukkim@google.com> Read/Write flags from/to system settings

Use Settings for storing several flags/values to keep the data persistent
across power cycle, and also to make them configurable via system Settings UI.

Bug: 16185931

Change-Id: I98650863e4237fd91c1b35717f14a570e049427c
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.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/HotplugDetectionAction.java
3dcdd71e203f7751155ec83468e0f8092e8ea80b 07-Jul-2014 Jungshik Jang <jayjang@google.com> Add empty OneTouchRecordAction.

It's to remove a TODO in HotplugDetectionAction.

Bug: 15844113
Change-Id: I74d5ed6ba220fb079b64b766a1354df1ea8e00ab
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.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/HotplugDetectionAction.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/HotplugDetectionAction.java
26dc71e7feefb2417fd5f007af68614c1c197cf8 04-Jul-2014 Jungshik Jang <jayjang@google.com> Remove two TODOs from HotpulgDetectionAction.

Bug: 15844023
Bug: 15841646

Change-Id: I4022c48a9fdb1963f755895ec5ff0370157050c7
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
a13da0d5913757e2456020c69481f98d0e44c090 30-Jun-2014 Jungshik Jang <jayjang@google.com> Add api, setArcMode, used to turn on/off ARC.

Usual TV can switch on and off of ARC feature in its settings page.
Along with it, removed locking block from the code,
because arc flags are accessed by actions and internal services.

Change-Id: I737ac0c2671b537551eaac202d2065cc99c6d0a0
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
3ecdd832c77483c909fbf90d17d0e6d97ca365ee 17-Jun-2014 Jungshik Jang <jayjang@google.com> Fix missing iteration policy on device discover action

Device polling requires both pick policy and pick iteration policy,
however, device discovery action has no iteration policy.
Along with fix, move send result and pick policy constants
to HdmiConstants package

Change-Id: Ibbcfdc482a189bbc3aa2c61143422541da78447d
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.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/HotplugDetectionAction.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/HotplugDetectionAction.java
a466929979a92a578d4ba00093fefa57cfb982b4 10-Jun-2014 Jungshik Jang <jayjang@google.com> Use cached message in NewDeviceAction.

Vendor id and osd name can be cached in be reused
later.
Along with this, fix a bug on HotplugDetectionAction.

Change-Id: I0583a9c266eed4281a99a59b1301f41b3e155505
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
e81e108c4035ea8933525baa8108cb392f8abf5d 05-Jun-2014 Jungshik Jang <jayjang@google.com> Implement cec message cache.

HDMI bus for CEC is quite slow and it may cause conflict
or timeout during device discovery stage or hot-plug
detection stage. However, some static information, such
as physical address, vendor id or osd name are usually
sent automatically when a device is connected, and
almost never change after updated.

Change-Id: I4df9d27ef1af04ee35d63a764580fed07c32d15d
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java
0f8b4b770c49b83fa8260833d8e1ec5c721a05d3 28-May-2014 Jungshik Jang <jayjang@google.com> Implement hotplug detection sequence.

Hotplug detection is periodic operation to detect new/removed device.
In case of directly connected device fires hotplug devices
but remote devices which are plugged in hdmi switch may not
report their existence.
Hotplug action polls all devices in regular base; 5s for
system audio (only when it's active) 15s for others.

Change-Id: I77c308ecfd5d6bf92f306923fa5ac9eabdad4127
/frameworks/base/services/core/java/com/android/server/hdmi/HotplugDetectionAction.java