Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
5cff54dac4
@ -2,22 +2,16 @@ package ru.myitschool.work.ui.profile
|
|||||||
|
|
||||||
import android.content.DialogInterface
|
import android.content.DialogInterface
|
||||||
import android.content.res.ColorStateList
|
import android.content.res.ColorStateList
|
||||||
import android.content.res.TypedArray
|
|
||||||
import android.graphics.Color
|
|
||||||
import android.graphics.Typeface
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import androidx.annotation.Nullable
|
||||||
import androidx.appcompat.app.AlertDialog
|
import androidx.appcompat.app.AlertDialog
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.core.content.res.ResourcesCompat
|
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.viewModels
|
import androidx.fragment.app.viewModels
|
||||||
import androidx.navigation.fragment.findNavController
|
import androidx.navigation.fragment.findNavController
|
||||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
|
||||||
import com.google.android.material.internal.ThemeEnforcement.obtainStyledAttributes
|
|
||||||
import com.squareup.picasso.Picasso
|
import com.squareup.picasso.Picasso
|
||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import ru.myitschool.work.R
|
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.result.QrResultDestination
|
||||||
import ru.myitschool.work.ui.qr.scan.QrScanDestination
|
import ru.myitschool.work.ui.qr.scan.QrScanDestination
|
||||||
import ru.myitschool.work.ui.searchuser.SearchUserDestination
|
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.collectWhenStarted
|
||||||
import ru.myitschool.work.utils.visibleOrGone
|
import ru.myitschool.work.utils.visibleOrGone
|
||||||
|
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class ProfileFragment : Fragment(R.layout.fragment_profile) {
|
class ProfileFragment : Fragment(R.layout.fragment_profile) {
|
||||||
private var _binding: FragmentProfileBinding? = null
|
private var _binding: FragmentProfileBinding? = null
|
||||||
@ -54,6 +48,7 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private fun subscribe() {
|
private fun subscribe() {
|
||||||
viewModel.state.collectWhenStarted(this) { state ->
|
viewModel.state.collectWhenStarted(this) { state ->
|
||||||
binding.showState.visibleOrGone(state is ProfileViewModel.State.Show)
|
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.lastEntry.text = state.lastEntry
|
||||||
binding.fullname.text = state.fullname
|
binding.fullname.text = state.fullname
|
||||||
if (state.admin){
|
if (state.admin){
|
||||||
Toast.makeText(requireContext(), "asdasd", Toast.LENGTH_SHORT).show()
|
|
||||||
binding.admin.visibility = View.VISIBLE
|
binding.admin.visibility = View.VISIBLE
|
||||||
} else {
|
} else {
|
||||||
binding.admin.visibility = View.GONE
|
binding.admin.visibility = View.GONE
|
||||||
@ -177,6 +171,18 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
|
|||||||
binding.entryList.setOnClickListener{ viewModel.clickLog()}
|
binding.entryList.setOnClickListener{ viewModel.clickLog()}
|
||||||
binding.admin.setOnClickListener { viewModel.clickSearch() }
|
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() {
|
override fun onDestroyView() {
|
||||||
_binding = null
|
_binding = null
|
||||||
|
@ -96,6 +96,7 @@ class ProfileViewModel @Inject constructor(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
sealed interface State {
|
sealed interface State {
|
||||||
data object Loading : State
|
data object Loading : State
|
||||||
data class Error(
|
data class Error(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user