diff --git a/app/src/main/java/com/displaynone/acss/ui/profile/ProfileFragment.kt b/app/src/main/java/com/displaynone/acss/ui/profile/ProfileFragment.kt index 6909c5f..6f947cc 100644 --- a/app/src/main/java/com/displaynone/acss/ui/profile/ProfileFragment.kt +++ b/app/src/main/java/com/displaynone/acss/ui/profile/ProfileFragment.kt @@ -48,12 +48,10 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) { if (getIsMe()) { refreshData() - viewModel.visitListState.collectWithLifecycle(this) { data -> adapter.submitData(data) } // waitForQRScanResult() } else { showData(getUserDto()!!) binding.backToSearch.visibility = View.VISIBLE - binding.backToSearch.setOnClickListener { navigateTo(view, R.id.action_profileFragment_to_adminFragment) } @@ -72,7 +70,6 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) { val userDTO = UserServiceST.getInstance().getUserDTO() ?: return Log.d("1234", userDTO.isACSBlocked.toString()) - binding.rightsUsingSmartphone.text = if (userDTO.isACSBlocked) "Пропуск недействителен" else "Пропуск действителен" } private fun hideButtons() { @@ -111,6 +108,9 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) { private fun refreshData() { viewModel.getInfo() + viewModel.visitListState.collectWithLifecycle(this) { data -> + adapter.submitData(data) + } subscribeToGetData() } @@ -171,9 +171,16 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) { showMyData(userDto) checkForAdmin() } + if (state is ProfileViewModel.State.Error){ + handleError(state.errorMessage) + } } } + private fun handleError(errorMessage: String) { +// TODO() + } + private fun setAvatar(photo: String) { Glide.with(requireContext()) .load(photo) diff --git a/app/src/main/java/com/displaynone/acss/ui/profile/ProfileViewModel.kt b/app/src/main/java/com/displaynone/acss/ui/profile/ProfileViewModel.kt index be4150c..441d336 100644 --- a/app/src/main/java/com/displaynone/acss/ui/profile/ProfileViewModel.kt +++ b/app/src/main/java/com/displaynone/acss/ui/profile/ProfileViewModel.kt @@ -63,7 +63,8 @@ class ProfileViewModel() : ViewModel() { Log.d("Pvm", data.login) }, onFailure = { error -> - error.message?.let { error(it) } //FIXME() +// error.message?.let { error(it) } + _state.emit(State.Error(error.message.toString())) Log.e("ProfileViewModel", error.message.toString()) } ) @@ -105,6 +106,9 @@ class ProfileViewModel() : ViewModel() { data class Change( val item: Boolean ) : State + data class Error( + val errorMessage: String + ) : State } sealed interface Action {