diff --git a/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSource.kt b/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSource.kt index 2caed0a..9b2b5fb 100644 --- a/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSource.kt +++ b/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSource.kt @@ -9,9 +9,9 @@ interface LocalFileDataSource { fun saveTextToDisk(filepath: String, contents: String) - fun exportDataToCSV( - fileName: String, dataList: List, - ): Boolean +// fun exportDataToCSV( +// fileName: String, dataList: List, +// ): Boolean fun exportDataToCSV( fileName: String, dataList: List, diff --git a/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSourceImpl.kt b/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSourceImpl.kt index a388503..799c1ab 100644 --- a/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSourceImpl.kt +++ b/app/src/main/java/com/example/hpostesting/data/datasource/LocalFileDataSourceImpl.kt @@ -2,6 +2,7 @@ package com.example.hpostesting.data.datasource import android.os.Environment import com.example.hpostesting.data.model.patient.HemoCubeTestData +import com.example.hpostesting.data.model.patient.TrueHemeTestData import com.opencsv.CSVWriter import java.io.File import java.io.FileWriter @@ -25,7 +26,7 @@ class LocalFileDataSourceImpl @Inject constructor() : LocalFileDataSource { } override fun exportDataToCSV( - fileName: String, dataList: List, + fileName: String, dataList: List, ): Boolean { try { val formattedFileName = fileName.replace( diff --git a/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt index 9702894..f074608 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/autodac/AutoDacFragment.kt @@ -12,6 +12,7 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands +import com.example.hpostesting.data.constant.TrueHemeCommands import com.example.hpostesting.data.model.diagnostics.DiagnosticsData import com.example.hpostesting.data.model.patient.DeviceData import com.example.hpostesting.presentation.UsbServiceListener @@ -85,8 +86,8 @@ class AutoDacFragment : Fragment() { private fun getDeviceId() { autoDacViewModel.progressBar.postValue(true) - (activity as AutoDacActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.DEVICE_CONFIGURATION_COMMAND, + (activity as AutoDacActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.DEVICE_CONFIGURATION_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) { data?.let { @@ -104,8 +105,8 @@ class AutoDacFragment : Fragment() { private fun runAutoDacCommand() { autoDacViewModel.progressBar.postValue(true) - (activity as AutoDacActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.AUTO_DAC_COMMAND, + (activity as AutoDacActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.AUTO_DAC_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) { } @@ -118,8 +119,8 @@ class AutoDacFragment : Fragment() { private fun setAutoDacValuesCommand() { autoDacViewModel.progressBar.postValue(true) - (activity as AutoDacActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.SET_AUTO_DAC_TO_EPROM_COMMAND, + (activity as AutoDacActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.SET_AUTO_DAC_TO_EPROM_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) { } @@ -132,8 +133,8 @@ class AutoDacFragment : Fragment() { private fun readCurrentDACValuesCommand() { autoDacViewModel.progressBar.postValue(true) - (activity as AutoDacActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.READ_DAC_COMMAND, + (activity as AutoDacActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.READ_DAC_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) { } diff --git a/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemoCubeBufferCheckFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemoCubeBufferCheckFragment.kt index b9d909a..66f2fb8 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemoCubeBufferCheckFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/buffercheck/HemoCubeBufferCheckFragment.kt @@ -13,11 +13,12 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands +import com.example.hpostesting.data.constant.TrueHemeCommands import com.example.hpostesting.data.model.patient.BufferCheckData import com.example.hpostesting.data.model.patient.DeviceData import com.example.hpostesting.presentation.UsbServiceListener import com.example.hpostesting.presentation.dashboard.DashboardActivity -import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel +import com.example.hpostesting.presentation.trueheme.TrueHemeViewModel import com.google.firebase.crashlytics.ktx.crashlytics import com.google.firebase.ktx.Firebase import `in`.sminnovations.hpostesting.R @@ -31,7 +32,7 @@ import kotlin.math.log10 class HemoCubeBufferCheckFragment : Fragment() { private lateinit var binding: FragmentHemoCubeReferenceBinding - private val hemoCubeViewModel: HemoCubeViewModel by activityViewModels() + private val trueViewModel: TrueHemeViewModel by activityViewModels() private lateinit var sharedPreferences: SharedPreferences private var currentDeviceData: DeviceData? = null private var resultData: String = "" @@ -110,13 +111,13 @@ class HemoCubeBufferCheckFragment : Fragment() { } private fun observeViewModel() { - hemoCubeViewModel.deviceData.observe(viewLifecycleOwner) { + trueViewModel.deviceData.observe(viewLifecycleOwner) { currentDeviceData = it } - hemoCubeViewModel.networkStatusLiveData.observe(viewLifecycleOwner) { isNetworkAvailable -> + trueViewModel.networkStatusLiveData.observe(viewLifecycleOwner) { isNetworkAvailable -> if (isNetworkAvailable) { - hemoCubeViewModel.getDeviceData(sharedPreferences.getString(Constants.USER_ID, "")) + trueViewModel.getDeviceData(sharedPreferences.getString(Constants.USER_ID, "")) } else { Toast.makeText( requireContext(), R.string.internt_not, Toast.LENGTH_SHORT @@ -124,7 +125,7 @@ class HemoCubeBufferCheckFragment : Fragment() { } isOnline = isNetworkAvailable } - hemoCubeViewModel.fireBaseUpload.observe(viewLifecycleOwner) { result -> + trueViewModel.fireBaseUpload.observe(viewLifecycleOwner) { result -> if (result == "Success") { showToast(R.string.kit_uploaded) } @@ -139,11 +140,11 @@ class HemoCubeBufferCheckFragment : Fragment() { binding.progressBar.visibility = View.GONE } - hemoCubeViewModel.messages.observe(viewLifecycleOwner) { + trueViewModel.messages.observe(viewLifecycleOwner) { binding.tvSubtitle4.text = it } - hemoCubeViewModel.deviceMessages.observe(viewLifecycleOwner) { + trueViewModel.deviceMessages.observe(viewLifecycleOwner) { binding.tvDeviceMessages.text = it } } @@ -179,7 +180,7 @@ class HemoCubeBufferCheckFragment : Fragment() { } resultData += stringData - hemoCubeViewModel.deviceMessages.postValue(resultData) + trueViewModel.deviceMessages.postValue(resultData) when { stringData.contains("SN") -> { @@ -196,11 +197,11 @@ class HemoCubeBufferCheckFragment : Fragment() { binding.tvSubtitle4.visibility = View.VISIBLE binding.btnPlacebuffer.visibility = View.VISIBLE } - hemoCubeViewModel.messages.postValue("Start") + trueViewModel.messages.postValue("Start") } stringData.contains("#BS") -> { - hemoCubeViewModel.messages.postValue("Buffer Started") + trueViewModel.messages.postValue("Buffer Started") } stringData.contains("#BC") -> { @@ -219,7 +220,7 @@ class HemoCubeBufferCheckFragment : Fragment() { } stringData.contains("#SC") -> { - hemoCubeViewModel.messages.postValue("Sample Completed \nGathering data") + trueViewModel.messages.postValue("Sample Completed \nGathering data") fetchResult() } @@ -338,7 +339,7 @@ class HemoCubeBufferCheckFragment : Fragment() { } val prdClassification = absorbanceBasedClassification(_predictedDenovixRatio) - hemoCubeViewModel.messages.postValue(prdClassification) + trueViewModel.messages.postValue(prdClassification) val bufferData = BufferCheckData( _id = UUID.randomUUID().toString(), @@ -372,15 +373,15 @@ class HemoCubeBufferCheckFragment : Fragment() { testTime = SimpleDateFormat( "yyyy-MM-dd HH:mm:ss", Locale.getDefault() ).format(Calendar.getInstance().time), - batteryLevel = hemoCubeViewModel.getBatteryLevel().toString(), - batteryCapacity = hemoCubeViewModel.getBatteryCapacity(requireContext()).toString(), - batteryMaxCapacity = hemoCubeViewModel.getBatteryMaxCapacity(requireContext()) + batteryLevel = trueViewModel.getBatteryLevel().toString(), + batteryCapacity = trueViewModel.getBatteryCapacity(requireContext()).toString(), + batteryMaxCapacity = trueViewModel.getBatteryMaxCapacity(requireContext()) .toString(), - batteryTemperature = hemoCubeViewModel.getBatteryTemperature().toString(), - batteryVoltage = hemoCubeViewModel.getBatteryVoltage(requireContext()).toString() + batteryTemperature = trueViewModel.getBatteryTemperature().toString(), + batteryVoltage = trueViewModel.getBatteryVoltage(requireContext()).toString() ) - hemoCubeViewModel.uploadHemoCubeResultToDatabaseForBufferCheck(isOnline, bufferData) + trueViewModel.uploadTrueHemeResultToDatabaseForBufferCheck(isOnline, bufferData) } catch (e: Exception) { Toast.makeText( requireContext(), "Error while processing device data", Toast.LENGTH_SHORT @@ -391,7 +392,7 @@ class HemoCubeBufferCheckFragment : Fragment() { private fun findResult(calculatedRatio: Double?): String { try { - hemoCubeViewModel.messages.postValue("result classification") + trueViewModel.messages.postValue("result classification") if (calculatedRatio != null) { if (calculatedRatio < 0.05) return "Inconclusive. Very low Absorbance - Repeat test with Higher Blood Volume" if (calculatedRatio in 0.05..0.155) return "Normal" @@ -413,7 +414,7 @@ class HemoCubeBufferCheckFragment : Fragment() { private fun absorbanceBasedClassification(predictedDenovixRatio: Double?): String { try { - hemoCubeViewModel.messages.postValue("result classification") + trueViewModel.messages.postValue("result classification") if (predictedDenovixRatio != null) { if (predictedDenovixRatio in 0.0..0.16) return "Kit Passed" if (predictedDenovixRatio in 0.16..0.165) return "Kit Passed" @@ -445,7 +446,7 @@ class HemoCubeBufferCheckFragment : Fragment() { binding.btnPlacebuffer.visibility = View.GONE } - (activity as HemocubeBufferCheckActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.START_BUFFER_COMMAND, + (activity as HemocubeBufferCheckActivity).mService.sendAndListenToTrueHeme(TrueHemeCommands.START_BUFFER_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) {} @@ -459,7 +460,7 @@ class HemoCubeBufferCheckFragment : Fragment() { binding.btnPlacebuffer.visibility = View.GONE } - (activity as HemocubeBufferCheckActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.START_SAMPLE, + (activity as HemocubeBufferCheckActivity).mService.sendAndListenToTrueHeme(TrueHemeCommands.START_SAMPLE, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) {} @@ -469,27 +470,27 @@ class HemoCubeBufferCheckFragment : Fragment() { } private fun getDeviceInfo() { - hemoCubeViewModel.progressBar.postValue(true) - (activity as HemocubeBufferCheckActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.DEVICE_CONFIGURATION_COMMAND, + trueViewModel.progressBar.postValue(true) + (activity as HemocubeBufferCheckActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.DEVICE_CONFIGURATION_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) { data?.let { val stringData = String(it) - hemoCubeViewModel.messages.postValue(stringData) + trueViewModel.messages.postValue(stringData) binding.tvSubtitle4.text = stringData } } override fun onUsbError(e: Exception?) { - hemoCubeViewModel.progressBar.postValue(false) + trueViewModel.progressBar.postValue(false) } }) } private fun fetchResult() { - (activity as HemocubeBufferCheckActivity).mService.sendAndListenToHemoCube(HemoCubeCommands.PRINT_COMMAND, + (activity as HemocubeBufferCheckActivity).mService.sendAndListenToTrueHeme(TrueHemeCommands.PRINT_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) {} diff --git a/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationFragment.kt index e6313af..47bfe3c 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/calibration/CalibrationFragment.kt @@ -15,6 +15,7 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands +import com.example.hpostesting.data.constant.TrueHemeCommands import com.example.hpostesting.data.model.calibration.CalibrationData import com.example.hpostesting.data.model.patient.DeviceData import com.example.hpostesting.presentation.UsbServiceListener @@ -215,8 +216,8 @@ class CalibrationFragment : Fragment() { private fun getDeviceId() { calibrationViewModel.progressBar.postValue(true) - (activity as CalibrationActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.DEVICE_CONFIGURATION_COMMAND, + (activity as CalibrationActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.DEVICE_CONFIGURATION_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) { data?.let { diff --git a/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceActivity.kt index 0d27d12..1acf4db 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceActivity.kt @@ -26,6 +26,7 @@ import com.example.hpostesting.data.api.DeviceCommunicationHandler import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands import com.example.hpostesting.data.constant.LanguageManager +import com.example.hpostesting.data.constant.TrueHemeCommands import com.example.hpostesting.presentation.UsbServiceListener import com.example.hpostesting.presentation.testRight.UsbService import com.hoho.android.usbserial.driver.UsbSerialDriver @@ -182,9 +183,9 @@ class DeviceActivity : AppCompatActivity(), DeviceCommunicationHandler { } } - override fun sendAndListenToDevice(command: HemoCubeCommands, listener: UsbServiceListener) { - mService.sendAndListenToHemoCube( - command = HemoCubeCommands.DEVICE_CONFIGURATION_COMMAND, + override fun sendAndListenToDevice(command: TrueHemeCommands, listener: UsbServiceListener) { + mService.sendAndListenToTrueHeme( + command = TrueHemeCommands.DEVICE_CONFIGURATION_COMMAND, listener ) } diff --git a/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceFragment.kt index 183efd6..37a2ed4 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/deviceinfo/DeviceFragment.kt @@ -12,6 +12,7 @@ import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands +import com.example.hpostesting.data.constant.TrueHemeCommands import com.example.hpostesting.presentation.UsbServiceListener import com.example.hpostesting.presentation.hemocube.HemoCubeViewModel import com.google.firebase.crashlytics.ktx.crashlytics @@ -48,8 +49,8 @@ class DeviceFragment : Fragment() { private fun getDeviceId() { deviceViewModel.progressBar.postValue(true) - (activity as DeviceActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.DEVICE_CONFIGURATION_COMMAND, + (activity as DeviceActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.DEVICE_CONFIGURATION_COMMAND, object : UsbServiceListener { @SuppressLint("SetTextI18n") override fun onUsbRead(data: ByteArray?) { 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 f6e293e..4df6162 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 @@ -17,6 +17,7 @@ import com.example.hpostesting.data.Result import com.example.hpostesting.data.Result.Success import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.constant.HemoCubeCommands +import com.example.hpostesting.data.constant.TrueHemeCommands import com.example.hpostesting.data.model.devicediagnostics.AdditionalDetails import com.example.hpostesting.data.model.devicediagnostics.DeviceDiagnosticsRequest import com.example.hpostesting.data.model.diagnostics.DiagnosticsData @@ -148,8 +149,8 @@ class DiagnosticsFragment : Fragment() { private fun getDeviceId() { diagnosticsViewModel.progressBar.postValue(true) - (activity as DiagnosticsActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.DEVICE_CONFIGURATION_COMMAND, + (activity as DiagnosticsActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.DEVICE_CONFIGURATION_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) { data?.let { @@ -167,8 +168,8 @@ class DiagnosticsFragment : Fragment() { private fun runDeviceDiagnostics() { diagnosticsViewModel.progressBar.postValue(true) - (activity as DiagnosticsActivity).mService.sendAndListenToHemoCube( - HemoCubeCommands.DIAGNOSTICS_COMMAND, + (activity as DiagnosticsActivity).mService.sendAndListenToTrueHeme( + TrueHemeCommands.DIAGNOSTICS_COMMAND, object : UsbServiceListener { override fun onUsbRead(data: ByteArray?) { } diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt index 1026cb1..8eb723d 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt @@ -28,7 +28,7 @@ import javax.inject.Inject @HiltViewModel class HemoCubeViewModel @Inject constructor( private val hemoCubeDao: HemoCubeDao, - private val trueHemeDao: TrueHemeDao, +// private val trueHemeDao: TrueHemeDao, private val repository: DatabaseRepository, context: Context, ) : ViewModel() { @@ -42,7 +42,7 @@ class HemoCubeViewModel @Inject constructor( // Get the device ID of the device you want to retrieve data for (e.g., the first device in the list) private val _networkStatusLiveData = NetworkStatusLiveData(context) - val allUserData = trueHemeDao.getAll() + // val allUserData = trueHemeDao.getAll() val deviceData = MutableLiveData() val networkStatusLiveData: LiveData get() = _networkStatusLiveData