From 71f3169ee33b40213263baeed782591ba1c93613 Mon Sep 17 00:00:00 2001 From: Pritimay Sarkar Date: Sun, 29 Oct 2023 06:36:02 +0530 Subject: [PATCH] add diaggnostics run in diag fragment --- .../diagnostics/DiagnosticsFragment.kt | 50 ++++++++++++------- 1 file changed, 33 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsFragment.kt index c39b35a..0f0160d 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsFragment.kt @@ -14,6 +14,7 @@ import androidx.lifecycle.MutableLiveData import com.example.hpostesting.data.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands +import com.example.hpostesting.data.model.diagnostics.DiagnosticsData import com.example.hpostesting.data.model.patient.DeviceData import com.example.hpostesting.data.model.patient.toHemoCubeTestData import com.example.hpostesting.presentation.UsbServiceListener @@ -25,6 +26,9 @@ import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase import `in`.sminnovations.hpostesting.R import `in`.sminnovations.hpostesting.databinding.FragmentDiagnosticsBinding +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Locale class DiagnosticsFragment : Fragment() { @@ -54,10 +58,9 @@ class DiagnosticsFragment : Fragment() { private fun initViews() { - binding.btnKit.visibility = View.GONE listenToHemoCube() binding.btnSubmit.setOnClickListener { - listenToHemoCube() + binding.btnSubmit.visibility = View.GONE getBufferdiagnostics() } } @@ -71,12 +74,12 @@ class DiagnosticsFragment : Fragment() { diagnosticsViewModel.networkStatusLiveData.observe(viewLifecycleOwner) { isNetworkAvailable -> if (isNetworkAvailable) { - diagnosticsViewModel.getDeviceData( - sharedPreferences.getString( - Constants.USER_ID, - "" - ) - ) +// diagnosticsViewModel.getDeviceData( +// sharedPreferences.getString( +// Constants.USER_ID, +// "" +// ) +// ) } else { Toast.makeText( requireContext(), @@ -120,18 +123,31 @@ class DiagnosticsFragment : Fragment() { override fun onUsbRead(data: ByteArray?) { data?.let { val stringData = String(it) + diagnosticsViewModel.messages.postValue(stringData) fullReadOutput.append(stringData) - } - val inputData = mutableListOf() - while (true) { - if (fullReadOutput.toString().lowercase() == "end") { - break - } - inputData.add(fullReadOutput.toString()) + resultData += stringData + binding.tvSubtitle4.text = resultData } - val parsedData = parseData(inputData) - Log.i("D-Data", parsedData.toString()) + if (resultData.contains("END") || fullReadOutput.contains("END")) { + diagnosticsViewModel.addDiagnosticsDataToDb(DiagnosticsData( + deviceId = sharedPreferences.getString("DEVICE_ID", "").toString(), + deviceData = resultData, + runTime = SimpleDateFormat( + "yyyy-MM-dd HH:mm:ss", Locale.getDefault() + ).format(Calendar.getInstance().time) + )) + } +// val inputData = mutableListOf() +// while (true) { +// if (fullReadOutput.toString().lowercase() == "end") { +// break +// } +// inputData.add(fullReadOutput.toString()) +// } +// +// val parsedData = parseData(inputData) +// Log.i("D-Data", parsedData.toString()) } override fun onUsbError(e: Exception?) {