From 3a30a76e8839d36c93c2620188238b84462b3dd2 Mon Sep 17 00:00:00 2001 From: Ricardo Garcia Date: Tue, 23 Jun 2015 15:54:45 -0700 Subject: [PATCH] Fix for SafeMedia logic and CTS tests Added audio.safemedia.bypass system property to bypass SafeMedia logic on CTS tests which require guaranteed access to full range of volume levels. bug: 21779099 Change-Id: I76815a995f08d426218206af7aade491c5debd9e --- .../core/java/com/android/server/audio/AudioService.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 47d3bde7a5e19..0dc4076b067d6 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -3099,10 +3099,13 @@ public class AudioService extends IAudioService.Stub { || mContext.getResources().getBoolean( com.android.internal.R.bool.config_safe_media_volume_enabled); + boolean safeMediaVolumeBypass = + SystemProperties.getBoolean("audio.safemedia.bypass", false); + // The persisted state is either "disabled" or "active": this is the state applied // next time we boot and cannot be "inactive" int persistedState; - if (safeMediaVolumeEnabled) { + if (safeMediaVolumeEnabled && !safeMediaVolumeBypass) { persistedState = SAFE_MEDIA_VOLUME_ACTIVE; // The state can already be "inactive" here if the user has forced it before // the 30 seconds timeout for forced configuration. In this case we don't reset