From a99c24dd86a4d0f953d5a14690227879a93e250f Mon Sep 17 00:00:00 2001 From: Pritimay Sarkar Date: Sun, 29 Oct 2023 06:31:57 +0530 Subject: [PATCH] add diagnostics data log fun in viewmodel --- .../diagnostics/DiagnosticsViewModel.kt | 91 +------------------ 1 file changed, 3 insertions(+), 88 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsViewModel.kt index 3991891..27319f4 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/diagnostics/DiagnosticsViewModel.kt @@ -12,6 +12,7 @@ import com.example.hpostesting.data.NetworkStatusLiveData import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.data.dao.HemoCubeDao import com.example.hpostesting.data.model.Response +import com.example.hpostesting.data.model.diagnostics.DiagnosticsData import com.example.hpostesting.data.model.patient.DeviceData import com.example.hpostesting.data.model.patient.HemoCubeTestData import com.example.hpostesting.data.model.patient.toHemoCubeTestData @@ -30,13 +31,10 @@ class DiagnosticsViewModel @Inject constructor( ) : ViewModel() { var isServiceConnected = false val progressBar = MutableLiveData(false) - val testDetails = DataHolder.selectedTest?.toHemoCubeTestData() val messages = MutableLiveData() private val sharedPreference: SharedPreferences = context.getSharedPreferences("PREFERENCE_NAME", Context.MODE_PRIVATE) - // 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 = hemoCubeDao.getAll() val deviceData = MutableLiveData() @@ -44,74 +42,11 @@ class DiagnosticsViewModel @Inject constructor( get() = _networkStatusLiveData val fireBaseUpload = MutableLiveData() - - - - fun uploadHemoCubeResultToDatabase(isOnline: Boolean, testStatus: Boolean, kitSerial: String?) = - viewModelScope.launch { - if (kitSerial != null) { - testDetails?.kitSerial = kitSerial - } - testDetails?.testStatus = testStatus - - try { - if (isOnline) { - parseData() - addResultTestToDb() - } else { - parseData() - testDetails?.testTime = SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss", Locale.getDefault() - ).format(Calendar.getInstance().time) - hemoCubeDao.insertAll(testDetails!!) - fireBaseUpload.postValue("Local") - } - } catch (e: Exception) { - Log.e("Testdb", "Upload failed: ${e.message}") - } - } - - fun getDeviceData(deviceId: String?) = viewModelScope.launch { - deviceData.postValue(deviceId?.let { repository.getDeviceDataById(it) }) - } - - private fun parseData() { - testDetails?.deviceRatio = DataHolder.hemocubeResult - testDetails?.resultData = DataHolder.hemoCubeTestData?.resultData.toString() - testDetails?.location = DataHolder.location - testDetails?.testTime = SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss", Locale.getDefault() - ).format(Calendar.getInstance().time) - testDetails?.appVersion = DataHolder.hemoCubeTestData?.appVersion - testDetails?.deviceId = DataHolder.hemoCubeTestData?.deviceId - testDetails?.deviceSerialNumber = - sharedPreference.getString(Constants.USER_ID, "").toString() - testDetails?.kitSerial = sharedPreference.getString(Constants.KIT_NUMBER, "").toString() - testDetails?.led1Buffer = DataHolder.hemoCubeTestData?.led1Buffer - testDetails?.led2Buffer = DataHolder.hemoCubeTestData?.led2Buffer - testDetails?.led1Sample = DataHolder.hemoCubeTestData?.led1Sample - testDetails?.led2Sample = DataHolder.hemoCubeTestData?.led2Sample - testDetails?.led1Average = DataHolder.hemoCubeTestData?.led1Average - testDetails?.led2Average = DataHolder.hemoCubeTestData?.led2Average - testDetails?.deviceRatio = DataHolder.hemoCubeTestData?.deviceRatio - testDetails?.calculatedRatio = DataHolder.hemoCubeTestData?.calculatedRatio - testDetails?.classificationResult = DataHolder.hemoCubeTestData?.classificationResult!! - } - - private fun addResultTestToDb() { + fun addDiagnosticsDataToDb(data: DiagnosticsData) { viewModelScope.launch { try { - testDetails!!.reportUploadTime = SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss", Locale.getDefault() - ).format(Calendar.getInstance().time) - - when (val response = repository.addTestToDatabase(testDetails)) { + when (val response = repository.addDiagnostics(data)) { is Response.Success -> { - val kitCount = sharedPreference.getInt(Constants.KIT_COUNT, 0) - with(sharedPreference.edit()) { - putInt(Constants.KIT_COUNT, kitCount.plus(1)) - apply() - } Log.i("Testdb", "Data uploaded to Firestore successfully") fireBaseUpload.postValue("Success") } @@ -127,24 +62,4 @@ class DiagnosticsViewModel @Inject constructor( } } } - - fun bulkAddResultTestToDb(userData: HemoCubeTestData) { - viewModelScope.launch { - userData.reportUploadTime = SimpleDateFormat( - "yyyy-MM-dd HH:mm:ss", Locale.getDefault() - ).format(Calendar.getInstance().time) - when (repository.addTestToDatabase(userData)) { - is Response.Success -> { - fireBaseUpload.postValue("Success") - deleteById(userData._id) - } - - else -> {} - } - } - } - - fun deleteById(userId: String) = viewModelScope.launch { - hemoCubeDao.deleteById(id = userId) - } } \ No newline at end of file