diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt index ef9452648a70..fd60e00dc083 100644 --- a/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt +++ b/packages/SettingsLib/src/com/android/settingslib/notification/data/repository/ZenModeRepository.kt @@ -16,6 +16,7 @@ package com.android.settingslib.notification.data.repository +import android.annotation.SuppressLint import android.app.NotificationManager import android.content.BroadcastReceiver import android.content.ContentResolver @@ -57,6 +58,7 @@ interface ZenModeRepository { val modes: Flow<List<ZenMode>> } +@SuppressLint("SharedFlowCreation") class ZenModeRepositoryImpl( private val context: Context, private val notificationManager: NotificationManager, @@ -99,12 +101,11 @@ class ZenModeRepositoryImpl( } .let { if (Flags.volumePanelBroadcastFix()) { + // Share the flow to avoid having multiple broadcasts. it.flowOn(backgroundCoroutineContext) + .shareIn(started = SharingStarted.WhileSubscribed(), scope = scope) } else { - it.shareIn( - started = SharingStarted.WhileSubscribed(), - scope = scope, - ) + it.shareIn(started = SharingStarted.WhileSubscribed(), scope = scope) } } } |