![]() Switch from LiveData to StateFlow. While LiveData is a pretty good data storage/observer mechanism, it has a few flaws: - Values are always nullable in LiveData, even if you make them non-null. - LiveData can only be mutated on Dispatchers.Main, which frustrates possible additions like a more fine-grained music status system. - LiveData's perks are exclusive to ViewModels, which made coupling with shared objects somewhat cumbersome. StateFlow solves all of these by being a native coroutine solution with proper android bindings. Use it instead. |
||
---|---|---|
.. | ||
SearchAdapter.kt | ||
SearchFragment.kt | ||
SearchViewModel.kt |