IHdmiControlService.aidl revision 5008486b09c588bf3409b70d9ee29225e8593c64
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 17package android.hardware.hdmi; 18 19import android.hardware.hdmi.HdmiDeviceInfo; 20import android.hardware.hdmi.HdmiPortInfo; 21import android.hardware.hdmi.IHdmiControlCallback; 22import android.hardware.hdmi.IHdmiDeviceEventListener; 23import android.hardware.hdmi.IHdmiHotplugEventListener; 24import android.hardware.hdmi.IHdmiInputChangeListener; 25import android.hardware.hdmi.IHdmiRecordListener; 26import android.hardware.hdmi.IHdmiSystemAudioModeChangeListener; 27import android.hardware.hdmi.IHdmiVendorCommandListener; 28 29import java.util.List; 30 31/** 32 * Binder interface that clients running in the application process 33 * will use to perform HDMI-CEC features by communicating with other devices 34 * on the bus. 35 * 36 * @hide 37 */ 38interface IHdmiControlService { 39 int[] getSupportedTypes(); 40 HdmiDeviceInfo getActiveSource(); 41 void oneTouchPlay(IHdmiControlCallback callback); 42 void queryDisplayStatus(IHdmiControlCallback callback); 43 void addHotplugEventListener(IHdmiHotplugEventListener listener); 44 void removeHotplugEventListener(IHdmiHotplugEventListener listener); 45 void addDeviceEventListener(IHdmiDeviceEventListener listener); 46 void deviceSelect(int logicalAddress, IHdmiControlCallback callback); 47 void portSelect(int portId, IHdmiControlCallback callback); 48 void sendKeyEvent(int deviceType, int keyCode, boolean isPressed); 49 List<HdmiPortInfo> getPortInfo(); 50 boolean canChangeSystemAudioMode(); 51 boolean getSystemAudioMode(); 52 void setSystemAudioMode(boolean enabled, IHdmiControlCallback callback); 53 void addSystemAudioModeChangeListener(IHdmiSystemAudioModeChangeListener listener); 54 void removeSystemAudioModeChangeListener(IHdmiSystemAudioModeChangeListener listener); 55 void setArcMode(boolean enabled); 56 void setProhibitMode(boolean enabled); 57 void setSystemAudioVolume(int oldIndex, int newIndex, int maxIndex); 58 void setSystemAudioMute(boolean mute); 59 void setInputChangeListener(IHdmiInputChangeListener listener); 60 List<HdmiDeviceInfo> getInputDevices(); 61 void sendVendorCommand(int deviceType, int targetAddress, in byte[] params, 62 boolean hasVendorId); 63 void addVendorCommandListener(IHdmiVendorCommandListener listener, int deviceType); 64 void setHdmiRecordListener(IHdmiRecordListener callback); 65 void startOneTouchRecord(int recorderAddress, in byte[] recordSource); 66 void stopOneTouchRecord(int recorderAddress); 67 void startTimerRecording(int recorderAddress, int sourceType, in byte[] recordSource); 68 void clearTimerRecording(int recorderAddress, int sourceType, in byte[] recordSource); 69} 70