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 0acade9..6d0d083 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 @@ -53,6 +53,11 @@ object Constants { const val USER_ID = "usernameId" + const val QUICK_CAPTURE_SOLUTION = "SOLUTION" + const val QUICK_CAPTURE_CONCENTRATION = "CONCENTRATION" + const val QUICK_CAPTURE_VOLUME = "VOLUME" + const val QUICK_CAPTURE_READING_PER_SAMPLE = "READING_PER_SAMPLE" + val STATICID = listOf( "FACTORY", "ADMIN", 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 9239671..cba8ef7 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 @@ -15,6 +15,7 @@ import android.widget.Spinner import androidx.annotation.RequiresApi import androidx.fragment.app.Fragment import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.model.patient.UserData import com.example.hpostesting.presentation.hemocube.HemocubeActivity import `in`.sminnovations.hpostesting.databinding.FragmentAssuranceControlsBinding @@ -107,6 +108,19 @@ class AssuranceControlsFragment: Fragment() { } } + // load saved values + val savedSolution = sharedPreferences.getString(Constants.QUICK_CAPTURE_SOLUTION, "").toString() + val solutionPosition = getPositionOfValue(savedSolution, solutionOptions.toList()) + solutionSpinner.setSelection(solutionPosition) + + val savedConcentration = sharedPreferences.getString(Constants.QUICK_CAPTURE_CONCENTRATION, "").toString() + val concentrationPosition = getPositionOfValue(savedConcentration, concentrationOptions.toList()) + concentrationSpinner.setSelection(concentrationPosition) + + val savedVolume = sharedPreferences.getString(Constants.QUICK_CAPTURE_VOLUME, "").toString() + val volumePosition = getPositionOfValue(savedVolume, volumeOptions.toList()) + volumeSpinner.setSelection(volumePosition) + binding.btnSubmit.setOnClickListener { DataHolder.hemoCubeTestData!!.quickCapture = true val currentUnixTime = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { @@ -121,8 +135,27 @@ class AssuranceControlsFragment: Fragment() { DataHolder.selectedTest?._id = DataHolder.hemoCubeTestData!!._id DataHolder.selectedTest?.name = DataHolder.hemoCubeTestData!!.name + with(sharedPreferences.edit()) { + putString(Constants.QUICK_CAPTURE_SOLUTION, DataHolder.hemoCubeTestData!!.solution) + putString(Constants.QUICK_CAPTURE_CONCENTRATION, DataHolder.hemoCubeTestData!!.concentration) + putString(Constants.QUICK_CAPTURE_VOLUME, DataHolder.hemoCubeTestData!!.volume) + apply() + } + val i = Intent(requireContext(), HemocubeActivity::class.java) startActivity(i) } } + + fun getPositionOfValue(value: T, data: List?): Int { + data?.let { + for (i in it.indices) { + if (it[i] == value) { + return i + } + } + } + + return 0 + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index 231fb0e..a2fd65e 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -80,6 +80,12 @@ class HomeFragment : Fragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) + + if (sharedPreference.getString(Constants.USER_ID, "").toString() == "ADMIN") { + binding.labelQuickCapture.visibility = View.VISIBLE + binding.btnQuickCapture.visibility = View.VISIBLE + } + viewModel.allUserData.observe(viewLifecycleOwner) { userData -> deleteIncompleteRegistrations(userData) } 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 b9ed623..9fa3604 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 @@ -281,6 +281,10 @@ class HemoCubeViewModel @Inject constructor( testDetails?.batteryMaxCapacity = DataHolder.hemoCubeTestData?.batteryMaxCapacity.toString() testDetails?.batteryTemperature = DataHolder.hemoCubeTestData?.batteryTemperature.toString() testDetails?.batteryVoltage = DataHolder.hemoCubeTestData?.batteryVoltage.toString() + testDetails?.quickCapture = DataHolder.hemoCubeTestData?.quickCapture!! + testDetails?.solution = DataHolder.hemoCubeTestData?.solution + testDetails?.concentration = DataHolder.hemoCubeTestData?.concentration + testDetails?.volume = DataHolder.hemoCubeTestData?.volume } 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 279c80e..f2331db 100644 --- a/app/src/main/res/layout/fragment_assurance_controls.xml +++ b/app/src/main/res/layout/fragment_assurance_controls.xml @@ -23,6 +23,7 @@