Submit button check in HemoCubeFragment
This commit is contained in:
@@ -35,6 +35,8 @@ enum class TestStatus(val code: Double) {
|
||||
BUFFER_PRINT_STARTED(6.0),
|
||||
BUFFER_PRINT_COMPLETED(7.0),
|
||||
SAMPLE_STARTED(8.0),
|
||||
CUVETTE_ABSENTT(30.2),
|
||||
CUVETTE_PRESENTT(30.1),
|
||||
SAMPLE_COMPLETED(9.0),
|
||||
SAMPLE_PRINT_STARTED(10.0),
|
||||
SAMPLE_PRINT_COMPLETED(11.0),
|
||||
|
||||
@@ -18,6 +18,7 @@ import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.IntentFilter
|
||||
import android.content.SharedPreferences
|
||||
import android.content.pm.PackageManager
|
||||
import android.hardware.usb.UsbManager
|
||||
import android.location.Location
|
||||
@@ -52,6 +53,7 @@ class MainActivity : AppCompatActivity() {
|
||||
private val TAG = "MainActivity"
|
||||
private lateinit var fusedLocationClient: FusedLocationProviderClient
|
||||
private lateinit var locationCallback: LocationCallback
|
||||
private lateinit var sharedPreference: SharedPreferences
|
||||
|
||||
private val usbReceiver = object : BroadcastReceiver() {
|
||||
override fun onReceive(context: Context?, intent: Intent) {
|
||||
@@ -71,12 +73,17 @@ class MainActivity : AppCompatActivity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
sharedPreference = getSharedPreferences("HEMOCUBE", Context.MODE_PRIVATE)
|
||||
|
||||
binding = ActivityMainBinding.inflate(layoutInflater)
|
||||
setContentView(binding.root)
|
||||
binding.myToolbar.title = "Test Type"
|
||||
setSupportActionBar(binding.myToolbar)
|
||||
|
||||
if ((sharedPreference.getString(Constants.USER_ID, "").toString() == "ADMIN")) {
|
||||
binding.cvItem3.visibility = View.VISIBLE
|
||||
}else{
|
||||
binding.cvItem3.visibility = View.GONE
|
||||
}
|
||||
setupListeners()
|
||||
fusedLocationClient = LocationServices.getFusedLocationProviderClient(this)
|
||||
getLocation()
|
||||
|
||||
@@ -862,7 +862,9 @@ class HomeFragment : Fragment() {
|
||||
// )
|
||||
Toast.makeText(requireContext(), "Successfully added- $userId", Toast.LENGTH_SHORT).show()
|
||||
binding.userId.setText("")
|
||||
binding.etBloodGroup.clearListSelection()
|
||||
binding.age.setText("")
|
||||
binding.etBloodGroup.setText("")
|
||||
|
||||
// val userData = UserData(_id = userId)
|
||||
// DataHolder.selectedTest = userData
|
||||
// findNavController().navigate(R.id.action_nav_home_to_mainActivity)
|
||||
|
||||
@@ -235,7 +235,7 @@ class PrefsFragment : PreferenceFragmentCompat(){
|
||||
|
||||
private fun switchFirebaseServer(firebaseConfig: FirebaseConfig) {
|
||||
firebaseManager.switchServer(firebaseConfig)
|
||||
Toast.makeText(requireContext(), "Switched to ${firebaseConfig.serverName}", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(requireContext(), "Switched to ${firebaseConfig.serverName}, Please wait for few seconds", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(requireContext(), "Restart needed restarting the app", Toast.LENGTH_SHORT).show()
|
||||
firebaseManager.restartApp()
|
||||
currentServerPreference.summary = "Current Server: ${firebaseConfig.serverName}"
|
||||
|
||||
@@ -121,6 +121,8 @@ class HBTestFragment : Fragment() {
|
||||
}
|
||||
binding.btnBuffer.setOnClickListener {
|
||||
binding.btnBuffer.visibility = View.GONE
|
||||
binding.btnSample.isEnabled = false
|
||||
binding.btnSample.isClickable = false
|
||||
hBTestViewModel.messages.postValue("Buffer Started")
|
||||
runBCommand()
|
||||
}
|
||||
@@ -174,7 +176,7 @@ class HBTestFragment : Fragment() {
|
||||
override fun onUsbRead(data: ByteArray?) {
|
||||
data?.let {
|
||||
val stringData = String(it)
|
||||
deviceId = stringData
|
||||
//deviceId = stringData
|
||||
hBTestViewModel.messages.postValue(stringData)
|
||||
binding.tvSubtitle4.text = stringData
|
||||
}
|
||||
@@ -224,6 +226,12 @@ class HBTestFragment : Fragment() {
|
||||
}
|
||||
})
|
||||
}
|
||||
fun extractV2HardwareId(input: String): String? {
|
||||
val pattern = Regex("SNS\\s*(.*?)\\s*SNE")
|
||||
val matchResult: MatchResult? = pattern.find(input)
|
||||
|
||||
return matchResult?.groups?.get(1)?.value
|
||||
}
|
||||
|
||||
private fun listenToHemoCube() {
|
||||
|
||||
@@ -240,10 +248,11 @@ class HBTestFragment : Fragment() {
|
||||
resultData += stringData
|
||||
hBTestViewModel.messages.postValue(resultData)
|
||||
// binding.tvSubtitle4.text = resultData
|
||||
if (stringData.contains("SN")) {
|
||||
if (stringData.contains("SNE")) {
|
||||
val slData = stringData.split(" ")
|
||||
if (slData.size > 1) {
|
||||
val hardwareId = slData[1].trim()
|
||||
deviceId = extractV2HardwareId(resultData).toString()
|
||||
hBTestViewModel.messages.postValue("Place buffer and click below button to start test")
|
||||
// with(sharedPreferences.edit()) {
|
||||
// putString(Constants.DEVICE_ID, hardwareId)
|
||||
|
||||
@@ -87,6 +87,8 @@ class HemoCubeFragment : Fragment() {
|
||||
private var checkCuvette = false
|
||||
private var checkRefreshCuvette = false
|
||||
private var checkCuvetteSam = false
|
||||
private var checkSubmit = false
|
||||
private var submitClick = false
|
||||
private var sampleClick = false
|
||||
private var refreshClick = false
|
||||
private lateinit var binding: FragmentHemoCubeReferenceBinding
|
||||
@@ -182,23 +184,44 @@ class HemoCubeFragment : Fragment() {
|
||||
binding.tvSubtitle4.movementMethod = ScrollingMovementMethod()
|
||||
binding.tvDeviceMessages.movementMethod = ScrollingMovementMethod()
|
||||
binding.btnSubmit.setOnClickListener {
|
||||
with(sharedPreferences.edit()) {
|
||||
putBoolean(Constants.QUICK_CAPTURE, false)
|
||||
apply()
|
||||
// with(sharedPreferences.edit()) {
|
||||
// putBoolean(Constants.QUICK_CAPTURE, false)
|
||||
// apply()
|
||||
// }
|
||||
// if(DataHolder.hemoCubeTestData!!.classificationResult != "Invalid"){
|
||||
// DataHolder.sampleReadCounter++
|
||||
// }
|
||||
// binding.btnSubmit.isEnabled = false
|
||||
// binding.btnSubmit.isClickable = false
|
||||
// activity?.runOnUiThread {
|
||||
// Log.d("HemoCubeFragment","Test Process completed, result saved")
|
||||
// binding.progressBar.visibility = View.VISIBLE
|
||||
// binding.btnSubmit.visibility = View.GONE
|
||||
// }
|
||||
submitClick = true
|
||||
if(checkSubmit){
|
||||
with(sharedPreferences.edit()) {
|
||||
putBoolean(Constants.QUICK_CAPTURE, false)
|
||||
apply()
|
||||
}
|
||||
if(DataHolder.hemoCubeTestData!!.classificationResult != "Invalid"){
|
||||
DataHolder.sampleReadCounter++
|
||||
}
|
||||
binding.btnSubmit.isEnabled = false
|
||||
binding.btnSubmit.isClickable = false
|
||||
activity?.runOnUiThread {
|
||||
Log.d("HemoCubeFragment","Test Process completed, result saved")
|
||||
binding.progressBar.visibility = View.VISIBLE
|
||||
binding.btnSubmit.visibility = View.GONE
|
||||
}
|
||||
hemoCubeViewModel.uploadHemoCubeResultToDatabase(
|
||||
isOnline, true, sharedPreferences.getString(Constants.KIT_NUMBER, ""),quickCapture
|
||||
)
|
||||
}else{
|
||||
checkCuvettePresence()
|
||||
binding.btnSubmit.isEnabled = true
|
||||
binding.btnSubmit.isClickable = true
|
||||
}
|
||||
if(DataHolder.hemoCubeTestData!!.classificationResult != "Invalid"){
|
||||
DataHolder.sampleReadCounter++
|
||||
}
|
||||
binding.btnSubmit.isEnabled = false
|
||||
binding.btnSubmit.isClickable = false
|
||||
activity?.runOnUiThread {
|
||||
Log.d("HemoCubeFragment","Test Process completed, result saved")
|
||||
binding.progressBar.visibility = View.VISIBLE
|
||||
binding.btnSubmit.visibility = View.GONE
|
||||
}
|
||||
hemoCubeViewModel.uploadHemoCubeResultToDatabase(
|
||||
isOnline, true, sharedPreferences.getString(Constants.KIT_NUMBER, ""),quickCapture
|
||||
)
|
||||
}
|
||||
|
||||
binding.tvTitle2.visibility = View.GONE
|
||||
@@ -664,6 +687,22 @@ class HemoCubeFragment : Fragment() {
|
||||
}
|
||||
showRetryButtonForCuvette()
|
||||
}
|
||||
resultData.contains("#CIN") && this.submitClick && this.testStatusCode < TestStatus.CUVETTE_PRESENTT.code -> {
|
||||
hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_presentt))
|
||||
this.testStatusCode = TestStatus.CUVETTE_PRESENTT.code
|
||||
activity?.runOnUiThread {
|
||||
binding.testing.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
resultData.contains("#AIN") && this.submitClick && this.testStatusCode <= TestStatus.CUVETTE_ABSENTT.code -> {
|
||||
hemoCubeViewModel.messages.postValue(getString(R.string.cuvette_absentt))
|
||||
this.testStatusCode = TestStatus.CUVETTE_ABSENTT.code
|
||||
activity?.runOnUiThread {
|
||||
checkSubmit = true
|
||||
binding.testing.visibility = View.GONE
|
||||
}
|
||||
}
|
||||
|
||||
resultData.contains("#BS") && this.testStatusCode < TestStatus.BUFFER_STARTED.code -> {
|
||||
hemoCubeViewModel.messages.postValue(getString(R.string.buffer_started))
|
||||
this.testStatusCode = TestStatus.BUFFER_STARTED.code
|
||||
|
||||
@@ -305,4 +305,7 @@
|
||||
<string name="quick_capture">Quick Capture</string>
|
||||
<string name="reset_password_for_this_device">Reset password for this device</string>
|
||||
<string name="calibrate_device">Calibrate the device</string>
|
||||
<string name="cuvette_presentt">Cuvette Present , Please Remove Cuvette And Try Again</string>
|
||||
<string name="cuvette_absentt">Cuvette Absent,Now You Can Submit</string>
|
||||
|
||||
</resources>
|
||||
@@ -304,6 +304,9 @@
|
||||
<string name="quick_capture">ತ್ವರಿತ ಕ್ಯಾಪ್ಚರ್</string>
|
||||
<string name="reset_password_for_this_device">ಈ ಸಾಧನಕ್ಕಾಗಿ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಿ</string>
|
||||
<string name="calibrate_device">ಸಾಧನವನ್ನು ಮಾಪನಾಂಕ ಮಾಡಿ</string>
|
||||
<string name="cuvette_presentt">Cuvette Present , Please Remove Cuvette And Try Again</string>
|
||||
<string name="cuvette_absentt">Cuvette Absent,Now You Can Submit</string>
|
||||
|
||||
<!-- Add translations for other strings -->
|
||||
|
||||
</resources>
|
||||
@@ -305,4 +305,7 @@
|
||||
<string name="quick_capture">Quick Capture</string>
|
||||
<string name="reset_password_for_this_device">Reset password for this device</string>
|
||||
<string name="calibrate_device">Calibrate Device</string>
|
||||
<string name="cuvette_presentt">Cuvette Present , Please Remove Cuvette And Try Again</string>
|
||||
<string name="cuvette_absentt">Cuvette Absent,Now You Can Submit</string>
|
||||
|
||||
</resources>
|
||||
Reference in New Issue
Block a user