Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3a38b91 authored by Michal Olech's avatar Michal Olech
Browse files

[CEC Configuration] Use CEC Config API in the 'send_standby_on_sleep' option

Bug: 169145038
Test: atest HdmiCecLocalDevicePlaybackTest
Change-Id: Ifc813eb895c72237ed31cba5e27235eac1bd7c1b
parent 2784968e
Loading
Loading
Loading
Loading
+2 −13
Original line number Diff line number Diff line
@@ -81,14 +81,6 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
        // The option is false by default. Update settings db as well to have the right
        // initial setting on UI.
        mService.writeBooleanSetting(Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED, mAutoTvOff);

        // Initialize settings database with System Property value. This will be the initial
        // setting on the UI. If no System Property is set, the option is set to to_tv by default.
        mService.writeStringSetting(Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
                mService.readStringSetting(Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
                        HdmiProperties.send_standby_on_sleep().orElse(
                                HdmiProperties.send_standby_on_sleep_values.TO_TV).name()
                                .toLowerCase()));
    }

    @Override
@@ -195,11 +187,8 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
            case HdmiControlService.STANDBY_SCREEN_OFF:
                // Get latest setting value
                @HdmiControlManager.StandbyBehavior
                String sendStandbyOnSleep = mService.readStringSetting(
                        Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
                        HdmiProperties.send_standby_on_sleep().orElse(
                                HdmiProperties.send_standby_on_sleep_values.TO_TV).name()
                                .toLowerCase());
                String sendStandbyOnSleep = mService.getHdmiCecConfig().getStringValue(
                        HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP);
                switch (sendStandbyOnSleep) {
                    case HdmiControlManager.SEND_STANDBY_ON_SLEEP_TO_TV:
                        mService.sendCecCommand(
+3 −3
Original line number Diff line number Diff line
@@ -19,7 +19,6 @@ import android.hardware.hdmi.HdmiControlManager;
import android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback;
import android.hardware.hdmi.IHdmiControlCallback;
import android.os.RemoteException;
import android.provider.Settings.Global;
import android.util.Slog;

import java.util.ArrayList;
@@ -166,8 +165,9 @@ final class OneTouchPlayAction extends HdmiCecFeatureAction {
        if (service.isAudioSystemDevice()) {
            return false;
        }
        String sendStandbyOnSleep = service.readStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP, "");
        @HdmiControlManager.StandbyBehavior String sendStandbyOnSleep =
                service.getHdmiCecConfig().getStringValue(
                        HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP);
        return sendStandbyOnSleep.equals(HdmiControlManager.SEND_STANDBY_ON_SLEEP_BROADCAST);
    }
}
+27 −28
Original line number Diff line number Diff line
@@ -35,7 +35,6 @@ import android.os.Looper;
import android.os.PowerManager;
import android.os.test.TestLooper;
import android.platform.test.annotations.Presubmit;
import android.provider.Settings.Global;
import android.sysprop.HdmiProperties;
import android.view.KeyEvent;

@@ -536,8 +535,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void handleOnStandby_ScreenOff_NotActiveSource_ToTv() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_TO_TV);
        mHdmiCecLocalDevicePlayback.setActiveSource(ADDR_TV, 0x0000,
                "HdmiCecLocalDevicePlaybackTest");
@@ -556,8 +555,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void handleOnStandby_ScreenOff_NotActiveSource_Broadcast() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_BROADCAST);
        mHdmiCecLocalDevicePlayback.setActiveSource(ADDR_TV, 0x0000,
                "HdmiCecLocalDevicePlaybackTest");
@@ -576,8 +575,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void handleOnStandby_ScreenOff_NotActiveSource_None() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_NONE);
        mHdmiCecLocalDevicePlayback.setActiveSource(ADDR_TV, 0x0000,
                "HdmiCecLocalDevicePlaybackTest");
@@ -596,8 +595,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void handleOnStandby_ScreenOff_ActiveSource_ToTv() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_TO_TV);
        mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress,
                mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest");
@@ -616,8 +615,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void handleOnStandby_ScreenOff_ActiveSource_Broadcast() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_BROADCAST);
        mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress,
                mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest");
@@ -636,8 +635,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void handleOnStandby_ScreenOff_ActiveSource_None() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_NONE);
        mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress,
                mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest");
@@ -1073,8 +1072,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void oneTouchPlay_SendStandbyOnSleepToTv() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_TO_TV);
        mHdmiControlService.oneTouchPlay(new IHdmiControlCallback.Stub() {
            @Override
@@ -1096,8 +1095,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void oneTouchPlay_SendStandbyOnSleepBroadcast() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_BROADCAST);
        mHdmiControlService.oneTouchPlay(new IHdmiControlCallback.Stub() {
            @Override
@@ -1119,8 +1118,8 @@ public class HdmiCecLocalDevicePlaybackTest {

    @Test
    public void oneTouchPlay_SendStandbyOnSleepNone() {
        mHdmiCecLocalDevicePlayback.mService.writeStringSetting(
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
        mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue(
                HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP,
                HdmiControlManager.SEND_STANDBY_ON_SLEEP_NONE);
        mHdmiControlService.oneTouchPlay(new IHdmiControlCallback.Stub() {
            @Override