History log of /frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
46350382ee1974fd635d43c7273dc44854edf7c7 03-Dec-2014 Yuncheol Heo <ycheo@google.com> CEC: Introduce the retry for commands on the new device discovery.

- ChromeCast needs some preparation time to work properly after it
reboots.

Bug: 18489614
Change-Id: I74ff05820c3bda84e2f042fb91bf510ab9444e55
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java
7fa3a66470d2133796defd14a0600578758882ac 07-Nov-2014 Jinsuk Kim <jinsukkim@google.com> CEC: Buffer messages coming from unknown device

Introduced a buffer for messages to be kept for later processing
when they arrive before the service is ready to handle them.
<Active Source>/<Initiate ARC> are handled in this CL to address
the reported bug.

Bug: 18277839

Change-Id: I1e73dd83dc9dd4a822fbcf4fda4c6221f09631cb
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java
bcfa0677d4b015457b73b1147c96e4ad2946b2be 11-Aug-2014 Jinsuk Kim <jinsukkim@google.com> CEC: Make sure CEC switch info is always updated

The CEC switch information was not updated as expected if
Device Discovery action is in progress. Refactored to have the
update routine gets called regardless of the presence of action.

Conflicts:
services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceTv.java

Bug: 16931883
Change-Id: I629e8b646bef54599c1a706bf1c797ecebf8616b
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.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/DeviceDiscoveryAction.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/DeviceDiscoveryAction.java
2b152015ff94f20b9ec3ef284fb83105f8b3c831 25-Jul-2014 Jinsuk Kim <jinsukkim@google.com> Add portID information in HdmiCecDeviceInfo

This change makes it convenient to get the HDMI port ID from the device
info without having to look it up through a separate HdmiPortInfo, which
happens in many places.

Also removed port information lookup loop by introducing two maps variable
in Control Service: port path ->port ID, and port ID -> port info.

Bug: 16547583
Change-Id: Ibfff722a16b626230766058efcc819e9c8ca0663
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.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/DeviceDiscoveryAction.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/DeviceDiscoveryAction.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/DeviceDiscoveryAction.java
ad2eefe97935db5282da18459b8da22b48207d83 30-Jun-2014 Jungshik Jang <jayjang@google.com> Call wrapUpAndFinish even if no devices are detected.

HotplugDetectionAction can be started only when wrapUpAndFinish
is called in DeviceDiscoveryAction. But current implementation
does nothing if no devices are detected.

Change-Id: I985382a9f9d668196a47dafe74743ffc6b1c95b3
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.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/DeviceDiscoveryAction.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/DeviceDiscoveryAction.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/DeviceDiscoveryAction.java
092b445ef898e3c1e5b2918b554480940f0f5a28 11-Jun-2014 Jungshik Jang <jayjang@google.com> Move message handling logic to local device instead of service.

Local device is in charge of handling incoming messages
and for some messages such as <set menum language> or
<report physical address> each device has slightly different
behavior. Instread of checking destination address and
local device status from service, this change leaves it
to each local device.
Note that some messages are still left on service
and will be refactored in the following changes.

Along with this, following changes are included.
1. add missing jin interfaces
set_option
set_audio_return_channel
is_connected
Note that get_port_info is under review of jinsuk's change
2. if tv device receives <Report Physical Address>,
starts NewDeviceAction.
3. add constants variables related to new interfaces.
4. add two helper methods for physical address and vendor
id handling

Change-Id: I9c9d04744bc09fbf38431ecfa6e77097b0618a37
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.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/DeviceDiscoveryAction.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/DeviceDiscoveryAction.java
8b308d93c8fdcc7304b33d9b445ae3807eae97c8 29-May-2014 Jungshik Jang <jayjang@google.com> Start Device Discovery after logical address allocation.

Usually TV initiates Device Discovery sequence after logical address
allocation of local devices. For that added new callback interface
to AddressAllocationCallback to HdmiCecDevice.
Along with this, add onAddressAllocated to HdmiLocalDevice so that
start sending local device information once logical allocation is done.

Change-Id: I4cdc5dd7770674a17a0f23c383a6c1ca221e3104
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java
cc5ef8c918e96516a5c51cc40735a1b8a24d8497 27-May-2014 Jungshik Jang <jayjang@google.com> Implement device discovery sequence.

When device discover is launched it goes through the following step

1. clear all existing devices
2. send <Polling Message> of all logical addresses
excecpt one of local device
3. Once got all allocated logical addresses, gather physical address of
them
4. Once got physical address of them, gather display name of them
5. Once got display names, gather vendor id of them
5. Once got vendor id of them, register all gathered info to
internal device info list.

Change-Id: Ic9aca3b15d88ac7650f10b6d0bfa9c97923975e8
/frameworks/base/services/core/java/com/android/server/hdmi/DeviceDiscoveryAction.java