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 8aa857a..b0cd9fe 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 @@ -4,6 +4,7 @@ import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.content.SharedPreferences +import android.graphics.Color import android.os.Bundle import android.util.Log import android.view.LayoutInflater @@ -111,11 +112,25 @@ class HemoCubeFragment : Fragment() { binding.nameEditText.visibility = View.GONE binding.tvTitle.visibility = View.GONE binding.btnGo.visibility = View.GONE - binding.btnPlacebuffer.visibility = View.GONE +// binding.btnPlacebuffer.visibility = View.GONE binding.tvName.text = "Name: ${testDetails?.name}\n ID: ${testDetails?._id}" binding.tvSubtitle4.text = "Config" + + if (isBufferValueAvailable() || !Constants.BLANK_EVERY_TEST) { + binding.btnPlacebuffer.apply { + setBackgroundColor(Color.GREEN) // Set button background color to green + text = "Fresh Buffer" // Change button text to "Buffer Exists" + } + }else if(!isBufferValueAvailable() || Constants.BLANK_EVERY_TEST){ + binding.btnPlacebuffer.apply { + setBackgroundColor(Color.RED) // Set button background color to green + text = "No Buffer" // Change button text to "Buffer Exists" + } + } + + binding.btnSamplestart.setOnClickListener { if(checkCuvette){ activity?.runOnUiThread { @@ -123,7 +138,7 @@ class HemoCubeFragment : Fragment() { // binding.tvSubtitle4.text = "Sample Started" } startSampleProcess() - it.visibility = View.GONE +// it.visibility = View.GONE }else{ checkCuvettePresence() } @@ -134,18 +149,20 @@ class HemoCubeFragment : Fragment() { } binding.btnPlacebuffer.setOnClickListener { if(checkCuvette){ - if (isBufferValueAvailable() || !Constants.BLANK_EVERY_TEST) { - showBufferAlertDialog() - } else { + + startBufferProcess() +// if (isBufferValueAvailable() || !Constants.BLANK_EVERY_TEST) { +//// showBufferAlertDialog() +// } else { activity?.runOnUiThread { binding.tvSubtitle4.visibility = View.VISIBLE // binding.tvSubtitle4.text = "Buffer Started" } // checkAndStartProcess() - startBufferProcess() - it.visibility = View.GONE - } + +// it.visibility = View.GONE +// } }else{ checkCuvettePresence() } @@ -327,7 +344,7 @@ class HemoCubeFragment : Fragment() { override fun onClickPositiveButton() { activity?.runOnUiThread { - binding.btnPlacebuffer.visibility = View.GONE +// binding.btnPlacebuffer.visibility = View.GONE binding.btnSamplestart.visibility = View.VISIBLE binding.tvSubtitle4.text = getString(R.string.place_sample) } @@ -432,7 +449,6 @@ class HemoCubeFragment : Fragment() { this.testStatusCode = TestStatus.EPROM_ADC_RETRIEVAL_COMPLETED.code hemoCubeViewModel.messages.postValue("EPROM ADC Loaded") //checkCuvettePresence() - showStartBufferButton() } resultData.contains("#CIN") && this.testStatusCode < TestStatus.CUVETTE_PRESENT.code -> { @@ -455,7 +471,8 @@ class HemoCubeFragment : Fragment() { this.testStatusCode = TestStatus.BUFFER_COMPLETED.code activity?.runOnUiThread { binding.tvSubtitle4.text = getString(R.string.buffer_completed) - binding.btnSamplestart.visibility = View.VISIBLE +// binding.btnSamplestart.visibility = View.VISIBLE + binding.btnPlacebuffer.visibility = View.GONE } checkCuvette = false } @@ -465,11 +482,15 @@ class HemoCubeFragment : Fragment() { activity?.runOnUiThread { binding.tvSubtitle4.text = getString(R.string.sample_started) binding.btnSamplestart.visibility = View.GONE + binding.btnPlacebuffer.visibility = View.GONE } } (resultData.contains("#SC") || resultData.contains("#SC1")) && this.testStatusCode < TestStatus.SAMPLE_COMPLETED.code -> { this.testStatusCode = TestStatus.SAMPLE_COMPLETED.code + activity?.runOnUiThread { + binding.btnSamplestart.visibility = View.GONE + } hemoCubeViewModel.messages.postValue( getString(R.string.sample_completed) + "\n" + getString(R.string.gathering_data) ) @@ -628,7 +649,7 @@ class HemoCubeFragment : Fragment() { private fun showRetryButtonForCuvette() { activity?.runOnUiThread { - binding.btnPlacebuffer.visibility = View.GONE +// binding.btnPlacebuffer.visibility = View.GONE binding.btnRetryCheckCuvette.visibility = View.VISIBLE } } @@ -726,6 +747,15 @@ class HemoCubeFragment : Fragment() { // hemoCubeViewModel.messages.postValue(getString(R.string.start)) } + fun showStartSampleButton() { + activity?.runOnUiThread { + binding.btnRetryCheckCuvette.visibility = View.GONE + + binding.btnSamplestart.visibility = View.VISIBLE + } +// hemoCubeViewModel.messages.postValue(getString(R.string.start)) + } + fun extractV1HardwareId(input: String): String? { val regex = Regex("SN (\\S+)") val matchResult = regex.find(input) @@ -1193,11 +1223,9 @@ class HemoCubeFragment : Fragment() { } private fun startBufferProcess() { hemoCubeViewModel.progressBar.postValue(true) - - activity?.runOnUiThread { - binding.btnPlacebuffer.visibility = View.GONE - } - +// activity?.runOnUiThread { +// binding.btnPlacebuffer.visibility = View.GONE +// } (activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.START_BUFFER_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) {} @@ -1209,16 +1237,17 @@ class HemoCubeFragment : Fragment() { } private fun startSampleProcess() { - hemoCubeViewModel.progressBar.postValue(true) + hemoCubeViewModel.progressBar.postValue(true) - (activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.START_SAMPLE, - object : UsbServiceListener { - override fun onUsbRead(data: ByteArray?) {} + (activity as HemocubeActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.START_SAMPLE, + object : UsbServiceListener { + override fun onUsbRead(data: ByteArray?) {} + + override fun onUsbError(e: Exception?) { + hemoCubeViewModel.progressBar.postValue(false) + } + }) - override fun onUsbError(e: Exception?) { - hemoCubeViewModel.progressBar.postValue(false) - } - }) } private fun sendFirstGainCommand() { diff --git a/app/src/main/res/layout/fragment_hemo_cube_reference.xml b/app/src/main/res/layout/fragment_hemo_cube_reference.xml index b5a119f..921a6d6 100644 --- a/app/src/main/res/layout/fragment_hemo_cube_reference.xml +++ b/app/src/main/res/layout/fragment_hemo_cube_reference.xml @@ -155,18 +155,6 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_subtitle4"> -