From 1e4f801774e1a83c15058a690490fc06bc9b2a64 Mon Sep 17 00:00:00 2001 From: chandrashekhar reddy Date: Mon, 11 Mar 2024 13:01:22 +0530 Subject: [PATCH] Added L command in HemoCubeFragment --- .../data/constant/HemoCubeCommands.kt | 1 + .../hpostesting/data/constant/TestStatus.kt | 6 ++-- .../presentation/hemocube/HemoCubeFragment.kt | 35 ++++++++++++++++--- app/src/main/res/values-hi/strings.xml | 3 ++ app/src/main/res/values-kn/strings.xml | 3 ++ app/src/main/res/values/strings.xml | 3 ++ 6 files changed, 44 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/data/constant/HemoCubeCommands.kt b/app/src/main/java/com/example/hpostesting/data/constant/HemoCubeCommands.kt index 5edd02b..993b8fd 100644 --- a/app/src/main/java/com/example/hpostesting/data/constant/HemoCubeCommands.kt +++ b/app/src/main/java/com/example/hpostesting/data/constant/HemoCubeCommands.kt @@ -15,4 +15,5 @@ enum class HemoCubeCommands(val command: String) { SECOND_GAIN_COMMAND("U\r"), THIRD_GAIN_COMMAND("V\r"), FORTH_GAIN_COMMAND("W\r"), + CHECK_CUVETTE_COMMAND("L\r"), } \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/data/constant/TestStatus.kt b/app/src/main/java/com/example/hpostesting/data/constant/TestStatus.kt index f40e4ac..e969609 100644 --- a/app/src/main/java/com/example/hpostesting/data/constant/TestStatus.kt +++ b/app/src/main/java/com/example/hpostesting/data/constant/TestStatus.kt @@ -10,8 +10,10 @@ enum class TestStatus(val code: Double) { FIRST_EMPTY_AIR_READING_PRINT_COMPLETED(4.4), EPROM_ADC_RETRIEVAL_STARTED(4.5), EPROM_ADC_RETRIEVAL_COMPLETED(4.6), - BUFFER_STARTED(4.7), - BUFFER_COMPLETED(5.0), + CUVETTE_PRESENT(4.7), + CUVETTE_ABSENT(4.8), + BUFFER_STARTED(4.9), + BUFFER_COMPLETED(5.1), BUFFER_PRINT_STARTED(6.0), BUFFER_PRINT_COMPLETED(7.0), SAMPLE_STARTED(8.0), diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt index e6ec86c..f49c346 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt @@ -90,6 +90,8 @@ class HemoCubeFragment : Fragment() { listenToHemoCube() getDeviceInfo() observeViewModel() + + checkCuvettePresence() } @SuppressLint("SetTextI18n") @@ -134,7 +136,8 @@ class HemoCubeFragment : Fragment() { // binding.tvSubtitle4.text = "Buffer Started" } - checkAndStartProcess() + // checkAndStartProcess() + startBufferProcess() it.visibility = View.GONE } } @@ -261,9 +264,9 @@ class HemoCubeFragment : Fragment() { currentResultData = "" } - private fun checkAndStartProcess() { - startBufferProcess() - } +// private fun checkAndStartProcess() { +// startBufferProcess() +// } private fun isBufferValueAvailable(): Boolean { return try { @@ -418,9 +421,19 @@ class HemoCubeFragment : Fragment() { (resultData.contains("#RC") && this.testStatusCode < TestStatus.EPROM_ADC_RETRIEVAL_COMPLETED.code) -> { this.testStatusCode = TestStatus.EPROM_ADC_RETRIEVAL_COMPLETED.code hemoCubeViewModel.messages.postValue("EPROM ADC Loaded") - showStartBufferButton() + } + resultData.contains("#CIN") && this.testStatusCode < TestStatus.CUVETTE_PRESENT.code -> { + hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_present)) + this.testStatusCode = TestStatus.CUVETTE_PRESENT.code + showStartBufferButton() + } + resultData.contains("#AIN") && this.testStatusCode < TestStatus.CUVETTE_ABSENT.code -> { + hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_absent)) + this.testStatusCode = TestStatus.CUVETTE_ABSENT.code + + } resultData.contains("#BS") && this.testStatusCode < TestStatus.BUFFER_STARTED.code -> { hemoCubeViewModel.messages.postValue(getString(R.string.buffer_started)) this.testStatusCode = TestStatus.BUFFER_STARTED.code @@ -1138,6 +1151,18 @@ class HemoCubeFragment : Fragment() { Toast.makeText(requireContext(), getString(messageResId), Toast.LENGTH_SHORT).show() } + private fun checkCuvettePresence() { + hemoCubeViewModel.progressBar.postValue(true) + + (activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.CHECK_CUVETTE_COMMAND, + object : UsbServiceListener { + override fun onUsbRead(data: ByteArray?) {} + + override fun onUsbError(e: Exception?) { + hemoCubeViewModel.progressBar.postValue(false) + } + }) + } private fun startBufferProcess() { hemoCubeViewModel.progressBar.postValue(true) diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index cb272ca..96a5a3f 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -272,4 +272,7 @@ सीएसवी डाउनलोड करें Activities + Checking cuvette presence + Cuvette present + Cuvette absent \ No newline at end of file diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml index 4dc9455..61ec53e 100644 --- a/app/src/main/res/values-kn/strings.xml +++ b/app/src/main/res/values-kn/strings.xml @@ -271,6 +271,9 @@ ಸರಿ CSV ಡೌನ್ಲೋಡ್ ಮಾಡಿ Activities + Checking cuvette presence + Cuvette present + Cuvette absent \ 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 cea96e3..fd522a2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -274,4 +274,7 @@ App Language OK Activities + Checking cuvette presence + Cuvette present + Cuvette absent \ No newline at end of file