add diaggnostics run in diag fragment

This commit is contained in:
Pritimay Sarkar
2023-10-29 06:36:02 +05:30
parent 5edeef0021
commit 71f3169ee3

View File

@@ -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<String>()
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<String>()
// 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?) {