From d365bbcfe02e0405320e3dd6b114a06b0f5829a8 Mon Sep 17 00:00:00 2001 From: Mariya Date: Tue, 12 Mar 2024 16:31:31 +0530 Subject: [PATCH] added changes related to new listed features for v2.0 admin AssuranceControlsFragment --- .../hpostesting/data/constant/Constants.kt | 1 + .../hpostesting/data/dao/MyDataBase.kt | 2 +- .../data/model/patient/HemoCubeTestData.kt | 1 + .../assurance/AssuranceControlsFragment.kt | 56 +++++++-- .../hemocube/HemoCubeViewModel.kt | 2 + .../layout/fragment_assurance_controls.xml | 17 +++ .../layout/fragment_hemo_cube_reference.xml | 111 +++++++++--------- app/src/main/res/values/strings.xml | 2 +- 8 files changed, 127 insertions(+), 65 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/data/constant/Constants.kt b/app/src/main/java/com/example/hpostesting/data/constant/Constants.kt index a9b4632..3c613cb 100644 --- a/app/src/main/java/com/example/hpostesting/data/constant/Constants.kt +++ b/app/src/main/java/com/example/hpostesting/data/constant/Constants.kt @@ -55,6 +55,7 @@ object Constants { const val USER_ID = "usernameId" const val QUICK_CAPTURE_SOLUTION = "SOLUTION" + const val QUICK_CAPTURE_FOR_ADMIN = "ADMIN" const val QUICK_CAPTURE_CONCENTRATION = "CONCENTRATION" const val QUICK_CAPTURE_VOLUME = "VOLUME" const val QUICK_CAPTURE_READING_PER_SAMPLE = "READING_PER_SAMPLE" diff --git a/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt b/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt index 6776455..002fb30 100644 --- a/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt +++ b/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt @@ -10,7 +10,7 @@ import com.example.hpostesting.data.model.patient.UserData @Database( entities = [UserData::class, HemoCubeTestData::class, DeviceData::class, BufferCheckData::class], - version = 29, + version = 30, exportSchema = false ) @TypeConverters(Converters::class) diff --git a/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt b/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt index 88fbf60..2f7a862 100644 --- a/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt +++ b/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt @@ -90,6 +90,7 @@ data class HemoCubeTestData( var quickCapture: Boolean = false, var solution: String? = "", var concentration: String? = "", + var filter: String? = "", var volume: String? = "", var isCSVCreated: Boolean = false, ) diff --git a/app/src/main/java/com/example/hpostesting/presentation/assurance/AssuranceControlsFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/assurance/AssuranceControlsFragment.kt index df19e76..433c31a 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/assurance/AssuranceControlsFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/assurance/AssuranceControlsFragment.kt @@ -44,7 +44,6 @@ class AssuranceControlsFragment : Fragment() { private fun initViews() { // binding.btnSubmit.visibility = View.GONE - val solutionSpinner: Spinner = binding.spinnerSolutions val solutionOptions = arrayOf("Select solution", "Tartrazine", "Acid Red") val solutionAdapter = @@ -123,6 +122,27 @@ class AssuranceControlsFragment : Fragment() { } } + + val adminspinner: Spinner = binding.spinnerAdmin + val adminOptions = arrayOf("Select options", "Sickle-Cert-Buffer", "1 Abs Holo Filter", "0.25 Abs Holo Filter", "Air Blank") + val adminAdapter = + ArrayAdapter(requireContext(), R.layout.simple_spinner_item, adminOptions) + adminAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item) + adminspinner.adapter =adminAdapter + adminspinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, + view: View?, + position: Int, + id: Long, + ) { + val selectedValue: String = adminOptions[position] + + } + + override fun onNothingSelected(parent: AdapterView<*>?) { + } + } // load saved values val savedSolution = sharedPreferences.getString(Constants.QUICK_CAPTURE_SOLUTION, "").toString() @@ -139,18 +159,30 @@ class AssuranceControlsFragment : Fragment() { val volumePosition = getPositionOfValue(savedVolume, volumeOptions.toList()) volumeSpinner.setSelection(volumePosition) + + val foradmin = + sharedPreferences.getString(Constants.QUICK_CAPTURE_FOR_ADMIN, "").toString() + val adminPosition = getPositionOfValue(foradmin, adminOptions.toList()) + adminspinner.setSelection(adminPosition) + binding.btnSubmit.setOnClickListener { val selectedSolution = binding.spinnerSolutions.selectedItem.toString() val selectedConcentration = binding.spinnerConcentration.selectedItem.toString() + val selectedadminOption = binding.spinnerAdmin.selectedItem.toString() // Check if any of the selections are default values - if (selectedSolution == "Select solution") { - Toast.makeText(requireContext(), "Please select a solution", Toast.LENGTH_LONG).show() - return@setOnClickListener // Prevent further execution - } +// if (selectedSolution == "Select solution") { +// Toast.makeText(requireContext(), "Please select a solution", Toast.LENGTH_LONG).show() +// return@setOnClickListener // Prevent further execution +// } +// +// if (selectedConcentration == "Select concentration") { +// Toast.makeText(requireContext(), "Please select a concentration", Toast.LENGTH_LONG).show() +// return@setOnClickListener // Prevent further execution +// } - if (selectedConcentration == "Select concentration") { - Toast.makeText(requireContext(), "Please select a concentration", Toast.LENGTH_LONG).show() + if (selectedadminOption == "Select options") { + Toast.makeText(requireContext(), "Please select a option", Toast.LENGTH_LONG).show() return@setOnClickListener // Prevent further execution } DataHolder.hemoCubeTestData!!.quickCapture = true @@ -162,7 +194,14 @@ class AssuranceControlsFragment : Fragment() { DataHolder.hemoCubeTestData!!._id = currentUnixTime.toString() + "SMI" DataHolder.hemoCubeTestData!!.solution = binding.spinnerSolutions.selectedItem.toString() DataHolder.hemoCubeTestData!!.concentration = binding.spinnerConcentration.selectedItem.toString() - DataHolder.hemoCubeTestData!!.name = "${DataHolder.hemoCubeTestData!!.solution} ${DataHolder.hemoCubeTestData!!.concentration} ${DataHolder.hemoCubeTestData!!.volume}" + DataHolder.hemoCubeTestData!!.filter = binding.spinnerAdmin.selectedItem.toString() + if(binding.spinnerAdmin.selectedItem.toString().equals("Select options")){ + Toast.makeText(requireContext(), "Please select a option", Toast.LENGTH_LONG).show() + }else { + DataHolder.hemoCubeTestData!!.name = DataHolder.hemoCubeTestData!!.filter.toString() + } + + DataHolder.selectedTest = UserData() DataHolder.selectedTest?._id = DataHolder.hemoCubeTestData!!._id @@ -175,6 +214,7 @@ class AssuranceControlsFragment : Fragment() { DataHolder.hemoCubeTestData!!.concentration ) putString(Constants.QUICK_CAPTURE_VOLUME, DataHolder.hemoCubeTestData!!.volume) + putString(Constants.QUICK_CAPTURE_FOR_ADMIN, DataHolder.hemoCubeTestData!!.filter) apply() } diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt index 4255c32..dbb47eb 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt @@ -314,6 +314,8 @@ class HemoCubeViewModel @Inject constructor( testDetails?.solution = DataHolder.hemoCubeTestData?.solution testDetails?.concentration = DataHolder.hemoCubeTestData?.concentration testDetails?.volume = DataHolder.hemoCubeTestData?.volume + testDetails?.filter = DataHolder.hemoCubeTestData?.filter + } private fun addResultTestToDb() { diff --git a/app/src/main/res/layout/fragment_assurance_controls.xml b/app/src/main/res/layout/fragment_assurance_controls.xml index c343a7e..bc6a673 100644 --- a/app/src/main/res/layout/fragment_assurance_controls.xml +++ b/app/src/main/res/layout/fragment_assurance_controls.xml @@ -39,6 +39,7 @@ + + + + +