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 70de794..b30ab76 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
@@ -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),
diff --git a/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt
index dbda545..dd4d298 100644
--- a/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt
+++ b/app/src/main/java/com/example/hpostesting/presentation/MainActivity.kt
@@ -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()
diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt
index 9e24a50..ed6afd6 100644
--- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt
+++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt
@@ -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)
diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/SlideshowFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/SlideshowFragment.kt
index 28e54ee..01c9cd7 100644
--- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/SlideshowFragment.kt
+++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/SlideshowFragment.kt
@@ -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}"
diff --git a/app/src/main/java/com/example/hpostesting/presentation/hb_test/HBTestFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/hb_test/HBTestFragment.kt
index 7c579cf..dec381c 100644
--- a/app/src/main/java/com/example/hpostesting/presentation/hb_test/HBTestFragment.kt
+++ b/app/src/main/java/com/example/hpostesting/presentation/hb_test/HBTestFragment.kt
@@ -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)
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 bd56d32..61b9449 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
@@ -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
diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml
index 86786a8..6eecf46 100644
--- a/app/src/main/res/values-hi/strings.xml
+++ b/app/src/main/res/values-hi/strings.xml
@@ -305,4 +305,7 @@
Quick Capture
Reset password for this device
Calibrate the device
+ Cuvette Present , Please Remove Cuvette And Try Again
+ Cuvette Absent,Now You Can Submit
+
\ No newline at end of file
diff --git a/app/src/main/res/values-kn/strings.xml b/app/src/main/res/values-kn/strings.xml
index 4a28eb9..c44b312 100644
--- a/app/src/main/res/values-kn/strings.xml
+++ b/app/src/main/res/values-kn/strings.xml
@@ -304,6 +304,9 @@
ತ್ವರಿತ ಕ್ಯಾಪ್ಚರ್
ಈ ಸಾಧನಕ್ಕಾಗಿ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಿ
ಸಾಧನವನ್ನು ಮಾಪನಾಂಕ ಮಾಡಿ
+ Cuvette Present , Please Remove Cuvette And Try Again
+ Cuvette Absent,Now You Can Submit
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index e0b11a0..1b1ce43 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -305,4 +305,7 @@
Quick Capture
Reset password for this device
Calibrate Device
+ Cuvette Present , Please Remove Cuvette And Try Again
+ Cuvette Absent,Now You Can Submit
+
\ No newline at end of file