From 6db5f8640276b6b0eced5eb5ed81aac0d6a11b93 Mon Sep 17 00:00:00 2001 From: jiabin Date: Thu, 17 May 2018 10:33:09 -0700 Subject: [PATCH] Set enabledSurroundFormats as empty string when it is null. When ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS doesn't exist in settings DB, enabledSurroundFormats will be null. Set it as empty string to avoid crash. Bug: 79923672 Test: Delete ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS and select manual. Change-Id: I8385bc05733ebd8ca0b64e756cf22fc8e3de09c8 --- .../core/java/com/android/server/audio/AudioService.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java index 6c79c1a3a1c76..7c9a3ae260f4e 100644 --- a/services/core/java/com/android/server/audio/AudioService.java +++ b/services/core/java/com/android/server/audio/AudioService.java @@ -1320,6 +1320,11 @@ public class AudioService extends IAudioService.Stub } String enabledSurroundFormats = Settings.Global.getString( cr, Settings.Global.ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS); + if (enabledSurroundFormats == null) { + // Never allow enabledSurroundFormats as a null, which could happen when + // ENCODED_SURROUND_OUTPUT_ENABLED_FORMATS is not appear in settings DB. + enabledSurroundFormats = ""; + } if (!forceUpdate && TextUtils.equals(enabledSurroundFormats, mEnabledSurroundFormats)) { // Update enabled surround formats to AudioPolicyManager only when forceUpdate // is true or enabled surround formats changed.