Merge remote-tracking branch 'origin/main'

This commit is contained in:
Juja2025 2025-02-20 11:36:01 +03:00
commit 5cff54dac4
2 changed files with 16 additions and 9 deletions

View File

@ -2,22 +2,16 @@ package ru.myitschool.work.ui.profile
import android.content.DialogInterface
import android.content.res.ColorStateList
import android.content.res.TypedArray
import android.graphics.Color
import android.graphics.Typeface
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.TextView
import android.widget.Toast
import androidx.annotation.Nullable
import androidx.appcompat.app.AlertDialog
import androidx.core.content.ContextCompat
import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes
import com.squareup.picasso.Picasso
import dagger.hilt.android.AndroidEntryPoint
import ru.myitschool.work.R
@ -27,10 +21,10 @@ import ru.myitschool.work.ui.login.LoginDestination
import ru.myitschool.work.ui.qr.result.QrResultDestination
import ru.myitschool.work.ui.qr.scan.QrScanDestination
import ru.myitschool.work.ui.searchuser.SearchUserDestination
import ru.myitschool.work.ui.searchuser.SearchUserFragment
import ru.myitschool.work.utils.collectWhenStarted
import ru.myitschool.work.utils.visibleOrGone
@AndroidEntryPoint
class ProfileFragment : Fragment(R.layout.fragment_profile) {
private var _binding: FragmentProfileBinding? = null
@ -54,6 +48,7 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
}
}
private fun subscribe() {
viewModel.state.collectWhenStarted(this) { state ->
binding.showState.visibleOrGone(state is ProfileViewModel.State.Show)
@ -74,7 +69,6 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
binding.lastEntry.text = state.lastEntry
binding.fullname.text = state.fullname
if (state.admin){
Toast.makeText(requireContext(), "asdasd", Toast.LENGTH_SHORT).show()
binding.admin.visibility = View.VISIBLE
} else {
binding.admin.visibility = View.GONE
@ -177,6 +171,18 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
binding.entryList.setOnClickListener{ viewModel.clickLog()}
binding.admin.setOnClickListener { viewModel.clickSearch() }
}
//Вызывается перед уничтожением фрагмента
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
// Сохранение состояния
viewModel.updateUserInfo()
}
//Когда востанавлиеваетсья
override fun onViewStateRestored(@Nullable savedInstanceState: Bundle?) {
super.onViewStateRestored(savedInstanceState)
// Восстановление состояния
viewModel.updateUserInfo()
}
override fun onDestroyView() {
_binding = null

View File

@ -96,6 +96,7 @@ class ProfileViewModel @Inject constructor(
}
}
sealed interface State {
data object Loading : State
data class Error(