From e71496e4233527a3221a8db64bcf63262b8ee1f3 Mon Sep 17 00:00:00 2001 From: Pritimay Sarkar Date: Mon, 18 Sep 2023 10:57:02 +0530 Subject: [PATCH] remove start buffer and sample button from prod build - add firebase exception log --- .../presentation/hemocube/HemoCubeFragment.kt | 85 ++++++++----------- .../layout/fragment_hemo_cube_reference.xml | 52 ++++++------ 2 files changed, 62 insertions(+), 75 deletions(-) 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 0ff1702..21129ef 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 @@ -22,6 +22,7 @@ import com.example.hpostesting.presentation.UsbServiceListener import com.example.hpostesting.presentation.dashboard.DashboardActivity import com.example.hpostesting.presentation.utils.MyDialogListener import com.example.hpostesting.presentation.utils.UIUtils +import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.firestore.FirebaseFirestore import com.google.firebase.firestore.ktx.firestore import com.google.firebase.ktx.Firebase @@ -46,7 +47,7 @@ class HemoCubeFragment : Fragment() { private var isTestOngoing = false private var startListening = MutableLiveData(false) override fun onCreateView( - inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? + inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?, ): View { binding = FragmentHemoCubeReferenceBinding.inflate(inflater, container, false) sharedPreferences = @@ -58,7 +59,7 @@ class HemoCubeFragment : Fragment() { super.onViewCreated(view, savedInstanceState) initViews() observeViewModel() -// checkAndStartProcess() + checkAndStartProcess() } private fun initViews() { @@ -80,16 +81,6 @@ class HemoCubeFragment : Fragment() { binding.btnSubmit.isClickable = false - binding.btnSamplestart.setOnClickListener { - startSampleProcess() - it.visibility = View.GONE - } - - binding.btnPlacebuffer.setOnClickListener { - checkAndStartProcess() - it.visibility = View.GONE - } - binding.btnKit.setOnClickListener { if (isTestOngoing) { val title = "WARNING" @@ -187,31 +178,31 @@ class HemoCubeFragment : Fragment() { hemoCubeViewModel.messages.observe(viewLifecycleOwner) { binding.tvSubtitle4.text = it } - startListening.observe(viewLifecycleOwner) { - if (it) { - lifecycleScope.launch { - delay(1000) - if (binding.tvSubtitle4.text.toString().isEmpty()) { - (activity as HemocubeActivity).reconnectDevice() - if (isBufferValueAvailable()) { - showBufferAlertDialog() - } else { - listenToHemoCube() - startBufferProcess() - } - } - } - } - } +// startListening.observe(viewLifecycleOwner) { +// if (it) { +// lifecycleScope.launch { +// delay(1000) +// if (binding.tvSubtitle4.text.toString().isEmpty()) { +// (activity as HemocubeActivity).reconnectDevice() +// if (isBufferValueAvailable()) { +// showBufferAlertDialog() +// } else { +// listenToHemoCube() +// startBufferProcess() +// } +// } +// } +// } +// } } private fun checkAndStartProcess() { -// if (isBufferValueAvailable()) { -// showBufferAlertDialog() -// } else { - listenToHemoCube() - startBufferProcess() -// } + if (isBufferValueAvailable()) { + showBufferAlertDialog() + } else { + listenToHemoCube() + startBufferProcess() + } } private fun isBufferValueAvailable(): Boolean { @@ -278,6 +269,7 @@ class HemoCubeFragment : Fragment() { }) } catch (e: Exception) { showToast("test is going on") + Firebase.crashlytics.recordException(e) } } @@ -292,12 +284,7 @@ class HemoCubeFragment : Fragment() { when { stringData.contains("ERROR 500") -> showError500Dialog() stringData.contains("ERROR 501") -> showError501Dialog() - stringData.contains("#Buffer Completed") -> - activity?.runOnUiThread { - binding.btnSamplestart.visibility = View.VISIBLE - binding.btnSamplestart.isClickable = true - } - + stringData.contains("#Buffer Completed") -> showStartSampleDialog() stringData.contains("#Sample Completed") -> { activity?.runOnUiThread { binding.btnSubmit.isEnabled = true @@ -469,15 +456,14 @@ class HemoCubeFragment : Fragment() { ) } } - - } catch (_: Exception) { + } catch (e: Exception) { Toast.makeText( requireContext(), "Error while processing device data", Toast.LENGTH_SHORT ).show() + Firebase.crashlytics.recordException(e) } - } private fun findResult(calculatedRatio: Double?): String { @@ -485,23 +471,24 @@ class HemoCubeFragment : Fragment() { if (calculatedRatio != null) { if (calculatedRatio < 0.085) return "Inconclusive. Very low Absorbance - Repeat test with Higher Blood Volume" - if (calculatedRatio in 0.085 .. 0.155) + if (calculatedRatio in 0.085..0.155) return "Normal" - if (calculatedRatio in 0.155 .. 0.175) + if (calculatedRatio in 0.155..0.175) return "Negative Borderline. Repeat Test" - if (calculatedRatio in 0.175 .. 0.22) + if (calculatedRatio in 0.175..0.22) return "Sickle Cell Trait" - if (calculatedRatio in 0.22 .. 0.25) + if (calculatedRatio in 0.22..0.25) return "Positive for Sickle Cell. HPLC for Confirmation" - if (calculatedRatio in 0.25 .. 0.35) + if (calculatedRatio in 0.25..0.35) return "Sickle Cell Disease" if (calculatedRatio > 0.35) return "Inconclusive. Repeat with test with lower volume of blood" } else { return "NULL" } - } catch (_: Exception) { + } catch (e: Exception) { showToast("error while performing classification") + Firebase.crashlytics.recordException(e) return "ERROR" } return "NULL" 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 6e8a9d7..4d8dcf5 100644 --- a/app/src/main/res/layout/fragment_hemo_cube_reference.xml +++ b/app/src/main/res/layout/fragment_hemo_cube_reference.xml @@ -61,34 +61,34 @@ -