Merge "[CEC Configuration] Add @SystemApi for CEC Configuration"
This commit is contained in:
committed by
Android (Google) Code Review
commit
a7cf2f79e8
@@ -2739,19 +2739,37 @@ package android.hardware.hdmi {
|
||||
public final class HdmiControlManager {
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
|
||||
method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
|
||||
method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
|
||||
method public int getPhysicalAddress();
|
||||
method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
|
||||
method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
|
||||
method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
|
||||
method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
|
||||
method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
|
||||
method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
|
||||
method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
|
||||
method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
|
||||
field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
|
||||
field public static final int AVR_VOLUME_MUTED = 101; // 0x65
|
||||
field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
|
||||
field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
|
||||
field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "send_standby_on_sleep";
|
||||
field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
|
||||
field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
|
||||
field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
|
||||
field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
|
||||
field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
|
||||
@@ -2768,6 +2786,10 @@ package android.hardware.hdmi {
|
||||
field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
|
||||
field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
|
||||
field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
|
||||
field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
|
||||
field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
|
||||
field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
|
||||
field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
|
||||
field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
|
||||
field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
|
||||
field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
|
||||
@@ -2798,6 +2820,11 @@ package android.hardware.hdmi {
|
||||
field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
|
||||
field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
|
||||
field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
|
||||
field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
|
||||
field public static final String POWER_CONTROL_MODE_NONE = "none";
|
||||
field public static final String POWER_CONTROL_MODE_TV = "to_tv";
|
||||
field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
|
||||
field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
|
||||
field public static final int POWER_STATUS_ON = 0; // 0x0
|
||||
field public static final int POWER_STATUS_STANDBY = 1; // 0x1
|
||||
field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
|
||||
@@ -2811,6 +2838,8 @@ package android.hardware.hdmi {
|
||||
field public static final int RESULT_SUCCESS = 0; // 0x0
|
||||
field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
|
||||
field public static final int RESULT_TIMEOUT = 1; // 0x1
|
||||
field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
|
||||
field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
|
||||
field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
|
||||
field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
|
||||
field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
|
||||
|
||||
@@ -327,17 +327,19 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int HDMI_CEC_CONTROL_ENABLED = 1;
|
||||
/**
|
||||
* HDMI CEC disabled.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int HDMI_CEC_CONTROL_DISABLED = 0;
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@IntDef({
|
||||
@IntDef(prefix = { "HDMI_CEC_CONTROL_" }, value = {
|
||||
HDMI_CEC_CONTROL_ENABLED,
|
||||
HDMI_CEC_CONTROL_DISABLED
|
||||
})
|
||||
@@ -350,17 +352,19 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int HDMI_CEC_VERSION_1_4_B = 0x05;
|
||||
/**
|
||||
* Version constant for HDMI-CEC v2.0.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int HDMI_CEC_VERSION_2_0 = 0x06;
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@IntDef({
|
||||
@IntDef(prefix = { "HDMI_CEC_VERSION_" }, value = {
|
||||
HDMI_CEC_VERSION_1_4_B,
|
||||
HDMI_CEC_VERSION_2_0
|
||||
})
|
||||
@@ -373,23 +377,26 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String POWER_CONTROL_MODE_TV = "to_tv";
|
||||
/**
|
||||
* Broadcast CEC power control messages to all devices in the network.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
|
||||
/**
|
||||
* Don't send any CEC power control messages.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String POWER_CONTROL_MODE_NONE = "none";
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@StringDef({
|
||||
@StringDef(prefix = { "POWER_CONTROL_MODE_" }, value = {
|
||||
POWER_CONTROL_MODE_TV,
|
||||
POWER_CONTROL_MODE_BROADCAST,
|
||||
POWER_CONTROL_MODE_NONE
|
||||
@@ -403,17 +410,19 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
|
||||
/**
|
||||
* Go to standby immediately.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@StringDef({
|
||||
@StringDef(prefix = { "POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_" }, value = {
|
||||
POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE,
|
||||
POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW
|
||||
})
|
||||
@@ -426,17 +435,19 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1;
|
||||
/**
|
||||
* System Audio Mode muting disabled.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0;
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@IntDef({
|
||||
@IntDef(prefix = { "SYSTEM_AUDIO_MODE_MUTING_" }, value = {
|
||||
SYSTEM_AUDIO_MODE_MUTING_ENABLED,
|
||||
SYSTEM_AUDIO_MODE_MUTING_DISABLED
|
||||
})
|
||||
@@ -449,24 +460,28 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
|
||||
/**
|
||||
* Name of a setting controlling the version of HDMI-CEC used.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
|
||||
/**
|
||||
* Name of a setting deciding on the power control mode.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "send_standby_on_sleep";
|
||||
/**
|
||||
* Name of a setting deciding on power state action when losing Active Source.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST =
|
||||
"power_state_change_on_active_source_lost";
|
||||
/**
|
||||
@@ -474,12 +489,13 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING =
|
||||
"system_audio_mode_muting";
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
@StringDef({
|
||||
@StringDef(prefix = { "CEC_SETTING_NAME_" }, value = {
|
||||
CEC_SETTING_NAME_HDMI_CEC_ENABLED,
|
||||
CEC_SETTING_NAME_HDMI_CEC_VERSION,
|
||||
CEC_SETTING_NAME_POWER_CONTROL_MODE,
|
||||
@@ -1363,6 +1379,7 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
@CecSettingName
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
@@ -1389,6 +1406,7 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
public List<String> getAllowedCecSettingStringValues(@NonNull @CecSettingName String name) {
|
||||
@@ -1414,6 +1432,7 @@ public final class HdmiControlManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
public List<Integer> getAllowedCecSettingIntValues(@NonNull @CecSettingName String name) {
|
||||
@@ -1430,14 +1449,13 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the 'hdmi_cec_enabled' option.
|
||||
* Set the global status of HDMI CEC.
|
||||
*
|
||||
* @param value the desired value
|
||||
* @throws IllegalArgumentException when the new value is not allowed.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>This allows to enable/disable HDMI CEC on the device.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
public void setHdmiCecEnabled(@NonNull @HdmiCecControl int value) {
|
||||
if (mService == null) {
|
||||
@@ -1452,13 +1470,13 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of 'hdmi_cec_enabled' option.
|
||||
* Get the current global status of HDMI CEC.
|
||||
*
|
||||
* @return the current value.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Reflects whether HDMI CEC is currently enabled on the device.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
@HdmiCecControl
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
@@ -1475,14 +1493,13 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the 'hdmi_cec_version' option.
|
||||
* Set the version of the HDMI CEC specification currently used.
|
||||
*
|
||||
* @param value the desired value
|
||||
* @throws IllegalArgumentException when the new value is not allowed.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Allows to select either CEC 1.4b or 2.0 to be used by the device.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
public void setHdmiCecVersion(@NonNull @HdmiCecVersion int value) {
|
||||
if (mService == null) {
|
||||
@@ -1497,13 +1514,13 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of 'hdmi_cec_enabled' option.
|
||||
* Get the version of the HDMI CEC specification currently used.
|
||||
*
|
||||
* @return the current value.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Reflects which CEC version 1.4b or 2.0 is currently used by the device.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
@HdmiCecVersion
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
@@ -1520,14 +1537,14 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the 'power_control_mode' option.
|
||||
* Set the status of Power Control.
|
||||
*
|
||||
* @param value the desired value
|
||||
* @throws IllegalArgumentException when the new value is not allowed.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Specifies to which devices Power Control messages should be sent:
|
||||
* only to the TV, broadcast to all devices, no power control messages.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
public void setPowerControlMode(@NonNull @PowerControlMode String value) {
|
||||
if (mService == null) {
|
||||
@@ -1542,13 +1559,14 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of 'power_control_mode' option.
|
||||
* Get the status of Power Control.
|
||||
*
|
||||
* @return the current value.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Reflects to which devices Power Control messages should be sent:
|
||||
* only to the TV, broadcast to all devices, no power control messages.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
@PowerControlMode
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
@@ -1565,14 +1583,13 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the 'power_state_change_on_active_source_lost' option.
|
||||
* Set the current power state behaviour when Active Source is lost.
|
||||
*
|
||||
* @param value the desired value
|
||||
* @throws IllegalArgumentException when the new value is not allowed
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Sets the action taken: do nothing or go to sleep immediately.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
public void setPowerStateChangeOnActiveSourceLost(
|
||||
@NonNull @ActiveSourceLostBehavior String value) {
|
||||
@@ -1589,13 +1606,13 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of 'power_state_change_on_active_source_lost' option.
|
||||
* Get the current power state behaviour when Active Source is lost.
|
||||
*
|
||||
* @return the current value.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Reflects the action taken: do nothing or go to sleep immediately.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
@ActiveSourceLostBehavior
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
@@ -1613,14 +1630,13 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the 'system_audio_mode_muting' option.
|
||||
* Set the current status of System Audio Mode muting.
|
||||
*
|
||||
* @param value the desired value
|
||||
* @throws IllegalArgumentException when the new value is not allowed.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Sets whether the device should be muted when System Audio Mode is turned off.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
public void setSystemAudioModeMuting(@NonNull @SystemAudioModeMuting int value) {
|
||||
if (mService == null) {
|
||||
@@ -1635,13 +1651,13 @@ public final class HdmiControlManager {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value of 'system_audio_mode_muting' option.
|
||||
* Get the current status of System Audio Mode muting.
|
||||
*
|
||||
* @return the current value.
|
||||
* @throws RuntimeException when the HdmiControlService is not available.
|
||||
* <p>Reflects whether the device should be muted when System Audio Mode is turned off.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SystemApi
|
||||
@NonNull
|
||||
@SystemAudioModeMuting
|
||||
@RequiresPermission(android.Manifest.permission.HDMI_CEC)
|
||||
|
||||
Reference in New Issue
Block a user