private void ProcessViewModelState(ViewModelState state) { Log.Info($"Processing view model state {state}"); if (state.IsRefreshed) { Log.Info("Refreshing set to false"); _refreshLayout.Refreshing = false; } _loader.SetIsVisible(state.Display == DisplayState.Loading); if (_refreshLayout.SetIsVisible(state.Display == DisplayState.Result)) { UpdateRecyclerView(state.Error, state.IsRefreshed); } if (_errorViewSwitcher.SetIsVisible(state.Display == DisplayState.Error)) { _errorViewSwitcher.Switch(state.Error); } Log.Info( string.Format( "End of ProcessViewModelState: loader {0}, refreshLayout {1}, error view {2}", _loader.GetVisibilityDescription(), _refreshLayout.GetVisibilityDescription(), _errorViewSwitcher.GetVisibilitDescription())); }