diff --git a/app/build.gradle.kts b/app/build.gradle.kts
index d666a01..941629f 100644
--- a/app/build.gradle.kts
+++ b/app/build.gradle.kts
@@ -35,6 +35,7 @@ android {
}
dependencies {
+ implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
implementation("androidx.legacy:legacy-support-v4:1.0.0")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:2.8.7")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.7")
diff --git a/app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListFragment.kt b/app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListFragment.kt
new file mode 100644
index 0000000..ecdc58c
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListFragment.kt
@@ -0,0 +1,38 @@
+package ru.myitschool.work.ui.entrylast
+
+import androidx.fragment.app.viewModels
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import ru.myitschool.work.R
+import ru.myitschool.work.databinding.FragmentEntryListBinding
+import ru.myitschool.work.databinding.FragmentLoginBinding
+import ru.myitschool.work.ui.login.LoginViewModel
+
+class EntryListFragment : Fragment(R.layout.fragment_entry_list) {
+
+ private var _binding: FragmentEntryListBinding? = null
+ private val binding: FragmentEntryListBinding get() = _binding!!
+
+ private val viewModel: LoginViewModel by viewModels()
+
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
+ _binding = FragmentEntryListBinding.bind(view)
+
+ }
+ private fun subscribe(){
+ //TODO
+ }
+
+ private fun initCallback(){
+ //TODO
+ }
+
+ override fun onDestroyView() {
+ _binding = null
+ super.onDestroyView()
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListViewModel.kt
new file mode 100644
index 0000000..2476f6d
--- /dev/null
+++ b/app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListViewModel.kt
@@ -0,0 +1,7 @@
+package ru.myitschool.work.ui.entrylast
+
+import androidx.lifecycle.ViewModel
+
+class EntryListViewModel : ViewModel() {
+ // TODO: Implement the ViewModel
+}
\ No newline at end of file
diff --git a/app/src/main/java/ru/myitschool/work/ui/profile/ProfileFragment.kt b/app/src/main/java/ru/myitschool/work/ui/profile/ProfileFragment.kt
index ea901a4..ae9b7a7 100644
--- a/app/src/main/java/ru/myitschool/work/ui/profile/ProfileFragment.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/profile/ProfileFragment.kt
@@ -5,6 +5,7 @@ import android.view.View
import androidx.fragment.app.Fragment
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout
import com.squareup.picasso.Picasso
import dagger.hilt.android.AndroidEntryPoint
import ru.myitschool.work.R
@@ -22,11 +23,20 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
private val viewModel: ProfileViewModel by viewModels()
+ private lateinit var swipeRefreshLayout: SwipeRefreshLayout
+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
_binding = FragmentProfileBinding.bind(view)
+
initCallback()
subscribe()
+
+ swipeRefreshLayout = binding.swipeRefreshLayout
+
+ swipeRefreshLayout.setOnRefreshListener {
+ viewModel.updateUserInfo()
+ }
}
private fun subscribe() {
@@ -36,11 +46,15 @@ class ProfileFragment : Fragment(R.layout.fragment_profile) {
binding.loading.visibleOrGone(state is ProfileViewModel.State.Loading)
when(state) {
- is ProfileViewModel.State.Loading -> Unit
+ is ProfileViewModel.State.Loading -> {
+ swipeRefreshLayout.isRefreshing = true
+ }
is ProfileViewModel.State.Error -> {
+ swipeRefreshLayout.isRefreshing = false
binding.error.text = state.errorText
}
is ProfileViewModel.State.Show -> {
+ swipeRefreshLayout.isRefreshing = false
binding.fullname.text = state.fullname
binding.position.text = state.position
binding.lastEntry.text = state.lastEntry
diff --git a/app/src/main/java/ru/myitschool/work/ui/profile/ProfileViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/profile/ProfileViewModel.kt
index b4210fb..680cf1d 100644
--- a/app/src/main/java/ru/myitschool/work/ui/profile/ProfileViewModel.kt
+++ b/app/src/main/java/ru/myitschool/work/ui/profile/ProfileViewModel.kt
@@ -52,7 +52,7 @@ class ProfileViewModel @Inject constructor(
}
}
- private fun updateUserInfo() {
+ fun updateUserInfo() {
viewModelScope.launch {
_state.update { State.Loading }
getUserInfoUseCase.get().invoke().fold(
diff --git a/app/src/main/res/layout/fragment_entry_list.xml b/app/src/main/res/layout/fragment_entry_list.xml
index 7b52adc..4aeab52 100644
--- a/app/src/main/res/layout/fragment_entry_list.xml
+++ b/app/src/main/res/layout/fragment_entry_list.xml
@@ -1,37 +1,13 @@
-
-
-
+ tools:context=".ui.entrylast.EntryListFragment">
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="Hello" />
-
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml
index 2a92b15..0a4589a 100644
--- a/app/src/main/res/layout/fragment_login.xml
+++ b/app/src/main/res/layout/fragment_login.xml
@@ -12,18 +12,38 @@
android:orientation="vertical"
android:paddingStart="16dp"
android:paddingEnd="16dp"
- app:constraint_referenced_ids="text_welcome, input_username, input_password, login"
+ app:constraint_referenced_ids="log"
app:flow_verticalGap="32dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
+
+ android:text="@string/login_login" />
+
+
+ android:layout_height="58dp"
+ tools:ignore="MissingConstraints">
+
-
+
@@ -117,4 +122,5 @@
app:layout_constraintEnd_toEndOf="parent" />
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings_login.xml b/app/src/main/res/values/strings_login.xml
index 888f173..6e2d84a 100644
--- a/app/src/main/res/values/strings_login.xml
+++ b/app/src/main/res/values/strings_login.xml
@@ -4,5 +4,7 @@
Login
Something wrong
Password
- Добро пожаловать
+ Добро пожаловать!
+ Войдите чтобы продолжить
+ Войти
\ No newline at end of file