Jinsuk Kim | 91120c5 | 2014-05-08 17:12:51 +0900 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) 2014 The Android Open Source Project |
| 3 | * |
| 4 | * Licensed under the Apache License, Version 2.0 (the "License"); |
| 5 | * you may not use this file except in compliance with the License. |
| 6 | * You may obtain a copy of the License at |
| 7 | * |
| 8 | * http://www.apache.org/licenses/LICENSE-2.0 |
| 9 | * |
| 10 | * Unless required by applicable law or agreed to in writing, software |
| 11 | * distributed under the License is distributed on an "AS IS" BASIS, |
| 12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 13 | * See the License for the specific language governing permissions and |
| 14 | * limitations under the License. |
| 15 | */ |
| 16 | |
| 17 | package android.hardware.hdmi; |
| 18 | |
Jinsuk Kim | 6d97f5b | 2014-06-16 11:41:42 +0900 | [diff] [blame] | 19 | import android.hardware.hdmi.HdmiCecDeviceInfo; |
| 20 | import android.hardware.hdmi.HdmiPortInfo; |
Jinsuk Kim | 91120c5 | 2014-05-08 17:12:51 +0900 | [diff] [blame] | 21 | import android.hardware.hdmi.IHdmiControlCallback; |
Jinsuk Kim | 6d97f5b | 2014-06-16 11:41:42 +0900 | [diff] [blame] | 22 | import android.hardware.hdmi.IHdmiDeviceEventListener; |
Jinsuk Kim | 78d695d | 2014-05-13 16:36:15 +0900 | [diff] [blame] | 23 | import android.hardware.hdmi.IHdmiHotplugEventListener; |
Jinsuk Kim | 9c37e1f | 2014-07-02 08:29:26 +0900 | [diff] [blame] | 24 | import android.hardware.hdmi.IHdmiInputChangeListener; |
Jungshik Jang | ea67c18 | 2014-06-19 22:19:20 +0900 | [diff] [blame] | 25 | import android.hardware.hdmi.IHdmiSystemAudioModeChangeListener; |
Jinsuk Kim | 119160a | 2014-07-07 18:48:10 +0900 | [diff] [blame] | 26 | import android.hardware.hdmi.IHdmiVendorCommandListener; |
Jinsuk Kim | 91120c5 | 2014-05-08 17:12:51 +0900 | [diff] [blame] | 27 | |
Jinsuk Kim | 6d97f5b | 2014-06-16 11:41:42 +0900 | [diff] [blame] | 28 | import java.util.List; |
| 29 | |
Jinsuk Kim | 91120c5 | 2014-05-08 17:12:51 +0900 | [diff] [blame] | 30 | /** |
| 31 | * Binder interface that clients running in the application process |
| 32 | * will use to perform HDMI-CEC features by communicating with other devices |
| 33 | * on the bus. |
| 34 | * |
| 35 | * @hide |
| 36 | */ |
| 37 | interface IHdmiControlService { |
Jinsuk Kim | 78d695d | 2014-05-13 16:36:15 +0900 | [diff] [blame] | 38 | int[] getSupportedTypes(); |
| 39 | void oneTouchPlay(IHdmiControlCallback callback); |
| 40 | void queryDisplayStatus(IHdmiControlCallback callback); |
| 41 | void addHotplugEventListener(IHdmiHotplugEventListener listener); |
| 42 | void removeHotplugEventListener(IHdmiHotplugEventListener listener); |
Jinsuk Kim | 6d97f5b | 2014-06-16 11:41:42 +0900 | [diff] [blame] | 43 | void addDeviceEventListener(IHdmiDeviceEventListener listener); |
Jinsuk Kim | a6ce770 | 2014-05-11 06:54:49 +0900 | [diff] [blame] | 44 | void deviceSelect(int logicalAddress, IHdmiControlCallback callback); |
Jinsuk Kim | 6d97f5b | 2014-06-16 11:41:42 +0900 | [diff] [blame] | 45 | void portSelect(int portId, IHdmiControlCallback callback); |
Jinsuk Kim | c068bb5 | 2014-07-07 16:59:20 +0900 | [diff] [blame^] | 46 | void sendKeyEvent(int deviceType, int keyCode, boolean isPressed); |
Jinsuk Kim | 6d97f5b | 2014-06-16 11:41:42 +0900 | [diff] [blame] | 47 | List<HdmiPortInfo> getPortInfo(); |
Jungshik Jang | ea67c18 | 2014-06-19 22:19:20 +0900 | [diff] [blame] | 48 | boolean canChangeSystemAudioMode(); |
| 49 | boolean getSystemAudioMode(); |
| 50 | void setSystemAudioMode(boolean enabled, IHdmiControlCallback callback); |
| 51 | void addSystemAudioModeChangeListener(IHdmiSystemAudioModeChangeListener listener); |
| 52 | void removeSystemAudioModeChangeListener(IHdmiSystemAudioModeChangeListener listener); |
Jinsuk Kim | 92b77cf | 2014-06-27 16:39:26 +0900 | [diff] [blame] | 53 | void setControlEnabled(boolean enabled); |
Jungshik Jang | a13da0d | 2014-06-30 16:26:06 +0900 | [diff] [blame] | 54 | void setArcMode(boolean enabled); |
Jinsuk Kim | 160a6e5 | 2014-07-02 06:16:36 +0900 | [diff] [blame] | 55 | void setOption(int option, int value); |
Jinsuk Kim | 4d43d93 | 2014-07-03 16:43:58 +0900 | [diff] [blame] | 56 | void setProhibitMode(boolean enabled); |
Jungshik Jang | 41d9746 | 2014-06-30 22:26:29 +0900 | [diff] [blame] | 57 | oneway void setSystemAudioVolume(int oldIndex, int newIndex, int maxIndex); |
| 58 | oneway void setSystemAudioMute(boolean mute); |
Jinsuk Kim | 9c37e1f | 2014-07-02 08:29:26 +0900 | [diff] [blame] | 59 | void setInputChangeListener(IHdmiInputChangeListener listener); |
| 60 | List<HdmiCecDeviceInfo> getInputDevices(); |
Jinsuk Kim | 119160a | 2014-07-07 18:48:10 +0900 | [diff] [blame] | 61 | void sendVendorCommand(int deviceType, int targetAddress, in byte[] params, |
| 62 | boolean hasVendorId); |
| 63 | void addVendorCommandListener(IHdmiVendorCommandListener listener, int deviceType); |
Jinsuk Kim | 91120c5 | 2014-05-08 17:12:51 +0900 | [diff] [blame] | 64 | } |