diff --git a/services/core/java/com/android/server/hdmi/HdmiCecConfig.java b/services/core/java/com/android/server/hdmi/HdmiCecConfig.java index 3794da398c01c..0566d32160fc0 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecConfig.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecConfig.java @@ -23,6 +23,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.annotation.StringDef; import android.content.Context; +import android.content.SharedPreferences; import android.hardware.hdmi.HdmiControlManager; import android.os.Environment; import android.os.SystemProperties; @@ -59,15 +60,19 @@ public class HdmiCecConfig { private static final String ETC_DIR = "etc"; private static final String CONFIG_FILE = "cec_config.xml"; + private static final String SHARED_PREFS_DIR = "shared_prefs"; + private static final String SHARED_PREFS_NAME = "cec_config.xml"; @IntDef({ STORAGE_SYSPROPS, STORAGE_GLOBAL_SETTINGS, + STORAGE_SHARED_PREFS, }) private @interface Storage {} private static final int STORAGE_SYSPROPS = 0; private static final int STORAGE_GLOBAL_SETTINGS = 1; + private static final int STORAGE_SHARED_PREFS = 2; private static final String VALUE_TYPE_STRING = "string"; private static final String VALUE_TYPE_INT = "int"; @@ -78,18 +83,6 @@ public class HdmiCecConfig { }) private @interface ValueType {} - /** - * System property key for Power State Change on Active Source Lost. - */ - public static final String SYSPROP_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = - "ro.hdmi.cec.source.power_state_change_on_active_source_lost"; - - /** - * System property key for Audio Mode Muting. - */ - public static final String SYSPROP_SYSTEM_AUDIO_MODE_MUTING = - "ro.hdmi.cec.audio.system_audio_mode_muting.enabled"; - @NonNull private final Context mContext; @NonNull private final StorageAdapter mStorageAdapter; @Nullable private final CecSettings mSystemConfig; @@ -99,6 +92,20 @@ public class HdmiCecConfig { * Setting storage input/output helper class. */ public static class StorageAdapter { + @NonNull private final Context mContext; + @NonNull private final SharedPreferences mSharedPrefs; + + StorageAdapter(@NonNull Context context) { + mContext = context; + // The package info in the context isn't initialized in the way it is for normal apps, + // so the standard, name-based context.getSharedPreferences doesn't work. Instead, we + // build the path manually below using the same policy that appears in ContextImpl. + final Context deviceContext = mContext.createDeviceProtectedStorageContext(); + final File prefsFile = new File(new File(Environment.getDataSystemDirectory(), + SHARED_PREFS_DIR), SHARED_PREFS_NAME); + mSharedPrefs = deviceContext.getSharedPreferences(prefsFile, Context.MODE_PRIVATE); + } + /** * Read the value from a system property. * Returns the given default value if the system property is not set. @@ -120,20 +127,35 @@ public class HdmiCecConfig { * Read the value from a global setting. * Returns the given default value if the system property is not set. */ - public String retrieveGlobalSetting(@NonNull Context context, - @NonNull String storageKey, + public String retrieveGlobalSetting(@NonNull String storageKey, @NonNull String defaultValue) { - String value = Global.getString(context.getContentResolver(), storageKey); + String value = Global.getString(mContext.getContentResolver(), storageKey); return value != null ? value : defaultValue; } /** * Write the value to a global setting. */ - public void storeGlobalSetting(@NonNull Context context, - @NonNull String storageKey, + public void storeGlobalSetting(@NonNull String storageKey, @NonNull String value) { - Global.putString(context.getContentResolver(), storageKey, value); + Global.putString(mContext.getContentResolver(), storageKey, value); + } + + /** + * Read the value from a shared preference. + * Returns the given default value if the preference is not set. + */ + public String retrieveSharedPref(@NonNull String storageKey, + @NonNull String defaultValue) { + return mSharedPrefs.getString(storageKey, defaultValue); + } + + /** + * Write the value to a shared preference. + */ + public void storeSharedPref(@NonNull String storageKey, + @NonNull String value) { + mSharedPrefs.edit().putString(storageKey, value).apply(); } } @@ -155,7 +177,7 @@ public class HdmiCecConfig { } HdmiCecConfig(@NonNull Context context) { - this(context, new StorageAdapter(), + this(context, new StorageAdapter(context), readSettingsFromFile(Environment.buildPath(Environment.getRootDirectory(), ETC_DIR, CONFIG_FILE)), readSettingsFromFile(Environment.buildPath(Environment.getVendorDirectory(), @@ -234,9 +256,9 @@ public class HdmiCecConfig { case HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP: return STORAGE_GLOBAL_SETTINGS; case HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST: - return STORAGE_SYSPROPS; + return STORAGE_SHARED_PREFS; case HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING: - return STORAGE_SYSPROPS; + return STORAGE_SHARED_PREFS; default: throw new RuntimeException("Invalid CEC setting '" + setting.getName() + "' storage."); @@ -252,9 +274,9 @@ public class HdmiCecConfig { case HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP: return Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP; case HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST: - return SYSPROP_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST; + return setting.getName(); case HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING: - return SYSPROP_SYSTEM_AUDIO_MODE_MUTING; + return setting.getName(); default: throw new RuntimeException("Invalid CEC setting '" + setting.getName() + "' storage key."); @@ -269,7 +291,10 @@ public class HdmiCecConfig { return mStorageAdapter.retrieveSystemProperty(storageKey, defaultValue); } else if (storage == STORAGE_GLOBAL_SETTINGS) { Slog.d(TAG, "Reading '" + storageKey + "' global setting."); - return mStorageAdapter.retrieveGlobalSetting(mContext, storageKey, defaultValue); + return mStorageAdapter.retrieveGlobalSetting(storageKey, defaultValue); + } else if (storage == STORAGE_SHARED_PREFS) { + Slog.d(TAG, "Reading '" + storageKey + "' shared preference."); + return mStorageAdapter.retrieveSharedPref(storageKey, defaultValue); } return null; } @@ -282,7 +307,10 @@ public class HdmiCecConfig { mStorageAdapter.storeSystemProperty(storageKey, value); } else if (storage == STORAGE_GLOBAL_SETTINGS) { Slog.d(TAG, "Setting '" + storageKey + "' global setting."); - mStorageAdapter.storeGlobalSetting(mContext, storageKey, value); + mStorageAdapter.storeGlobalSetting(storageKey, value); + } else if (storage == STORAGE_SHARED_PREFS) { + Slog.d(TAG, "Setting '" + storageKey + "' shared pref."); + mStorageAdapter.storeSharedPref(storageKey, value); } } diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java index 4110de6fee909..46b09dc07e61a 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystem.java @@ -778,11 +778,14 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { switchToAudioInput(); } // Mute device when feature is turned off and unmute device when feature is turned on. - // PROPERTY_SYSTEM_AUDIO_MODE_MUTING_ENABLE is false when device never needs to be muted. + // CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING is false when device never needs to be muted. + boolean systemAudioModeMutingEnabled = mService.getHdmiCecConfig().getIntValue( + HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING) + == HdmiControlManager.SYSTEM_AUDIO_MODE_MUTING_ENABLED; boolean currentMuteStatus = mService.getAudioManager().isStreamMute(AudioManager.STREAM_MUSIC); if (currentMuteStatus == newSystemAudioMode) { - if (HdmiProperties.system_audio_mode_muting().orElse(true) || newSystemAudioMode) { + if (systemAudioModeMutingEnabled || newSystemAudioMode) { mService.getAudioManager() .adjustStreamVolume( AudioManager.STREAM_MUSIC, @@ -806,7 +809,7 @@ public class HdmiCecLocalDeviceAudioSystem extends HdmiCecLocalDeviceSource { // Audio Mode is off even without terminating the ARC. This can stop the current // audio device from playing audio when system audio mode is off. if (mArcIntentUsed - && !HdmiProperties.system_audio_mode_muting().orElse(true) + && !systemAudioModeMutingEnabled && !newSystemAudioMode && getLocalActivePort() == Constants.CEC_SWITCH_ARC) { routeToInputFromPortId(getRoutingPort()); diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java index 98779197db693..109f6a7f56fec 100644 --- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java +++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java @@ -66,13 +66,6 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { .playback_device_action_on_routing_control() .orElse(HdmiProperties.playback_device_action_on_routing_control_values.NONE); - // Behaviour of the device when is lost in favor of another device. - @VisibleForTesting - protected HdmiProperties.power_state_change_on_active_source_lost_values - mPowerStateChangeOnActiveSourceLost = HdmiProperties - .power_state_change_on_active_source_lost() - .orElse(HdmiProperties.power_state_change_on_active_source_lost_values.NONE); - HdmiCecLocalDevicePlayback(HdmiControlService service) { super(service, HdmiDeviceInfo.DEVICE_PLAYBACK); @@ -81,14 +74,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 +180,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( @@ -290,11 +272,12 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource { @ServiceThreadOnly protected void onActiveSourceLost() { assertRunOnServiceThread(); - switch (mPowerStateChangeOnActiveSourceLost) { - case STANDBY_NOW: + switch (mService.getHdmiCecConfig().getStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST)) { + case HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW: mService.standby(); return; - case NONE: + case HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE: return; } } diff --git a/services/core/java/com/android/server/hdmi/OneTouchPlayAction.java b/services/core/java/com/android/server/hdmi/OneTouchPlayAction.java index 53f9a109d08d3..f9f97fe7b1843 100644 --- a/services/core/java/com/android/server/hdmi/OneTouchPlayAction.java +++ b/services/core/java/com/android/server/hdmi/OneTouchPlayAction.java @@ -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); } } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/FakeHdmiCecConfig.java b/services/tests/servicestests/src/com/android/server/hdmi/FakeHdmiCecConfig.java index 52899faf0ed7c..227e8c76987f8 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/FakeHdmiCecConfig.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/FakeHdmiCecConfig.java @@ -50,6 +50,15 @@ final class FakeHdmiCecConfig extends HdmiCecConfig { + " " + " " + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + " " @@ -59,10 +68,19 @@ final class FakeHdmiCecConfig extends HdmiCecConfig { + " " + " " + " " + + " " + + " " + + " " + + " " + + " " + + " " + + " " + ""; FakeHdmiCecConfig(@NonNull Context context) { - super(context, new StorageAdapter(), parseFromString(SYSTEM_CONFIG_XML), null); + super(context, new StorageAdapter(context), parseFromString(SYSTEM_CONFIG_XML), null); } private static CecSettings parseFromString(@NonNull String configXml) { diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecConfigTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecConfigTest.java index dd74f22c78b77..d10e075c51360 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecConfigTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecConfigTest.java @@ -27,7 +27,6 @@ import android.content.Context; import android.hardware.hdmi.HdmiControlManager; import android.platform.test.annotations.Presubmit; import android.provider.Settings.Global; -import android.sysprop.HdmiProperties; import androidx.test.InstrumentationRegistry; import androidx.test.filters.SmallTest; @@ -609,7 +608,7 @@ public final class HdmiCecConfigTest { @Test public void getStringValue_GlobalSetting_BasicSanity() { - when(mStorageAdapter.retrieveGlobalSetting(mContext, + when(mStorageAdapter.retrieveGlobalSetting( Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP, HdmiControlManager.SEND_STANDBY_ON_SLEEP_TO_TV)) .thenReturn(HdmiControlManager.SEND_STANDBY_ON_SLEEP_BROADCAST); @@ -634,20 +633,19 @@ public final class HdmiCecConfigTest { } @Test - public void getStringValue_SystemProperty_BasicSanity() { - when(mStorageAdapter.retrieveSystemProperty( - HdmiCecConfig.SYSPROP_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, - HdmiProperties.power_state_change_on_active_source_lost_values - .NONE.name().toLowerCase())) - .thenReturn(HdmiProperties.power_state_change_on_active_source_lost_values - .STANDBY_NOW.name().toLowerCase()); + public void getStringValue_SharedPref_BasicSanity() { + when(mStorageAdapter.retrieveSharedPref( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE)) + .thenReturn( + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); HdmiCecConfig hdmiCecConfig = HdmiCecConfig.createFromStrings( mContext, mStorageAdapter, "" + "" + " " + + " user-configurable=\"true\">" + " " + " " + " " @@ -657,8 +655,7 @@ public final class HdmiCecConfigTest { + "", null); assertThat(hdmiCecConfig.getStringValue( HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST)) - .isEqualTo(HdmiProperties.power_state_change_on_active_source_lost_values - .STANDBY_NOW.name().toLowerCase()); + .isEqualTo(HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); } @Test @@ -704,7 +701,7 @@ public final class HdmiCecConfigTest { @Test public void getIntValue_GlobalSetting_BasicSanity() { - when(mStorageAdapter.retrieveGlobalSetting(mContext, + when(mStorageAdapter.retrieveGlobalSetting( Global.HDMI_CONTROL_ENABLED, Integer.toString(HdmiControlManager.HDMI_CEC_CONTROL_ENABLED))) .thenReturn(Integer.toString(HdmiControlManager.HDMI_CEC_CONTROL_DISABLED)); @@ -729,7 +726,7 @@ public final class HdmiCecConfigTest { @Test public void getIntValue_GlobalSetting_HexValue() { - when(mStorageAdapter.retrieveGlobalSetting(mContext, + when(mStorageAdapter.retrieveGlobalSetting( Global.HDMI_CONTROL_ENABLED, Integer.toHexString(HdmiControlManager.HDMI_CEC_CONTROL_ENABLED))) .thenReturn(Integer.toString(HdmiControlManager.HDMI_CEC_CONTROL_DISABLED)); @@ -753,9 +750,9 @@ public final class HdmiCecConfigTest { } @Test - public void getIntValue_SystemProperty_BasicSanity() { - when(mStorageAdapter.retrieveSystemProperty( - HdmiCecConfig.SYSPROP_SYSTEM_AUDIO_MODE_MUTING, + public void getIntValue_SharedPref_BasicSanity() { + when(mStorageAdapter.retrieveSharedPref( + HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING, Integer.toString(HdmiControlManager.SYSTEM_AUDIO_MODE_MUTING_ENABLED))) .thenReturn(Integer.toString(HdmiControlManager.SYSTEM_AUDIO_MODE_MUTING_DISABLED)); HdmiCecConfig hdmiCecConfig = HdmiCecConfig.createFromStrings( @@ -861,13 +858,13 @@ public final class HdmiCecConfigTest { + "", null); hdmiCecConfig.setStringValue(HdmiControlManager.CEC_SETTING_NAME_SEND_STANDBY_ON_SLEEP, HdmiControlManager.SEND_STANDBY_ON_SLEEP_BROADCAST); - verify(mStorageAdapter).storeGlobalSetting(mContext, + verify(mStorageAdapter).storeGlobalSetting( Global.HDMI_CONTROL_SEND_STANDBY_ON_SLEEP, HdmiControlManager.SEND_STANDBY_ON_SLEEP_BROADCAST); } @Test - public void setStringValue_SystemProperty_BasicSanity() { + public void setStringValue_SharedPref_BasicSanity() { HdmiCecConfig hdmiCecConfig = HdmiCecConfig.createFromStrings( mContext, mStorageAdapter, "" @@ -884,12 +881,10 @@ public final class HdmiCecConfigTest { + "", null); hdmiCecConfig.setStringValue( HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, - HdmiProperties.power_state_change_on_active_source_lost_values - .STANDBY_NOW.name().toLowerCase()); - verify(mStorageAdapter).storeSystemProperty( - HdmiCecConfig.SYSPROP_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, - HdmiProperties.power_state_change_on_active_source_lost_values - .STANDBY_NOW.name().toLowerCase()); + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); + verify(mStorageAdapter).storeSharedPref( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); } @Test @@ -973,7 +968,7 @@ public final class HdmiCecConfigTest { + "", null); hdmiCecConfig.setIntValue(HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED, HdmiControlManager.HDMI_CEC_CONTROL_DISABLED); - verify(mStorageAdapter).storeGlobalSetting(mContext, + verify(mStorageAdapter).storeGlobalSetting( Global.HDMI_CONTROL_ENABLED, Integer.toString(HdmiControlManager.HDMI_CEC_CONTROL_DISABLED)); } @@ -996,13 +991,13 @@ public final class HdmiCecConfigTest { + "", null); hdmiCecConfig.setIntValue(HdmiControlManager.CEC_SETTING_NAME_HDMI_CEC_ENABLED, HdmiControlManager.HDMI_CEC_CONTROL_DISABLED); - verify(mStorageAdapter).storeGlobalSetting(mContext, + verify(mStorageAdapter).storeGlobalSetting( Global.HDMI_CONTROL_ENABLED, Integer.toString(HdmiControlManager.HDMI_CEC_CONTROL_DISABLED)); } @Test - public void setIntValue_SystemProperty_BasicSanity() { + public void setIntValue_SharedPref_BasicSanity() { HdmiCecConfig hdmiCecConfig = HdmiCecConfig.createFromStrings( mContext, mStorageAdapter, "" @@ -1020,8 +1015,8 @@ public final class HdmiCecConfigTest { hdmiCecConfig.setIntValue( HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING, HdmiControlManager.SYSTEM_AUDIO_MODE_MUTING_DISABLED); - verify(mStorageAdapter).storeSystemProperty( - HdmiCecConfig.SYSPROP_SYSTEM_AUDIO_MODE_MUTING, + verify(mStorageAdapter).storeSharedPref( + HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING, Integer.toString(HdmiControlManager.SYSTEM_AUDIO_MODE_MUTING_DISABLED)); } } diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java index 25530940e9648..3fd3ce3cd0df2 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDeviceAudioSystemTest.java @@ -27,6 +27,7 @@ import static com.android.server.hdmi.HdmiControlService.STANDBY_SCREEN_OFF; import static com.google.common.truth.Truth.assertThat; import android.content.Context; +import android.hardware.hdmi.HdmiControlManager; import android.hardware.hdmi.HdmiDeviceInfo; import android.hardware.hdmi.HdmiPortInfo; import android.hardware.hdmi.IHdmiControlCallback; @@ -451,6 +452,39 @@ public class HdmiCecLocalDeviceAudioSystemTest { .isTrue(); } + @Test + public void systemAudioModeMuting_enabled() { + mHdmiControlService.getHdmiCecConfig().setIntValue( + HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING, + HdmiControlManager.SYSTEM_AUDIO_MODE_MUTING_ENABLED); + mHdmiCecLocalDeviceAudioSystem.checkSupportAndSetSystemAudioMode(true); + assertThat(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated()).isTrue(); + assertThat(mHdmiControlService.getAudioManager().isStreamMute( + AudioManager.STREAM_MUSIC)).isFalse(); + mHdmiCecLocalDeviceAudioSystem.checkSupportAndSetSystemAudioMode(false); + assertThat(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated()).isFalse(); + assertThat(mHdmiControlService.getAudioManager().isStreamMute( + AudioManager.STREAM_MUSIC)).isTrue(); + } + + @Test + public void systemAudioModeMuting_disabled() { + mHdmiControlService.getHdmiCecConfig().setIntValue( + HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING, + HdmiControlManager.SYSTEM_AUDIO_MODE_MUTING_DISABLED); + mHdmiCecLocalDeviceAudioSystem.checkSupportAndSetSystemAudioMode(true); + assertThat(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated()).isTrue(); + assertThat(mHdmiControlService.getAudioManager().isStreamMute( + AudioManager.STREAM_MUSIC)).isFalse(); + mHdmiCecLocalDeviceAudioSystem.checkSupportAndSetSystemAudioMode(false); + assertThat(mHdmiCecLocalDeviceAudioSystem.isSystemAudioActivated()).isFalse(); + assertThat(mHdmiControlService.getAudioManager().isStreamMute( + AudioManager.STREAM_MUSIC)).isFalse(); + mHdmiControlService.getHdmiCecConfig().setIntValue( + HdmiControlManager.CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING, + HdmiControlManager.SYSTEM_AUDIO_MODE_MUTING_ENABLED); + } + @Test public void terminateSystemAudioMode_systemAudioModeOff() throws Exception { mHdmiCecLocalDeviceAudioSystem.checkSupportAndSetSystemAudioMode(false); diff --git a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java index 9646b5d2ec2c2..cdb49ad54f1ec 100644 --- a/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java +++ b/services/tests/servicestests/src/com/android/server/hdmi/HdmiCecLocalDevicePlaybackTest.java @@ -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; @@ -116,16 +115,16 @@ public class HdmiCecLocalDevicePlaybackTest { return false; } - @Override - PowerManager getPowerManager() { - return powerManager; - } + @Override + PowerManager getPowerManager() { + return powerManager; + } - @Override - HdmiCecConfig getHdmiCecConfig() { - return hdmiCecConfig; - } - }; + @Override + HdmiCecConfig getHdmiCecConfig() { + return hdmiCecConfig; + } + }; mHdmiCecLocalDevicePlayback = new HdmiCecLocalDevicePlayback(mHdmiControlService); mHdmiCecLocalDevicePlayback.init(); @@ -283,8 +282,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingChange_otherDevice_None() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -301,8 +301,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingChange_sameDevice_None_ActiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -320,8 +321,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingChange_sameDevice_None_InactiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mHdmiCecLocalDevicePlayback.setActiveSource(ADDR_TV, 0x0000, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -339,8 +341,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingChange_otherDevice_StandbyNow() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -353,8 +356,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingChange_otherDevice_StandbyNow_InactiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mHdmiCecLocalDevicePlayback.setActiveSource(ADDR_TV, 0x0000, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -367,8 +371,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingChange_sameDevice_StandbyNow_ActiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -382,8 +387,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingInformation_otherDevice_None() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -399,8 +405,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingInformation_sameDevice_None_ActiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -418,8 +425,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingInformation_sameDevice_None_InactiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mHdmiCecLocalDevicePlayback.setActiveSource(ADDR_TV, 0x0000, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -437,8 +445,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingInformation_otherDevice_StandbyNow() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -451,8 +460,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingInformation_otherDevice_StandbyNow_InactiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mHdmiCecLocalDevicePlayback.setActiveSource(ADDR_TV, 0x0000, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -465,8 +475,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleRoutingInformation_sameDevice_StandbyNow_ActiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -536,8 +547,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 +567,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 +587,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 +607,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 +627,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 +647,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"); @@ -741,8 +752,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleActiveSource_ActiveSource_None() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mStandby = false; HdmiCecMessage message = HdmiCecMessageBuilder.buildActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress); @@ -758,8 +770,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleActiveSource_notActiveSource_None() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mStandby = false; HdmiCecMessage message = HdmiCecMessageBuilder.buildActiveSource(ADDR_TV, 0x0000); assertThat(mHdmiCecLocalDevicePlayback.handleActiveSource(message)).isTrue(); @@ -774,8 +787,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleActiveSource_ActiveSource_StandbyNow() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mStandby = false; HdmiCecMessage message = HdmiCecMessageBuilder.buildActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress); @@ -787,8 +801,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleActiveSource_notActiveSource_StandbyNow() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mStandby = false; HdmiCecMessage message = HdmiCecMessageBuilder.buildActiveSource(ADDR_TV, 0x0000); assertThat(mHdmiCecLocalDevicePlayback.handleActiveSource(message)).isTrue(); @@ -1027,8 +1042,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleSetStreamPath_otherDevice_None() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.NONE; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -1045,8 +1061,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleSetStreamPath_otherDevice_StandbyNow() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mHdmiCecLocalDevicePlayback.setActiveSource(mPlaybackLogicalAddress, mPlaybackPhysicalAddress, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -1059,8 +1076,9 @@ public class HdmiCecLocalDevicePlaybackTest { @Test public void handleSetStreamPath_otherDevice_StandbyNow_InactiveSource() { - mHdmiCecLocalDevicePlayback.mPowerStateChangeOnActiveSourceLost = - HdmiProperties.power_state_change_on_active_source_lost_values.STANDBY_NOW; + mHdmiCecLocalDevicePlayback.mService.getHdmiCecConfig().setStringValue( + HdmiControlManager.CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST, + HdmiControlManager.POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW); mHdmiCecLocalDevicePlayback.setActiveSource(ADDR_TV, 0x0000, "HdmiCecLocalDevicePlaybackTest"); mStandby = false; @@ -1073,8 +1091,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 +1114,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 +1137,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