Есть фрагмент, который держит ссылку на ViewModel. Внутри ViewModel есть несколько полей типа LiveData, с данными.
В OnCreateView() фрагмента есть слушатели на LiveData нашей ViewModel.
Например вот этот:
viewModel.networkState.observe(viewLifecycleOwner, Observer {
when(it){
NetworkState.LOADING -> activityContract.showProgressBar()
NetworkState.LOADED -> activityContract.hideProgressBar()
NetworkState.NO_INTERNET ->activityContract.showErrorDialog(NetworkState.NO_INTERNET.msg)
NetworkState.ERROR -> activityContract.showErrorDialog(NetworkState.ERROR.msg)
NetworkState.API_LIMIT_EXCEEDED -> activityContract.showErrorDialog(NetworkState.API_LIMIT_EXCEEDED.msg)
}
})
При перевороте экрана эти слушатели срабатывают, хотя никаких обновлений данных LiveData не было.
Я покрыл логами все методы, которые отвечают за изменение данных и не нашел ни одного, который бы отработал при перевороте. В слушатели попадают теже самые данные, которые лежали в LiveData до переворота.
Это такая особенность работы ViewModel + LiveData или всё таки я где то ошибаюсь?