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