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 @@
+
+
+
+
+
-
+ app:layout_constraintTop_toBottomOf="@id/tv_subtitle4">
+
+
+
-
+
-
-
-
+
+ app:layout_constraintTop_toBottomOf="@id/ll_btns" />
+ app:layout_constraintTop_toBottomOf="@id/ll_btns" />