From 50fd8c063266df7ba1643ebcfa7d2c407c37a765 Mon Sep 17 00:00:00 2001 From: chandrashekhar reddy Date: Thu, 6 Jun 2024 12:05:49 +0530 Subject: [PATCH] new 124 version with cuvette size option --- .../hpostesting/data/constant/Constants.kt | 1 + .../presentation/KitScanActivity.kt | 25 +++++++++++-------- .../presentation/autodac/AutoDacFragment.kt | 16 +++++++----- 3 files changed, 26 insertions(+), 16 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 e2761c2..3b2296e 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 @@ -38,6 +38,7 @@ object Constants { const val TEST_RIGHT_TOTAL_PIXEL = 3694 const val MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE = 35 + const val MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE10MM = 10 const val RANGE_IN_RESULT_CALCULATIONS = 10 diff --git a/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt index 15e8515..e48983d 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt @@ -69,19 +69,19 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate { private fun processScannedData(contents: String) {//edited auto selection of cuvette size if(contents.contains("SMI/SC/")){ - with(sharedPreference.edit()) { - putString(Constants.CUVETTE_SIZE, "10mm") - apply() - } - Toast.makeText(this, "Selected cuvette size: 10mm", Toast.LENGTH_SHORT).show() - binding.nameEditText.setText(contents) - }else if(contents.contains("SC-2-D10/")){ with(sharedPreference.edit()) { putString(Constants.CUVETTE_SIZE, "2mm") apply() } Toast.makeText(this, "Selected cuvette size: 2mm", Toast.LENGTH_SHORT).show() binding.nameEditText.setText(contents) + }else if(contents.contains("SC-2-D10/")){ + with(sharedPreference.edit()) { + putString(Constants.CUVETTE_SIZE, "10mm") + apply() + } + Toast.makeText(this, "Selected cuvette size: 10mm", Toast.LENGTH_SHORT).show() + binding.nameEditText.setText(contents) }else{ Toast.makeText(this, R.string.invalid_kit, Toast.LENGTH_LONG).show() } @@ -129,8 +129,12 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate { sharedPreference = this.getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE) setContentView(binding.root) binding.toolbar.title = "Kit Serial Number" - - if (DataHolder.sampleReadCounter <= Constants.MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE && DataHolder.isToken) { + val maxTest = if(sharedPreference.getString(Constants.CUVETTE_SIZE, "10mm").toString() == "2mm"){ + Constants.MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE + }else{ + Constants.MAXIMUM_TEST_ALLOWED_BEFORE_REFERENCE10MM + } + if (DataHolder.sampleReadCounter <= maxTest && DataHolder.isToken) { DataHolder.selectedTest!!.kitSerial = DataHolder.kitSerial moveToNext() } @@ -292,7 +296,8 @@ class KitScanActivity : AppCompatActivity(), IDcsSdkApiDelegate { Log.d("BARCODE", result) runOnUiThread { val editableResult: Editable = Editable.Factory.getInstance().newEditable(result) - binding.nameEditText.text = editableResult + processScannedData(result) + // binding.nameEditText.text = editableResult } } diff --git a/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt index 57dbe66..f1280b2 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt @@ -68,6 +68,8 @@ class AutoDacFragment : Fragment() { getDeviceId() binding.tvSubtitle4.movementMethod = ScrollingMovementMethod() binding.btnSubmit.setOnClickListener { + resultData += "Calibrating the device..." + autoDacViewModel.messages.postValue(resultData) testStatusCode = 0.5 binding.btnSubmit.visibility = View.GONE runJCommand() @@ -236,7 +238,6 @@ class AutoDacFragment : Fragment() { if (sharedPreferences.getString(Constants.USER_ID, "").toString() == "ADMIN") { autoDacViewModel.messages.postValue(resultData) } - // binding.tvSubtitle4.text = resultData if (stringData.contains("SN")) { val slData = stringData.split(" ") @@ -266,10 +267,9 @@ class AutoDacFragment : Fragment() { } if (resultData.contains("#EC") && testStatusCode < 1.8) { testStatusCode = 1.9 - if(resultData.contains("#CS")){ - val pattern = "#CS(.*?)#CC".toRegex() - val matchResult = pattern.find(resultData) - resultData = matchResult?.groups?.get(1)?.value?.trim().toString() + if(resultData.contains("#CC")){ + val result = extractSubstring(resultData) + resultData = "Data:\n$result" } resultData += "Calibration Completed\n" autoDacViewModel.messages.postValue(resultData) @@ -332,7 +332,11 @@ class AutoDacFragment : Fragment() { Firebase.crashlytics.recordException(e) } } - + fun extractSubstring(input: String): String { + val regex = "#CS(.*?)#CC".toRegex() + val matchResult = regex.find(input) + return matchResult?.groups?.get(1)?.value?.trim() ?: "" + } private fun validateDacValues(): Boolean { return true