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 feefb33..86c4fb0 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 @@ -12,6 +12,8 @@ enum class TestStatus(val code: Double) { EPROM_ADC_RETRIEVAL_COMPLETED(4.6), CUVETTE_ABSENT(4.7), CUVETTE_PRESENT(4.8), + CUVETTE_ABSENTS(7.7), + CUVETTE_PRESENTS(7.8), BUFFER_STARTED(4.9), BUFFER_COMPLETED(5.1), BUFFER_PRINT_STARTED(6.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 b0cd9fe..31ba0ff 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 @@ -37,6 +37,8 @@ import kotlin.math.log10 @Suppress("MemberVisibilityCanBePrivate") class HemoCubeFragment : Fragment() { private var checkCuvette = false + private var checkCuvetteSam = false + private var sampleClick = false private lateinit var binding: FragmentHemoCubeReferenceBinding private val hemoCubeViewModel: HemoCubeViewModel by activityViewModels() private lateinit var sharedPreferences: SharedPreferences @@ -132,7 +134,8 @@ class HemoCubeFragment : Fragment() { binding.btnSamplestart.setOnClickListener { - if(checkCuvette){ + sampleClick = true + if(checkCuvetteSam){ activity?.runOnUiThread { binding.tvSubtitle4.visibility = View.VISIBLE // binding.tvSubtitle4.text = "Sample Started" @@ -421,7 +424,7 @@ class HemoCubeFragment : Fragment() { resultData += stringData currentResultData += stringData hemoCubeViewModel.deviceMessages.postValue(currentResultData) - + Log.e("testStatus",this.testStatusCode.toString()) when { resultData.contains("SNE") && this.testStatusCode < TestStatus.CONFIG_COMPLETED.code -> { processV2HardwareId(resultData) @@ -455,7 +458,9 @@ class HemoCubeFragment : Fragment() { hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_present)) this.testStatusCode = TestStatus.CUVETTE_PRESENT.code checkCuvette = true - showStartBufferButton() + activity?.runOnUiThread { + binding.btnRetryCheckCuvette.visibility = View.GONE + } } resultData.contains("#AIN") && this.testStatusCode <= TestStatus.CUVETTE_ABSENT.code -> { hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_absent)) @@ -468,15 +473,30 @@ class HemoCubeFragment : Fragment() { } resultData.contains("#BC") && this.testStatusCode < TestStatus.BUFFER_COMPLETED.code -> { - this.testStatusCode = TestStatus.BUFFER_COMPLETED.code activity?.runOnUiThread { + resultData = "" + // resultData.replace("#AIN","#BAIN",false) + Log.d("resultDataBC",resultData) binding.tvSubtitle4.text = getString(R.string.buffer_completed) // binding.btnSamplestart.visibility = View.VISIBLE binding.btnPlacebuffer.visibility = View.GONE } - checkCuvette = false - } + this.testStatusCode = TestStatus.BUFFER_COMPLETED.code + } + resultData.contains("#CIN") && this.testStatusCode < TestStatus.CUVETTE_PRESENTS.code && sampleClick -> { + hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_present)) + this.testStatusCode = TestStatus.CUVETTE_PRESENTS.code + checkCuvetteSam = true + activity?.runOnUiThread { + binding.btnRetryCheckCuvette.visibility = View.GONE + } + } + resultData.contains("#AIN") && this.testStatusCode <= TestStatus.CUVETTE_ABSENTS.code && sampleClick -> { + hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_absent)) + this.testStatusCode = TestStatus.CUVETTE_ABSENTS.code + showRetryButtonForCuvette() + } (resultData.contains("#SS") || resultData.contains("#SS1")) && this.testStatusCode < TestStatus.SAMPLE_STARTED.code -> { this.testStatusCode = TestStatus.SAMPLE_STARTED.code activity?.runOnUiThread {