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
Register the new service that will replace HdmiCecService.
The old one will be removed once the client of the old service
finishes migration to the new service.
Change-Id: I3906292fcf0a7c8286bc89af21a03bd11d3a0e72
HdmiCecService will soon be deprecated and replaced with HdmiControlService.
Stopped publishing the service, and turned the corresponding manager to
stub so that it will do nothing but print out a warning msg instead.
Will help the app transition to the new service in the meantime. Once
the migration is finished, will gut out all the HdmiCecService/
HdmiCecManager stuff.
Change-Id: Ic34a69c4fb99f4e5a2c8323538195204ab16a545
Broadcast message is not targeted to a specific device but for
announcement. Individual reponse with <Feature Abort> is neither
necessary nor useful. Changed to send the message back only for
direct messages.
Change-Id: I927aa8e58a9868e158ed945c753492207e7c97f6
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
- Correct conversion for byte to int for cec opcode
- Use the right Handler.obtainMessage() to pass an integer variable
Change-Id: Ie3e86225f1702decce454aeb197911a371f51c17
Notification for incoming cec message can be issued
from any thread but jni can call java method
in the thread that jni knows like service thread.
So this change delegates incoming message to
jni-friendly thread, service thread by exploit
looper of service thread.
Change-Id: If3b141d917df3e209912af1778eb509777199969
This change enables CEC playback API (oneTouchPlay, queryDisplayStatus).
Also updated local device list type to SparseArray to make it easy
to get one based on device type.
Change-Id: I6f88b2dac2d873c493a90411549a4e5719a5e460
When Device Discovery is launched or Hot-plug detection is
launched, the first step of it is to send <Polling Message>
to all remote devices. According to type of feature,
it may have different retry count for sending <Polling Message>.
As <Polling Message> to all devices should be serialized operation
it runs on io thread as single operation.
Along with this, added assertRunOnIoThread and
assertRunOnServiceThread used to make sure that all methods are
called in proper thread.
Change-Id: I2d2df0216867c188e99ba24b216ec73f3396eeae
- Move the send failure warning messages into HdmiCecController.sendCommand()
from each Actions.
- Stringfy with more detail messages for some opcodes.
Change-Id: Ib7ce24dd2a1f290e6c3a0b26738772ef1d4a9630
CEC initialization may vary from device type to type. Changed logical address
map to HdmiCecLocalDevice map to handle it. These per-type classes for local
device will be extended also to take care of incoming CEC commands that should
require different action based on device type.
Change-Id: Ia59a464607b14e942fcf83e63aa1d6310ca6a575