From a8565139200dab86f56777c9f26ba1c4c9202da3 Mon Sep 17 00:00:00 2001 From: biloute02 Date: Tue, 19 Dec 2023 22:38:08 +0100 Subject: [PATCH] =?UTF-8?q?View=20Model=20visible=20dans=20le=20navgraph.?= =?UTF-8?q?=20D=C3=A9but=20d=E2=80=99une=20liste=20de=20pr=C3=A9sence=20At?= =?UTF-8?q?tendanceListFragment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../example/palto/ui/login/LoginFragment.kt | 10 +++--- .../session/AttendanceListFragment.kt} | 16 ++++++---- .../MyAttendanceRecyclerViewAdapter.kt} | 16 ++++++---- .../placeholder/PlaceholderContent.kt | 2 +- .../palto/ui/sheet/SheetDetailFragment.kt | 32 ------------------- .../palto/ui/sheet/SheetDetailViewModel.kt | 7 ---- ...gment_item.xml => fragment_attendance.xml} | 0 ..._list.xml => fragment_attendance_list.xml} | 6 ++-- app/src/main/res/layout/fragment_login.xml | 10 +++--- .../main/res/layout/fragment_sheet_detail.xml | 13 -------- app/src/main/res/navigation/nav_graph.xml | 23 ++++--------- app/src/main/res/values/strings.xml | 1 + 12 files changed, 40 insertions(+), 96 deletions(-) rename app/src/main/java/com/example/palto/{ItemFragment.kt => ui/session/AttendanceListFragment.kt} (75%) rename app/src/main/java/com/example/palto/{MyItemRecyclerViewAdapter.kt => ui/session/MyAttendanceRecyclerViewAdapter.kt} (69%) rename app/src/main/java/com/example/palto/{ => ui/session}/placeholder/PlaceholderContent.kt (96%) delete mode 100644 app/src/main/java/com/example/palto/ui/sheet/SheetDetailFragment.kt delete mode 100644 app/src/main/java/com/example/palto/ui/sheet/SheetDetailViewModel.kt rename app/src/main/res/layout/{fragment_item.xml => fragment_attendance.xml} (100%) rename app/src/main/res/layout/{fragment_item_list.xml => fragment_attendance_list.xml} (73%) delete mode 100644 app/src/main/res/layout/fragment_sheet_detail.xml diff --git a/app/src/main/java/com/example/palto/ui/login/LoginFragment.kt b/app/src/main/java/com/example/palto/ui/login/LoginFragment.kt index 5725487..0a837b7 100644 --- a/app/src/main/java/com/example/palto/ui/login/LoginFragment.kt +++ b/app/src/main/java/com/example/palto/ui/login/LoginFragment.kt @@ -16,13 +16,16 @@ import android.widget.EditText import android.widget.ProgressBar import android.widget.Toast import androidx.navigation.fragment.findNavController +import androidx.navigation.navGraphViewModels import com.example.palto.databinding.FragmentLoginBinding import com.example.palto.R class LoginFragment : Fragment() { - private lateinit var loginViewModel: LoginViewModel + private val loginViewModel: LoginViewModel by + navGraphViewModels (R.id.nav_graph) { LoginViewModelFactory() } + private var _binding: FragmentLoginBinding? = null // This property is only valid between onCreateView and @@ -37,13 +40,10 @@ class LoginFragment : Fragment() { _binding = FragmentLoginBinding.inflate(inflater, container, false) return binding.root - } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - loginViewModel = ViewModelProvider(this, LoginViewModelFactory()) - .get(LoginViewModel::class.java) val hostnameEditText = binding.hostname val usernameEditText = binding.username @@ -77,7 +77,7 @@ class LoginFragment : Fragment() { showLoginFailed(it) } loginResult.success?.let { - findNavController().navigate(R.id.action_loginFragment_to_itemFragment) + findNavController().navigate(R.id.action_loginFragment_to_attendanceFragment) //updateUiWithUser(it) } }) diff --git a/app/src/main/java/com/example/palto/ItemFragment.kt b/app/src/main/java/com/example/palto/ui/session/AttendanceListFragment.kt similarity index 75% rename from app/src/main/java/com/example/palto/ItemFragment.kt rename to app/src/main/java/com/example/palto/ui/session/AttendanceListFragment.kt index c4c3d0c..f62d83c 100644 --- a/app/src/main/java/com/example/palto/ItemFragment.kt +++ b/app/src/main/java/com/example/palto/ui/session/AttendanceListFragment.kt @@ -1,4 +1,4 @@ -package com.example.palto +package com.example.palto.ui.session import android.os.Bundle import androidx.fragment.app.Fragment @@ -8,12 +8,13 @@ import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup -import com.example.palto.placeholder.PlaceholderContent +import com.example.palto.R +import com.example.palto.ui.session.placeholder.PlaceholderContent /** * A fragment representing a list of Items. */ -class ItemFragment : Fragment() { +class AttendanceListFragment : Fragment() { private var columnCount = 1 @@ -26,10 +27,11 @@ class ItemFragment : Fragment() { } override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, + inflater: LayoutInflater, + container: ViewGroup?, savedInstanceState: Bundle? ): View? { - val view = inflater.inflate(R.layout.fragment_item_list, container, false) + val view = inflater.inflate(R.layout.fragment_attendance_list, container, false) // Set the adapter if (view is RecyclerView) { @@ -38,7 +40,7 @@ class ItemFragment : Fragment() { columnCount <= 1 -> LinearLayoutManager(context) else -> GridLayoutManager(context, columnCount) } - adapter = MyItemRecyclerViewAdapter(PlaceholderContent.ITEMS) + adapter = MyAttendanceRecyclerViewAdapter(PlaceholderContent.ITEMS) } } return view @@ -52,7 +54,7 @@ class ItemFragment : Fragment() { // TODO: Customize parameter initialization @JvmStatic fun newInstance(columnCount: Int) = - ItemFragment().apply { + AttendanceListFragment().apply { arguments = Bundle().apply { putInt(ARG_COLUMN_COUNT, columnCount) } diff --git a/app/src/main/java/com/example/palto/MyItemRecyclerViewAdapter.kt b/app/src/main/java/com/example/palto/ui/session/MyAttendanceRecyclerViewAdapter.kt similarity index 69% rename from app/src/main/java/com/example/palto/MyItemRecyclerViewAdapter.kt rename to app/src/main/java/com/example/palto/ui/session/MyAttendanceRecyclerViewAdapter.kt index 4b8bd0d..0c4a8ba 100644 --- a/app/src/main/java/com/example/palto/MyItemRecyclerViewAdapter.kt +++ b/app/src/main/java/com/example/palto/ui/session/MyAttendanceRecyclerViewAdapter.kt @@ -1,26 +1,27 @@ -package com.example.palto +package com.example.palto.ui.session import androidx.recyclerview.widget.RecyclerView import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.TextView +import com.example.palto.R -import com.example.palto.placeholder.PlaceholderContent.PlaceholderItem -import com.example.palto.databinding.FragmentItemBinding +import com.example.palto.ui.session.placeholder.PlaceholderContent.PlaceholderItem +import com.example.palto.databinding.FragmentAttendanceBinding /** * [RecyclerView.Adapter] that can display a [PlaceholderItem]. * TODO: Replace the implementation with code for your data type. */ -class MyItemRecyclerViewAdapter( +class MyAttendanceRecyclerViewAdapter( private val values: List -) : RecyclerView.Adapter() { +) : RecyclerView.Adapter() { override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { return ViewHolder( - FragmentItemBinding.inflate( + FragmentAttendanceBinding.inflate( LayoutInflater.from(parent.context), parent, false @@ -37,7 +38,8 @@ class MyItemRecyclerViewAdapter( override fun getItemCount(): Int = values.size - inner class ViewHolder(binding: FragmentItemBinding) : RecyclerView.ViewHolder(binding.root) { + inner class ViewHolder(binding: FragmentAttendanceBinding) : + RecyclerView.ViewHolder(binding.root) { val idView: TextView = binding.itemNumber val contentView: TextView = binding.content diff --git a/app/src/main/java/com/example/palto/placeholder/PlaceholderContent.kt b/app/src/main/java/com/example/palto/ui/session/placeholder/PlaceholderContent.kt similarity index 96% rename from app/src/main/java/com/example/palto/placeholder/PlaceholderContent.kt rename to app/src/main/java/com/example/palto/ui/session/placeholder/PlaceholderContent.kt index 553c509..be71ed7 100644 --- a/app/src/main/java/com/example/palto/placeholder/PlaceholderContent.kt +++ b/app/src/main/java/com/example/palto/ui/session/placeholder/PlaceholderContent.kt @@ -1,4 +1,4 @@ -package com.example.palto.placeholder +package com.example.palto.ui.session.placeholder import java.util.ArrayList import java.util.HashMap diff --git a/app/src/main/java/com/example/palto/ui/sheet/SheetDetailFragment.kt b/app/src/main/java/com/example/palto/ui/sheet/SheetDetailFragment.kt deleted file mode 100644 index e8a98c2..0000000 --- a/app/src/main/java/com/example/palto/ui/sheet/SheetDetailFragment.kt +++ /dev/null @@ -1,32 +0,0 @@ -package com.example.palto.ui.sheet - -import androidx.lifecycle.ViewModelProvider -import android.os.Bundle -import androidx.fragment.app.Fragment -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup -import com.example.palto.R - -class SheetDetailFragment : Fragment() { - - companion object { - fun newInstance() = SheetDetailFragment() - } - - private lateinit var viewModel: SheetDetailViewModel - - override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, - savedInstanceState: Bundle? - ): View? { - return inflater.inflate(R.layout.fragment_sheet_detail, container, false) - } - - override fun onActivityCreated(savedInstanceState: Bundle?) { - super.onActivityCreated(savedInstanceState) - viewModel = ViewModelProvider(this).get(SheetDetailViewModel::class.java) - // TODO: Use the ViewModel - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/example/palto/ui/sheet/SheetDetailViewModel.kt b/app/src/main/java/com/example/palto/ui/sheet/SheetDetailViewModel.kt deleted file mode 100644 index d32a102..0000000 --- a/app/src/main/java/com/example/palto/ui/sheet/SheetDetailViewModel.kt +++ /dev/null @@ -1,7 +0,0 @@ -package com.example.palto.ui.sheet - -import androidx.lifecycle.ViewModel - -class SheetDetailViewModel : ViewModel() { - // TODO: Implement the ViewModel -} \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_item.xml b/app/src/main/res/layout/fragment_attendance.xml similarity index 100% rename from app/src/main/res/layout/fragment_item.xml rename to app/src/main/res/layout/fragment_attendance.xml diff --git a/app/src/main/res/layout/fragment_item_list.xml b/app/src/main/res/layout/fragment_attendance_list.xml similarity index 73% rename from app/src/main/res/layout/fragment_item_list.xml rename to app/src/main/res/layout/fragment_attendance_list.xml index 435cfa1..55cc8dd 100644 --- a/app/src/main/res/layout/fragment_item_list.xml +++ b/app/src/main/res/layout/fragment_attendance_list.xml @@ -3,11 +3,11 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/list" - android:name="com.example.palto.ItemFragment" + android:name="com.example.palto.ui.session.AttendanceFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="16dp" android:layout_marginRight="16dp" app:layoutManager="LinearLayoutManager" - tools:context=".ItemFragment" - tools:listitem="@layout/fragment_item" /> \ No newline at end of file + tools:context=".ui.session.AttendanceListFragment" + tools:listitem="@layout/fragment_attendance" /> \ 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 8b8c0bb..96f7159 100644 --- a/app/src/main/res/layout/fragment_login.xml +++ b/app/src/main/res/layout/fragment_login.xml @@ -18,7 +18,7 @@ android:layout_marginStart="24dp" android:layout_marginTop="64dp" android:layout_marginEnd="24dp" - android:autofillHints="@string/prompt_server" + android:autofillHints="@string/prompt_hostname" android:hint="@string/prompt_hostname" android:inputType="text" android:selectAllOnFocus="true" @@ -56,17 +56,17 @@ android:imeOptions="actionDone" android:inputType="textPassword" android:selectAllOnFocus="true" - app:layout_constraintBottom_toTopOf="@+id/helpmsg" + app:layout_constraintBottom_toTopOf="@+id/help_message" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.5" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/username" /> - - - - - \ No newline at end of file diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index d2369ad..e30f111 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -7,24 +7,15 @@ + android:id="@+id/action_loginFragment_to_attendanceFragment" + app:destination="@id/attendanceFragment" /> - + android:id="@+id/attendanceFragment" + android:name="com.example.palto.ui.session.AttendanceListFragment" + android:label="fragment_attendance_list" + tools:layout="@layout/fragment_attendance_list" /> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1ece3a9..51b4ac6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -11,4 +11,5 @@ Nom d’utilisateur non valide Mot de passe invalide "Erreur de connexion !" + Identifiants Invalides \ No newline at end of file