Make code more readable
This commit is contained in:
@@ -2,7 +2,6 @@ package gq.kirmanak.mealient.extensions
|
||||
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.lifecycleScope
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.flow.Flow
|
||||
import kotlinx.coroutines.flow.collect
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -10,8 +9,4 @@ import kotlinx.coroutines.launch
|
||||
inline fun <T> Fragment.collectWithViewLifecycle(
|
||||
flow: Flow<T>,
|
||||
crossinline collector: suspend (T) -> Unit,
|
||||
) = launchWithViewLifecycle { flow.collect(collector) }
|
||||
|
||||
fun Fragment.launchWithViewLifecycle(
|
||||
block: suspend CoroutineScope.() -> Unit,
|
||||
) = viewLifecycleOwner.lifecycleScope.launch(block = block)
|
||||
) = viewLifecycleOwner.lifecycleScope.launch { flow.collect(collector) }
|
||||
@@ -113,11 +113,9 @@ suspend fun EditText.waitUntilNotEmpty() {
|
||||
fun <T> SharedPreferences.prefsChangeFlow(
|
||||
valueReader: SharedPreferences.() -> T,
|
||||
): Flow<T> = callbackFlow {
|
||||
val listener = SharedPreferences.OnSharedPreferenceChangeListener { prefs, _ ->
|
||||
val value = prefs.valueReader()
|
||||
trySend(value).logErrors("prefsChangeFlow")
|
||||
}
|
||||
trySend(valueReader())
|
||||
fun sendValue() = trySend(valueReader()).logErrors("prefsChangeFlow")
|
||||
val listener = SharedPreferences.OnSharedPreferenceChangeListener { _, _ -> sendValue() }
|
||||
sendValue()
|
||||
registerOnSharedPreferenceChangeListener(listener)
|
||||
awaitClose { unregisterOnSharedPreferenceChangeListener(listener) }
|
||||
}
|
||||
Reference in New Issue
Block a user