summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chaohui Wang <chaohuiw@google.com> 2024-06-05 17:27:36 +0800
committer Chaohui Wang <chaohuiw@google.com> 2024-06-06 17:02:15 +0800
commit367dcd84880d9ab1db5418c3962618bf814ac59f (patch)
treebb45bf0d3a64b57172a3cd520d653f53521cdcbd
parent737f1b378650def2ff36450cb37ae55eacf6efb4 (diff)
Return Job in collectLatestWithLifecycle
To enable canceling the flow collection. Bug: 339226604 Test: manual - Choose network Change-Id: Id10f7abaaf67a67e242a9d1d99b465613d4b7b01 Merged-In: Id10f7abaaf67a67e242a9d1d99b465613d4b7b01
-rw-r--r--packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt9
1 files changed, 4 insertions, 5 deletions
diff --git a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt
index 83cb549bb3a2..61b8b7f73754 100644
--- a/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt
+++ b/packages/SettingsLib/Spa/spa/src/com/android/settingslib/spa/framework/util/Flows.kt
@@ -20,6 +20,7 @@ import androidx.lifecycle.Lifecycle
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
+import kotlinx.coroutines.Job
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.collectLatest
import kotlinx.coroutines.flow.combine
@@ -61,10 +62,8 @@ fun <T> Flow<T>.collectLatestWithLifecycle(
lifecycleOwner: LifecycleOwner,
minActiveState: Lifecycle.State = Lifecycle.State.STARTED,
action: suspend (value: T) -> Unit,
-) {
- lifecycleOwner.lifecycleScope.launch {
- lifecycleOwner.repeatOnLifecycle(minActiveState) {
- collectLatest(action)
- }
+): Job = lifecycleOwner.lifecycleScope.launch {
+ lifecycleOwner.repeatOnLifecycle(minActiveState) {
+ collectLatest(action)
}
}