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

Commit 2495fda9 authored by Michal Olech's avatar Michal Olech Committed by Android (Google) Code Review
Browse files

Merge changes from topic "SendStandbyOnSleepSharedPrefs"

* changes:
  [CEC Configuration] Switch POWER_CONTROL_MODE to Shared Preferences
  [CEC Configuration] Switch TV_WAKE_ON_ONE_TOUCH_PLAY to SharedPrefs
  [CEC Configuration] Switch HDMI_SYSTEM_AUDIO_CONTROL_ENABLED to SharefPrefs
  [CEC Configuration] Switch VOLUME_CONTROL_MODE to Shared Preferences
  [CEC Configuration] Switch ROUTING_CONTROL setting to SharedPrefs
parents fb9aa30c dcac864c
Loading
Loading
Loading
Loading
+0 −93
Original line number Diff line number Diff line
@@ -11049,75 +11049,6 @@ public final class Settings {
        @Readable
        public static final String HDMI_CONTROL_ENABLED = "hdmi_control_enabled";
        /**
         * Controls whether volume control commands via HDMI CEC are enabled. (0 = false, 1 =
         * true).
         *
         * <p>Effects on different device types:
         * <table>
         *     <tr><th>HDMI CEC device type</th><th>0: disabled</th><th>1: enabled</th></tr>
         *     <tr>
         *         <td>TV (type: 0)</td>
         *         <td>Per CEC specification.</td>
         *         <td>TV changes system volume. TV no longer reacts to incoming volume changes
         *         via {@code <User Control Pressed>}. TV no longer handles {@code <Report Audio
         *         Status>}.</td>
         *     </tr>
         *     <tr>
         *         <td>Playback device (type: 4)</td>
         *         <td>Device sends volume commands to TV/Audio system via {@code <User Control
         *         Pressed>}</td>
         *         <td>Device does not send volume commands via {@code <User Control Pressed>}.</td>
         *     </tr>
         *     <tr>
         *         <td>Audio device (type: 5)</td>
         *         <td>Full "System Audio Control" capabilities.</td>
         *         <td>Audio device no longer reacts to incoming {@code <User Control Pressed>}
         *         volume commands. Audio device no longer reports volume changes via {@code
         *         <Report Audio Status>}.</td>
         *     </tr>
         * </table>
         *
         * <p> Due to the resulting behavior, usage on TV and Audio devices is discouraged.
         *
         * @hide
         * @see android.hardware.hdmi.HdmiControlManager#setHdmiCecVolumeControlEnabled(boolean)
         */
        @Readable
        public static final String HDMI_CONTROL_VOLUME_CONTROL_ENABLED =
                "hdmi_control_volume_control_enabled";
        /**
        * Whether HDMI System Audio Control feature is enabled. If enabled, TV will try to turn on
        * system audio mode if there's a connected CEC-enabled AV Receiver. Then audio stream will
        * be played on AVR instead of TV spaeker. If disabled, the system audio mode will never be
        * activated.
        * @hide
        */
        @Readable
        public static final String HDMI_SYSTEM_AUDIO_CONTROL_ENABLED =
                "hdmi_system_audio_control_enabled";
        /**
         * Whether HDMI Routing Control feature is enabled. If enabled, the switch device will
         * route to the correct input source on receiving Routing Control related messages. If
         * disabled, you can only switch the input via controls on this device.
         * @hide
         */
        @Readable
        public static final String HDMI_CEC_SWITCH_ENABLED =
                "hdmi_cec_switch_enabled";
        /**
         * Whether TV will automatically turn on upon reception of the CEC command
         * &lt;Text View On&gt; or &lt;Image View On&gt;. (0 = false, 1 = true)
         *
         * @hide
         */
        @Readable
        public static final String HDMI_CONTROL_AUTO_WAKEUP_ENABLED =
                "hdmi_control_auto_wakeup_enabled";
        /**
         * Whether TV will also turn off other CEC devices when it goes to standby mode.
         * (0 = false, 1 = true)
@@ -11128,30 +11059,6 @@ public final class Settings {
        public static final String HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED =
                "hdmi_control_auto_device_off_enabled";
        /**
         * Property to decide which devices the playback device can send a <Standby> message to
         * upon going to sleep. It additionally controls whether a playback device attempts to turn
         * on the connected Audio system when waking up. Supported values are:
         * <ul>
         * <li>{@link HdmiControlManager#POWER_CONTROL_MODE_TV} Upon going to sleep, device
         * sends {@code <Standby>} to TV only. Upon waking up, device does not turn on the Audio
         * system via {@code <System Audio Mode Request>}.</li>
         * <li>{@link HdmiControlManager#POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM} Upon going to
         * sleep, sends {@code <Standby>} to TV and Audio system. Upon waking up, device attempts
         * to turn on the Audio system via {@code <System Audio Mode Request>}.</li>
         * <li>{@link HdmiControlManager#POWER_CONTROL_MODE_BROADCAST} Upon going to sleep,
         * device sends {@code <Standby>} to all devices in the network. Upon waking up, device
         * attempts to turn on the Audio system via {@code <System Audio Mode Request>}.</li>
         * <li>{@link HdmiControlManager#POWER_CONTROL_MODE_NONE} Upon going to sleep, device
         * does not send any {@code <Standby>} message. Upon waking up, device does not turn on the
         * Audio system via {@code <System Audio Mode Request>}.</li>
         * </ul>
         *
         * @hide
         */
        public static final String HDMI_CONTROL_SEND_STANDBY_ON_SLEEP =
                "hdmi_control_send_standby_on_sleep";
        /**
         * Whether or not media is shown automatically when bypassing as a heads up.
         * @hide
+0 −6
Original line number Diff line number Diff line
@@ -804,12 +804,6 @@ class SettingsProtoDumpUtil {
        dumpSetting(s, p,
                Settings.Global.HDMI_CONTROL_ENABLED,
                GlobalSettingsProto.Hdmi.CONTROL_ENABLED);
        dumpSetting(s, p,
                Settings.Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED,
                GlobalSettingsProto.Hdmi.SYSTEM_AUDIO_CONTROL_ENABLED);
        dumpSetting(s, p,
                Settings.Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED,
                GlobalSettingsProto.Hdmi.CONTROL_AUTO_WAKEUP_ENABLED);
        dumpSetting(s, p,
                Settings.Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED,
                GlobalSettingsProto.Hdmi.CONTROL_AUTO_DEVICE_OFF_ENABLED);
+0 −5
Original line number Diff line number Diff line
@@ -299,13 +299,8 @@ public class SettingsBackupTest {
                    Settings.Global.GNSS_HAL_LOCATION_REQUEST_DURATION_MILLIS,
                    Settings.Global.GNSS_SATELLITE_BLOCKLIST,
                    Settings.Global.GPRS_REGISTER_CHECK_PERIOD_MS,
                    Settings.Global.HDMI_CEC_SWITCH_ENABLED,
                    Settings.Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED,
                    Settings.Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED,
                    Settings.Global.HDMI_CONTROL_ENABLED,
                    Settings.Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
                    Settings.Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED,
                    Settings.Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED,
                    Settings.Global.HEADS_UP_NOTIFICATIONS_ENABLED,
                    Settings.Global.HIDDEN_API_POLICY,
                    Settings.Global.FORCE_NON_DEBUGGABLE_FINAL_BUILD_FOR_COMPAT,
+10 −22
Original line number Diff line number Diff line
@@ -522,19 +522,19 @@ public class HdmiCecConfig {
            case HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_VERSION:
                return STORAGE_SHARED_PREFS;
            case HdmiControlManager.CEC_SETTING_NAME_ROUTING_CONTROL:
                return STORAGE_GLOBAL_SETTINGS;
                return STORAGE_SHARED_PREFS;
            case HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE:
                return STORAGE_GLOBAL_SETTINGS;
                return STORAGE_SHARED_PREFS;
            case HdmiControlManager.CEC_SETTING_NAME_VOLUME_CONTROL_MODE:
                return STORAGE_GLOBAL_SETTINGS;
                return STORAGE_SHARED_PREFS;
            case HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST:
                return STORAGE_SHARED_PREFS;
            case HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL:
                return STORAGE_GLOBAL_SETTINGS;
                return STORAGE_SHARED_PREFS;
            case HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING:
                return STORAGE_SHARED_PREFS;
            case HdmiControlManager.CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY:
                return STORAGE_GLOBAL_SETTINGS;
                return STORAGE_SHARED_PREFS;
            case HdmiControlManager.CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP:
                return STORAGE_GLOBAL_SETTINGS;
            case HdmiControlManager.CEC_SETTING_NAME_RC_PROFILE_TV:
@@ -563,19 +563,19 @@ public class HdmiCecConfig {
            case HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_VERSION:
                return setting.getName();
            case HdmiControlManager.CEC_SETTING_NAME_ROUTING_CONTROL:
                return Global.HDMI_CEC_SWITCH_ENABLED;
                return setting.getName();
            case HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE:
                return Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP;
                return setting.getName();
            case HdmiControlManager.CEC_SETTING_NAME_VOLUME_CONTROL_MODE:
                return Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED;
                return setting.getName();
            case HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST:
                return setting.getName();
            case HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL:
                return Global.HDMI_SYSTEM_AUDIO_CONTROL_ENABLED;
                return setting.getName();
            case HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING:
                return setting.getName();
            case HdmiControlManager.CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY:
                return Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED;
                return setting.getName();
            case HdmiControlManager.CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP:
                return Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED;
            case HdmiControlManager.CEC_SETTING_NAME_RC_PROFILE_TV:
@@ -634,15 +634,6 @@ public class HdmiCecConfig {
            case Global.HDMI_CONTROL_ENABLED:
                notifySettingChanged(HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED);
                break;
            case Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP:
                notifySettingChanged(HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE);
                break;
            case Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED:
                notifySettingChanged(HdmiControlManager.CEC_SETTING_NAME_VOLUME_CONTROL_MODE);
                break;
            case Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED:
                notifySettingChanged(HdmiControlManager.CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY);
                break;
            case Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED:
                notifySettingChanged(HdmiControlManager.CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP);
                break;
@@ -687,9 +678,6 @@ public class HdmiCecConfig {
        ContentResolver resolver = mContext.getContentResolver();
        String[] settings = new String[] {
                Global.HDMI_CONTROL_ENABLED,
                Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
                Global.HDMI_CONTROL_VOLUME_CONTROL_ENABLED,
                Global.HDMI_CONTROL_AUTO_WAKEUP_ENABLED,
                Global.HDMI_CONTROL_AUTO_DEVICE_OFF_ENABLED,
        };
        for (String setting: settings) {
+0 −22
Original line number Diff line number Diff line
@@ -338,18 +338,6 @@ public final class HdmiCecConfigTest {
                    HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED));
    }

    @Test
    public void getStringValue_GlobalSetting_BasicSanity() {
        when(mStorageAdapter.retrieveGlobalSetting(
                  Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
                  HdmiControlManager.POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM))
            .thenReturn(HdmiControlManager.POWER_CONTROL_MODE_BROADCAST);
        HdmiCecConfig hdmiCecConfig = new HdmiCecConfig(mContext, mStorageAdapter);
        assertThat(hdmiCecConfig.getStringValue(
                    HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE))
                .isEqualTo(HdmiControlManager.POWER_CONTROL_MODE_BROADCAST);
    }

    @Test
    public void getStringValue_SharedPref_BasicSanity() {
        when(mStorageAdapter.retrieveSharedPref(
@@ -428,16 +416,6 @@ public final class HdmiCecConfigTest {
                        "bar"));
    }

    @Test
    public void setStringValue_GlobalSetting_BasicSanity() {
        HdmiCecConfig hdmiCecConfig = new HdmiCecConfig(mContext, mStorageAdapter);
        hdmiCecConfig.setStringValue(HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE,
                               HdmiControlManager.POWER_CONTROL_MODE_BROADCAST);
        verify(mStorageAdapter).storeGlobalSetting(
                  Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP,
                  HdmiControlManager.POWER_CONTROL_MODE_BROADCAST);
    }

    @Test
    public void setStringValue_SharedPref_BasicSanity() {
        HdmiCecConfig hdmiCecConfig = new HdmiCecConfig(mContext, mStorageAdapter);