diff --git a/app/build.gradle b/app/build.gradle index 18f94621..7308002d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -5,7 +5,7 @@ buildscript { mavenCentral() } dependencies { - classpath 'com.android.tools.build:gradle:8.5.1' + classpath 'com.android.tools.build:gradle:8.11.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20" classpath "org.jetbrains.kotlin:kotlin-android-extensions:1.9.20" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 837d337b..b9159a40 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -149,6 +149,9 @@ + diff --git a/app/src/main/java/deakin/gopher/guardian/PatientExercisePortalFragment.kt b/app/src/main/java/deakin/gopher/guardian/PatientExercisePortalFragment.kt index f2baefe2..63157263 100644 --- a/app/src/main/java/deakin/gopher/guardian/PatientExercisePortalFragment.kt +++ b/app/src/main/java/deakin/gopher/guardian/PatientExercisePortalFragment.kt @@ -7,8 +7,11 @@ import android.view.ViewGroup import android.widget.Button import android.widget.TextView import android.widget.Toast -import androidx.cardview.widget.CardView import androidx.fragment.app.Fragment +import androidx.recyclerview.widget.GridLayoutManager +import androidx.recyclerview.widget.RecyclerView +import deakin.gopher.guardian.adapter.ExerciseAdapter +import deakin.gopher.guardian.model.ExerciseItem /** * Fragment that handles both the exercise portal and detail views @@ -16,6 +19,8 @@ import androidx.fragment.app.Fragment class PatientExercisePortalFragment : Fragment() { private var currentExerciseType: String? = null private var currentTabState: TabState = TabState.TO_DO + private lateinit var adapter: ExerciseAdapter + private lateinit var recyclerView: RecyclerView enum class TabState { TO_DO, @@ -23,12 +28,18 @@ class PatientExercisePortalFragment : Fragment() { COMPLETED, } + private val allExercises = + listOf( + ExerciseItem("flexibility", "Flexibility", R.drawable.stretching), + ExerciseItem("strength", "Strength", R.drawable.walking2), + ExerciseItem("breathing", "Breathing", R.drawable.breathing), + ExerciseItem("balance", "Balance", R.drawable.balance), + ExerciseItem("cardio", "Cardio", R.drawable.walking2), + ) + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - - arguments?.let { - currentExerciseType = it.getString("exercise_type") - } + currentExerciseType = arguments?.getString("exercise_type") } override fun onCreateView( @@ -45,9 +56,9 @@ class PatientExercisePortalFragment : Fragment() { when (currentExerciseType) { "flexibility" -> R.layout.activity_exercise_flexibility_module "strength" -> R.layout.activity_exercise_strength_module - // "breathing" -> R.layout.activity_exercise_breathing_module //PR not yet approved - // "balance" -> R.layout.activity_exercise_balance_module //PR not yet approved "cardio" -> R.layout.activity_exercise_cardio_module +// "breathing" -> R.layout.activity_exercise_breathing //PR not yet approved +// "balance" -> R.layout.activity_exercise_balance //PR not yet approved else -> R.layout.activity_exercise_flexibility_module } val view = inflater.inflate(layoutResId, container, false) @@ -56,142 +67,80 @@ class PatientExercisePortalFragment : Fragment() { } } - override fun onResume() { - super.onResume() - - if (currentExerciseType == null) { - view?.let { updateExerciseVisibility(it, currentTabState) } - } - } - private fun setupPortalView(view: View) { - try { - currentTabState = TabState.TO_DO - - view.findViewById(R.id.flexibilityCard)?.setOnClickListener { - navigateToExercise("flexibility") - } - - view.findViewById(R.id.strengthCard)?.setOnClickListener { - navigateToExercise("strength") - } - - view.findViewById(R.id.breathingCard)?.setOnClickListener { - navigateToExercise("breathing") - } - - view.findViewById(R.id.balanceCard)?.setOnClickListener { - navigateToExercise("balance") - } - - view.findViewById(R.id.cardioCard)?.setOnClickListener { - navigateToExercise("cardio") - } + recyclerView = view.findViewById(R.id.exerciseRecyclerView) + recyclerView.layoutManager = GridLayoutManager(context, 2) - view.findViewById(R.id.tabToDo)?.setOnClickListener { - setActiveTab(view, it as TextView) - currentTabState = TabState.TO_DO - updateExerciseVisibility(view, TabState.TO_DO) + adapter = + ExerciseAdapter(emptyList()) { item -> + navigateToExercise(item.type) } + recyclerView.adapter = adapter - view.findViewById(R.id.tabInProgress)?.setOnClickListener { - setActiveTab(view, it as TextView) - currentTabState = TabState.IN_PROGRESS - updateExerciseVisibility(view, TabState.IN_PROGRESS) - } - - view.findViewById(R.id.tabCompleted)?.setOnClickListener { - setActiveTab(view, it as TextView) - currentTabState = TabState.COMPLETED - updateExerciseVisibility(view, TabState.COMPLETED) - } + view.findViewById(R.id.tabToDo)?.setOnClickListener { + setActiveTab(view, it as TextView) + currentTabState = TabState.TO_DO + updateRecyclerView() + } - view.findViewById