summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/hardware/hdmi/HdmiControlManager.java16
-rw-r--r--core/java/android/hardware/hdmi/HdmiControlServiceWrapper.java8
-rw-r--r--core/java/android/hardware/hdmi/IHdmiControlService.aidl1
3 files changed, 25 insertions, 0 deletions
diff --git a/core/java/android/hardware/hdmi/HdmiControlManager.java b/core/java/android/hardware/hdmi/HdmiControlManager.java
index f1534d95a16c..eef4089ac336 100644
--- a/core/java/android/hardware/hdmi/HdmiControlManager.java
+++ b/core/java/android/hardware/hdmi/HdmiControlManager.java
@@ -832,6 +832,22 @@ public final class HdmiControlManager {
}
/**
+ * For CEC source devices (OTT/STB/Audio system): toggle the power status of the HDMI-connected
+ * display and follow the display's new power status.
+ * For all other devices: no functionality.
+ *
+ * @hide
+ */
+ @RequiresPermission(android.Manifest.permission.HDMI_CEC)
+ public void toggleAndFollowTvPower() {
+ try {
+ mService.toggleAndFollowTvPower();
+ } catch (RemoteException e) {
+ throw e.rethrowFromSystemServer();
+ }
+ }
+
+ /**
* Controls whether volume control commands via HDMI CEC are enabled.
*
* <p>When disabled:
diff --git a/core/java/android/hardware/hdmi/HdmiControlServiceWrapper.java b/core/java/android/hardware/hdmi/HdmiControlServiceWrapper.java
index fab56b8cea49..202e0907f803 100644
--- a/core/java/android/hardware/hdmi/HdmiControlServiceWrapper.java
+++ b/core/java/android/hardware/hdmi/HdmiControlServiceWrapper.java
@@ -67,6 +67,11 @@ public final class HdmiControlServiceWrapper {
}
@Override
+ public void toggleAndFollowTvPower() {
+ HdmiControlServiceWrapper.this.toggleAndFollowTvPower();
+ }
+
+ @Override
public void queryDisplayStatus(IHdmiControlCallback callback) {
HdmiControlServiceWrapper.this.queryDisplayStatus(callback);
}
@@ -360,6 +365,9 @@ public final class HdmiControlServiceWrapper {
public void oneTouchPlay(IHdmiControlCallback callback) {}
/** @hide */
+ public void toggleAndFollowTvPower() {}
+
+ /** @hide */
public void queryDisplayStatus(IHdmiControlCallback callback) {}
/** @hide */
diff --git a/core/java/android/hardware/hdmi/IHdmiControlService.aidl b/core/java/android/hardware/hdmi/IHdmiControlService.aidl
index af9d3accd00e..6d0c688f701e 100644
--- a/core/java/android/hardware/hdmi/IHdmiControlService.aidl
+++ b/core/java/android/hardware/hdmi/IHdmiControlService.aidl
@@ -42,6 +42,7 @@ interface IHdmiControlService {
int[] getSupportedTypes();
HdmiDeviceInfo getActiveSource();
void oneTouchPlay(IHdmiControlCallback callback);
+ void toggleAndFollowTvPower();
void queryDisplayStatus(IHdmiControlCallback callback);
void addHdmiControlStatusChangeListener(IHdmiControlStatusChangeListener listener);
void removeHdmiControlStatusChangeListener(IHdmiControlStatusChangeListener listener);