From 06e13bdbd5c0b3f8657cc81acd02e2082f4529d5 Mon Sep 17 00:00:00 2001 From: Michal Olech Date: Tue, 5 Oct 2021 13:15:35 +0200 Subject: [PATCH] [CEC Configuration] Switch VOLUME_CONTROL_MODE to Shared Preferences Test: manual test Change-Id: I708caafc54df8f3c6393b485abdc8e5b02f1ca51 Bug: 175381065 --- core/java/android/provider/Settings.java | 38 ------------------- .../android/provider/SettingsBackupTest.java | 1 - .../android/server/hdmi/HdmiCecConfig.java | 8 +--- 3 files changed, 2 insertions(+), 45 deletions(-) diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index ed5341709539a..6b3f0c057466c 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -11049,44 +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). - * - *

Effects on different device types: - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
HDMI CEC device type0: disabled1: enabled
TV (type: 0)Per CEC specification.TV changes system volume. TV no longer reacts to incoming volume changes - * via {@code }. TV no longer handles {@code }.
Playback device (type: 4)Device sends volume commands to TV/Audio system via {@code }Device does not send volume commands via {@code }.
Audio device (type: 5)Full "System Audio Control" capabilities.Audio device no longer reacts to incoming {@code } - * volume commands. Audio device no longer reports volume changes via {@code - * }.
- * - *

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 diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 50332a2ddc5ca..63623a099cc44 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -303,7 +303,6 @@ public class SettingsBackupTest { 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, diff --git a/services/core/java/com/android/server/hdmi/HdmiCecConfig.java b/services/core/java/com/android/server/hdmi/HdmiCecConfig.java index 0c68ddcaee7a0..551e919e60ff6 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecConfig.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecConfig.java @@ -526,7 +526,7 @@ public class HdmiCecConfig { case HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE: return STORAGE_GLOBAL_SETTINGS; 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: @@ -567,7 +567,7 @@ public class HdmiCecConfig { case HdmiControlManager.CEC_SETTING_NAME_POWER_CONTROL_MODE: return Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP; 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: @@ -637,9 +637,6 @@ public class HdmiCecConfig { 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; @@ -688,7 +685,6 @@ public class HdmiCecConfig { 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, };