From 6d2bcec34c5592813b776cab8b1eaf1f48fc6e49 Mon Sep 17 00:00:00 2001 From: Mohamed Afifi Date: Sat, 9 Dec 2023 15:39:35 -0500 Subject: [PATCH] Select first reciter if no match found with the stored reciter id (#600) This fixes the issue when audio banner not in a functioning state. --- Features/AudioBannerFeature/AudioBannerViewModel.swift | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Features/AudioBannerFeature/AudioBannerViewModel.swift b/Features/AudioBannerFeature/AudioBannerViewModel.swift index 55e6fc8a..4a929942 100644 --- a/Features/AudioBannerFeature/AudioBannerViewModel.swift +++ b/Features/AudioBannerFeature/AudioBannerViewModel.swift @@ -113,7 +113,14 @@ public final class AudioBannerViewModel: RemoteCommandsHandlerDelegate { } var selectedReciter: Reciter? { - reciters.first { $0.id == preferences.lastSelectedReciterId } + let storedSelectedReciterId = preferences.lastSelectedReciterId + let selectedReciter = reciters.first { $0.id == storedSelectedReciterId } + if selectedReciter == nil { + let firstReciter = reciters.first + logger.error("AudioBanner: couldn't find reciter \(storedSelectedReciterId) using \(String(describing: firstReciter?.id)) instead") + return firstReciter + } + return selectedReciter } func start() async {