From d317daf38dc9af4c3995a4ff3d977c6ee7987846 Mon Sep 17 00:00:00 2001 From: v228a <v228a@proton.me> Date: Wed, 19 Feb 2025 12:08:48 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A1=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=D0=B3=D0=BE=20=D0=B4=D0=BB=D1=8F=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB?= =?UTF-8?q?=D1=8F.=20=D0=94=D0=BB=D1=8F=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B1=D1=8B=D0=BB=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle.kts | 4 ++ .../work/ui/entrylist/EntryListFragment.kt | 31 ++++++++++++++++ .../work/ui/entrylist/EntryListViewModel.kt | 7 ++++ .../main/res/layout/fragment_entry_list.xml | 37 +++++++++++++++++++ build.gradle.kts | 1 + 5 files changed, 80 insertions(+) create mode 100644 app/src/main/java/ru/myitschool/work/ui/entrylist/EntryListFragment.kt create mode 100644 app/src/main/java/ru/myitschool/work/ui/entrylist/EntryListViewModel.kt create mode 100644 app/src/main/res/layout/fragment_entry_list.xml diff --git a/app/build.gradle.kts b/app/build.gradle.kts index a28d464..d666a01 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -35,6 +35,10 @@ android { } dependencies { + 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") + implementation("androidx.fragment:fragment-ktx:1.5.6") defaultLibrary() implementation(Dependencies.AndroidX.activity) diff --git a/app/src/main/java/ru/myitschool/work/ui/entrylist/EntryListFragment.kt b/app/src/main/java/ru/myitschool/work/ui/entrylist/EntryListFragment.kt new file mode 100644 index 0000000..c62933d --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/ui/entrylist/EntryListFragment.kt @@ -0,0 +1,31 @@ +package ru.myitschool.work.ui.entrylist + +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 + +class EntryListFragment : Fragment() { + + companion object { + fun newInstance() = EntryListFragment() + } + + private val viewModel: EntryListViewModel by viewModels() + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + // TODO: Use the ViewModel + } + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View { + return inflater.inflate(R.layout.fragment_entry_list, container, false) + } +} \ No newline at end of file diff --git a/app/src/main/java/ru/myitschool/work/ui/entrylist/EntryListViewModel.kt b/app/src/main/java/ru/myitschool/work/ui/entrylist/EntryListViewModel.kt new file mode 100644 index 0000000..c700666 --- /dev/null +++ b/app/src/main/java/ru/myitschool/work/ui/entrylist/EntryListViewModel.kt @@ -0,0 +1,7 @@ +package ru.myitschool.work.ui.entrylist + +import androidx.lifecycle.ViewModel + +class EntryListViewModel : ViewModel() { + // TODO: Implement the ViewModel +} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_entry_list.xml b/app/src/main/res/layout/fragment_entry_list.xml new file mode 100644 index 0000000..7b52adc --- /dev/null +++ b/app/src/main/res/layout/fragment_entry_list.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/frameLayout" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:padding="16dp" + tools:context=".ui.entrylist.EntryListFragment"> + + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/close" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:clickable="true" + android:src="@drawable/ic_close" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <TextView + android:id="@+id/textView3" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="TextView" + app:layout_constraintBottom_toBottomOf="@+id/close" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/close" + app:layout_constraintTop_toTopOf="@+id/close" /> + + <androidx.recyclerview.widget.RecyclerView + android:layout_width="0dp" + android:layout_height="0dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/close" /> +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 4a92e0e..cf1d650 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,4 +4,5 @@ plugins { kotlinJvm version Version.Kotlin.language apply false kotlinAnnotationProcessor version Version.Kotlin.language apply false id("com.google.dagger.hilt.android") version "2.51.1" apply false + id("org.jetbrains.kotlin.android") version "1.9.24" apply false } \ No newline at end of file From ef92c24f6b7323aa3b4e4d09404e3bec3cba9314 Mon Sep 17 00:00:00 2001 From: v228a <v228a@proton.me> Date: Wed, 19 Feb 2025 12:14:07 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=A1=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=D0=B3=D0=BE=20=D0=B4=D0=BB=D1=8F=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB?= =?UTF-8?q?=D1=8F.=20=D0=94=D0=BB=D1=8F=20=D0=B0=D0=B4=D0=BC=D0=B8=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B1=D1=8B=D0=BB=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work/ui/entrylast/EntryListFragment.kt | 38 ------------------- .../work/ui/entrylast/EntryListViewModel.kt | 7 ---- .../main/res/layout/fragment_entry_list.xml | 37 +++++++++++++++--- 3 files changed, 31 insertions(+), 51 deletions(-) delete mode 100644 app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListFragment.kt delete mode 100644 app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListViewModel.kt 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 deleted file mode 100644 index ecdc58c..0000000 --- a/app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListFragment.kt +++ /dev/null @@ -1,38 +0,0 @@ -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 deleted file mode 100644 index 2476f6d..0000000 --- a/app/src/main/java/ru/myitschool/work/ui/entrylast/EntryListViewModel.kt +++ /dev/null @@ -1,7 +0,0 @@ -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/res/layout/fragment_entry_list.xml b/app/src/main/res/layout/fragment_entry_list.xml index 4aeab52..8cd7d6c 100644 --- a/app/src/main/res/layout/fragment_entry_list.xml +++ b/app/src/main/res/layout/fragment_entry_list.xml @@ -1,13 +1,38 @@ <?xml version="1.0" encoding="utf-8"?> -<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" + android:id="@+id/frameLayout2" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".ui.entrylast.EntryListFragment"> + android:padding="16dp" + tools:context=".ui.entrylist.EntryListFragment"> + + <com.google.android.material.floatingactionbutton.FloatingActionButton + android:id="@+id/floatingActionButton2" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:clickable="true" + android:src="@drawable/ic_close" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> <TextView - android:layout_width="match_parent" - android:layout_height="match_parent" - android:text="Hello" /> + android:id="@+id/textView5" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:text="TextView" + app:layout_constraintBottom_toBottomOf="@+id/floatingActionButton2" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toEndOf="@+id/floatingActionButton2" + app:layout_constraintTop_toTopOf="@+id/floatingActionButton2" /> -</FrameLayout> \ No newline at end of file + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/recyclerView" + android:layout_width="0dp" + android:layout_height="645dp" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/floatingActionButton2" /> +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file