Replace AccountManager with EncryptedSharedPreferences
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package gq.kirmanak.mealient.extensions
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.SharedPreferences
|
||||
import android.os.Build
|
||||
import android.view.View
|
||||
import android.view.WindowInsets
|
||||
@@ -106,4 +107,17 @@ fun EditText.checkIfInputIsEmpty(
|
||||
suspend fun EditText.waitUntilNotEmpty() {
|
||||
textChangesFlow().filterNotNull().first { it.isNotEmpty() }
|
||||
Timber.v("waitUntilNotEmpty() returned")
|
||||
}
|
||||
|
||||
@OptIn(ExperimentalCoroutinesApi::class)
|
||||
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())
|
||||
registerOnSharedPreferenceChangeListener(listener)
|
||||
awaitClose { unregisterOnSharedPreferenceChangeListener(listener) }
|
||||
}
|
||||
Reference in New Issue
Block a user