339227da7cf025ce4ae0c85ddc52643d63972321 |
|
25-Aug-2014 |
Jungshik Jang <jayjang@google.com> |
Fix several bugs in HdmiControlService. 1. Fix HdmniLogger null pointer exception 2. Should check arc enabled port for arc requests 3. Disallow ARC action coming from indirect AVR device. 4. Check original opcode of feature action 5. Add bitmasking to all parameters of cec message. Bug: 17243701, Bug: 17238394, Bug: 17241401 Change-Id: Iff0da78b0de9a29fb00e683c261528e0baea66af
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
3e1564ee397ef833cba351153029317786f3d6bb |
|
12-Aug-2014 |
Terry Heo <terryheo@google.com> |
CEC: Handle Remote Control command Generate an Android key event when a UserControl message is received. And report menu state active when a MenuRequest message is received to notify sender can send a UserControl message. Bug: 16938007 Change-Id: Id8f393dc254508b9e7a6fa203f8e817fbe807e38
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
12e5dcefe136b58562f39604e6a8460ac92cb895 |
|
24-Jul-2014 |
Jungshik Jang <jayjang@google.com> |
Replace osd message for record status with IHdmiRecordCallback. Add new interface, IHdmiRecordCallback, in order to handle result of all recording features, One Touch Record and Timer Recording. HdmiRecordCallback is clientside interface which uses RecordSource as return of getOneTouchRecordSource, instead of raw byte array. Along with it, add TimerRecordingAction. Bug: 16160962 Change-Id: If0ed7abc5f45b020b39555cac585becbe8ee7da4
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
b6591b8e5399099dc6b7693e0fc719b613aba89c |
|
23-Jul-2014 |
Jungshik Jang <jayjang@google.com> |
Implement OneTouchRecordAction and stop one touch record. In addition to it, add api for clearTimerRecording as well. Separately, I will replace logic for notifying message with callback interface. Bug: 16160962 Change-Id: I2368f7c697eb44ed4542c0ec4412c63a6ae41a5c
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
4fc1d105fc279bf7df6c876e160672866bdad8e7 |
|
09-Jul-2014 |
Jungshik Jang <jayjang@google.com> |
Revamp disabling device in local device. When a cec deivce turns into disabled mode such as power off, standby, and cec feature disabled, cec service should execute cleanup tasks. Including cleaning up all feature actions, each device should run their own cleanup. It should stop system audio mode and arc for tv, while it should send inactive source for for playback device. Along with this, to prevent stale feature action, added timeout to local device so that if there is stale action, it enforce to finish it. Bug: 16118520 Change-Id: I5ce30ab0f4459b6e2834f8d31b6a7ff789b35d07
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
119160a68195bcb2f5bdf4a269807e01228eca97 |
|
07-Jul-2014 |
Jinsuk Kim <jinsukkim@google.com> |
Add vendor-specific command API for HdmiControl Vendor-specific commands are not handled by the service. This CL opens an API for vendors to implement customized handling of CEC commands specific to their needs. Change-Id: I8bfa3b891bd7994a903b3b41d7c2b27464167afa
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.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/HdmiCecMessageBuilder.java
|
38db629d897e9d7c8e31ce0a7e985981e3e12996 |
|
01-Jul-2014 |
Yuncheol Heo <ycheo@google.com> |
Handle the power state change. - Add BrocastIntent listener to catch SCREEN_ON/OFF intents. - Add callbacks onTransitionToStandBy(), onStandBy() in HdmiCecLocalDevice.java. - When it gets the SCREEN_OFF intent, the state will be TRANSITION_TO_STANDBY, then when there is no outstanding actions, the state will be STANDBY. - When the state is STANDBY, the TV device will broadcast <StandBy>. - When it gets the SCREEN_ON intent, the state will be TRANSITION_TO_ON, then when the initialization is done, the state will be ON. - When the state is ON and it receives <StandBy> CEC message, it will force the system to go to sleep. - When the state is STANDBY and it receives the cec messages to wake-up the system, it will force the system to wake up from sleep. - Manage the active source state for the playback device. Change-Id: Ib473219a0b0deb5224df89386db5a83720000411
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
187d01765b935d07936f74343b4f4af590c239a1 |
|
17-Jun-2014 |
Jungshik Jang <jayjang@google.com> |
Add SystemAudioAutoInitiationAction and SystemAudioStatusAction Once all device discovery action is done if there is audio amplifier on device list, it should trigger system audio initiation action. On or off of system audio is decided by Tv's last audio setting (speaker). If system audio was the last audio setting, it will try to turn on system audio; otherwise will turn it off. In other hands, SystemAudioStatusAction is added to update system audio status (mute or volume) after SystemAudioAutoInitiationAction. In fact, RequestArcAction has almost same code as it has and will refactore RequesArcAction in the following changes. Change-Id: I3d591242e79549cb73e14546f0d057ba08f878ef
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.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/HdmiCecMessageBuilder.java
|
cd97baf4d08f9a23797eb6a8eb0d57bba1086bec |
|
02-May-2014 |
Jinsuk Kim <jinsukkim@google.com> |
Define SendKeyAction for HdmiControlService SendKeyAction is one of FeatureAction classes that handles HDMI-CEC UCP/UCP (User Control Pressed/Release) command transmission flow mechanism. Change-Id: Iede8479103330c1f9db516218c6a94d09ef6b7f4
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
63a2e0696ce2a04fbe0f1f00cfe9c93189f944da |
|
27-May-2014 |
Yuncheol Heo <ycheo@google.com> |
Add SystemAudioAction(FromAvr|FromTv). The system audio can be initiated by Tv itself or by AVR through <Set System Audio Mode> CEC message. This CL also includes: - Add HdmiConstants, HdmiUtil class to handle various constants and utility functions. - Add default message dispatcher to all queued actions. - Add an argument on HdmiControlService.removeAction(class) to prevent from removing the caller itself. Change-Id: I9fd9089bed876f04b58c483879b64edfae94a298
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.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/HdmiCecMessageBuilder.java
|
4085d0ef62554c7e139b82bca0f97161bb159f8c |
|
27-May-2014 |
Jungshik Jang <jayjang@google.com> |
Add cec message handler to hdmi cec jni implementation 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
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
78d695d8ba532214b02e7f18e0ccf89cf099163d |
|
13-May-2014 |
Jinsuk Kim <jinsukkim@google.com> |
Add feature actions for HDMI-CEC playback device - OneTouchPlayAction - DevicePowerStatusAction - addHotplugEventListener - removeHotplugEventListener Change-Id: Ia7f31507ca62127efbacbbfe07ab43ba1f9bd4cf
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
67ea521d14f366fe5aac09e512865d31bfa0ee53 |
|
15-May-2014 |
Jungshik Jang <jayjang@google.com> |
Add several actions for ARC (Audio Return Channel) ARC channel is established by both TV and AV Reciever. From TV, it sends <Request ARC Initiation> and AVR responds with <Initiate ARC>. From AVR, it can be initiated by sending <Initiate ARC> directly to TV. Once TV receives <Initiate ARC> it sets up ARC internally and replies <Report ARC Initiated> to AVR. Termination steps are almost same except for message name (use Terminate instread of Initiation). In order to implement the above steps, this change introduces following classes. RequestArcInitiation(Termination)Action: handles <Request ARC Initiation> (<Request ARC Termination>) RequestArcAction handles common logic of them. SetArcTransmissionStateAction: handles ARC set up, enabling/disabling ARC and reports results to AVR. <Initiate ARC> and <Terminate ARC> handles directly in HdmiControlService Along with this, this change has implmentation for add&removeAction. To avoid synchronization issue they are isolated to main thread. Change-Id: I3c5cf7c777e6c1de50d63ce4643b191dfe15fe1f
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
be9cd8eb3fe64a572f9c7dfc41f04defd46a752d |
|
15-May-2014 |
Jungshik Jang <jayjang@google.com> |
Add ARC commands ARC, Audio Return Channel is newly introduced in HDMI CEC 1.4. Here is a list of new command <Initiate ARC> <Report ARC Initiated> <Report ARC Terminated> <Request ARC Initiation> <Request ARC Termination> <Terminate ARC> Along with it replaced <Get OSD Name> with <Give OSD Name> which is renamed in CEC 1.4. Change-Id: If4a7aedef839c8413a8e3b5f66f3df0c7234104b
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|
a1fa91fe263c483cf13066e2847a440de2cd52a5 |
|
08-May-2014 |
Jungshik Jang <jayjang@google.com> |
Implement handlers for system information query command. System information query commands are stateless command and it should be replied immediately when it receives query command. Here is a list of command handler (and it's reply) implemented in this change. 1. <Get Menu Language> -> <Set Menu Language> 2. <Give(Get) OSD Name> -> <Set OSD Name> 3. <Give Physical Address> -> <Report Physical Address> 4. <Give Device Vendor ID> -> <Device Vendor Id> 5. <Give CEC Version> -> <CEC Version> In order to centralize all cec message building, added new builder class, HdmiCecMessageBuilder for HdmiCecMessage. Accordingly, all helper methods for building of HdmiCecMessage are moved to HdmiCecMessageBuilder class. Change-Id: Ib7c5d2b0cb3d69d51159af8bc277ffb49a60909b
/frameworks/base/services/core/java/com/android/server/hdmi/HdmiCecMessageBuilder.java
|