separated buttons for buffer and sample , in the result screen, instead of dialogue box of existing buffer, it will changes the color of butter button, if it buffer is already available into green , if not the button will be red

This commit is contained in:
Mariya
2024-03-13 16:34:17 +05:30
parent 721ac5d53c
commit d012b9edda
3 changed files with 69 additions and 40 deletions

View File

@@ -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() {

View File

@@ -155,18 +155,6 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_subtitle4">
<Button
android:visibility="gone"
android:id="@+id/btn_samplestart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="24dp"
android:clickable="false"
android:text="@string/Start_Sample"
android:textColor="@color/white"
app:cornerRadius="16dp"
/>
<Button
android:id="@+id/btn_placebuffer"
@@ -179,6 +167,18 @@
android:text="@string/place_buffer"
android:textColor="@color/white"
app:cornerRadius="16dp"
/>
<Button
android:id="@+id/btn_samplestart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="5dp"
android:clickable="false"
android:text="@string/Start_Sample"
android:textColor="@color/white"
app:cornerRadius="16dp"
/>
<Button

View File

@@ -118,7 +118,7 @@
<string name="Firefox">Firefox</string>
<string name="Files">Files</string>
<string name="deviceinfo">Device Information</string>
<string name="place_buffer">Start</string>
<string name="place_buffer">Start Buffer</string>
<string name="Start_Sample">Start Sample</string>
<string name="new_kit">New Kit</string>
<string name="new_buffer">New Buffer</string>
@@ -276,6 +276,6 @@
<string name="action_activity">Activities</string>
<string name="check_cuvette">Checking cuvette presence</string>
<string name="cuvette_present">Cuvette present , you can start the test</string>
<string name="cuvette_absent">Cuvette is absent , please place the cuvette</string>
<string name="retry">Retry</string>
<string name="cuvette_absent">Cuvette is absent , please place the cuvette and retry again</string>
<string name="retry">Retry again</string>
</resources>