From ccb52608ad91f89f3df4fd31c7494d0e08a35c40 Mon Sep 17 00:00:00 2001 From: Vlad Popa Date: Tue, 7 Feb 2023 13:45:37 +0100 Subject: [PATCH] CSD: Fix possible NPE when no records are stored Add check when settings do not contain any sound dose records. Test: flash -w and check persistence Bug: 264254900 Change-Id: I9963022bb99723afdaca6d81caad823c9f5a933c --- .../java/com/android/server/audio/SoundDoseHelper.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/audio/SoundDoseHelper.java b/services/core/java/com/android/server/audio/SoundDoseHelper.java index ac02eb76b8c93..748c4ce558f3f 100644 --- a/services/core/java/com/android/server/audio/SoundDoseHelper.java +++ b/services/core/java/com/android/server/audio/SoundDoseHelper.java @@ -595,9 +595,12 @@ public class SoundDoseHelper { Settings.Global.AUDIO_SAFE_CSD_CURRENT_VALUE, /* defaultValue= */0.f); mNextCsdWarning = parseGlobalSettingFloat( Settings.Global.AUDIO_SAFE_CSD_NEXT_WARNING, /* defaultValue= */1.f); - mDoseRecords.addAll(persistedStringToRecordList( + final List records = persistedStringToRecordList( mSettings.getGlobalString(mAudioService.getContentResolver(), - Settings.Global.AUDIO_SAFE_CSD_DOSE_RECORDS))); + Settings.Global.AUDIO_SAFE_CSD_DOSE_RECORDS)); + if (records != null) { + mDoseRecords.addAll(records); + } } reset();