Ignore duplicate start destination updates

This commit is contained in:
Kirill Kamakin
2022-10-31 21:23:03 +01:00
parent 0487a5c038
commit 610f3e9377
2 changed files with 13 additions and 1 deletions

View File

@@ -6,6 +6,8 @@ import android.widget.TextView
import androidx.annotation.StringRes
import androidx.core.widget.doAfterTextChanged
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer
import androidx.lifecycle.lifecycleScope
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.google.android.material.textfield.TextInputLayout
@@ -84,4 +86,13 @@ fun <T> SharedPreferences.prefsChangeFlow(
sendValue()
registerOnSharedPreferenceChangeListener(listener)
awaitClose { unregisterOnSharedPreferenceChangeListener(listener) }
}
fun <T> LiveData<T>.observeOnce(lifecycleOwner: LifecycleOwner, observer: Observer<T>) {
observe(lifecycleOwner, object : Observer<T> {
override fun onChanged(value: T) {
removeObserver(this)
observer.onChanged(value)
}
})
}