diff --git a/app/src/main/java/com/example/hpostesting/data/model/molbioresult/MolbioV2Result.kt b/app/src/main/java/com/example/hpostesting/data/model/molbioresult/MolbioV2Result.kt index 3e3c698..ab01bec 100644 --- a/app/src/main/java/com/example/hpostesting/data/model/molbioresult/MolbioV2Result.kt +++ b/app/src/main/java/com/example/hpostesting/data/model/molbioresult/MolbioV2Result.kt @@ -4,7 +4,7 @@ import com.example.hpostesting.data.model.patient.HemoCubeTestData data class MolbioV2Result( val age: Int? = 31, - val analysisDate: String? = "", + val analysisDate: String? = "2024-02-08 16:33:56", val analysisId: String? = "", val analysisStatus: String? = "", val analysisType: String? = "HPOS", @@ -12,11 +12,11 @@ data class MolbioV2Result( val bloodGroup: String? = "", val coefficients: List? = listOf(22, 22), val collectionLocation: List? = listOf(), - val collectionTime: String? = "", + val collectionTime: String? = "2024-02-08 16:33:56", val collector: String? = "", val curveFitting: String? = "Linear", val deviceName: String? = "HPOS", - val expiryTime: String? = "", + val expiryTime: String? = "2024-02-08 16:33:56", val gender: String? = "", val interpretation: String? = "", val `operator`: String? = "", @@ -30,7 +30,7 @@ data class MolbioV2Result( val testId: String? = "", val testResult: String? = "", val testStatus: String? = "", - val testTime: String? = "", + val testTime: String? = "2024-02-08 16:33:56", val testType: String? = "", val thresholds: String? = "", val underMedication: Boolean? = false, diff --git a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt index fac8a0f..89e26b1 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/dashboard/HomeFragment.kt @@ -119,6 +119,40 @@ class HomeFragment : Fragment() { setSearch() checkForLocalDBData() checkForTokenAndUpdate() + + hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList -> + val resultList = MolbioV2ResultRequest(mutableListOf(MolbioV2Result())) + userDataList.forEach { userData -> + if (!userData.molbioFlag && isTokenAvailable) { + resultList.results?.add( + MolbioV2Result( + rawData = userData, + analysisId = userData._id, + analysisDate = "2024-02-08 16:33:56", + analysisStatus = userData.classificationResult, + thresholds = Constants.BUFFER_INTENSITY_THRESHOLDS[userData.deviceId].toString(), + interpretation = userData.classificationResult, + testId = userData._id, + testTime = userData.testTime, + collectionTime = "2024-02-08 16:33:56",//userData.testTime, + expiryTime = "2024-02-08 16:33:56"//userData.testTime, + ) + ) + } + if (!userData.molbioFlag && isTokenAvailable) { + userData.molbioFlag = true + hemoCubeViewModel.uploadResult(resultList) + } + if (!userData.localFlag) { + userData.localFlag = true + hemoCubeViewModel.bulkAddResultTestToDb(userData) + } + + } + + } + + } else { binding.internetAvailableCL.visibility = View.GONE binding.internetNotAvailableCL.visibility = View.VISIBLE @@ -165,6 +199,8 @@ class HomeFragment : Fragment() { } } } + + binding.btnNewKit.setOnClickListener { with(sharedPreference.edit()) { putString(Constants.KIT_NUMBER, "") @@ -192,18 +228,20 @@ class HomeFragment : Fragment() { val accessToken = sharedPreference.getString(Constants.ACCESS_TOKEN, "").toString() val password = sharedPreference.getString(Constants.DEVICE_PASSWORD_API, "").toString() val userID = sharedPreference.getString(Constants.DEVICE_ID_API, "").toString() + if (userID.isNotEmpty() && password.isNotEmpty()) { - if (accessToken.isEmpty()) { + if (!isTokenAvailable) { hemoCubeViewModel.login(createLoginRequestData(userID, password)) } else { if (isTokenExpired(accessToken)) { hemoCubeViewModel.login(createLoginRequestData(userID, password)) } else { isTokenAvailable = true + hemoCubeViewModel.deviceUpdate(createDeviceUpdateRequestData()) hemoCubeViewModel.uploadLogs() hemoCubeViewModel.startPeriodicCheckUpdate() - + } } } else { @@ -213,6 +251,7 @@ class HomeFragment : Fragment() { Toast.LENGTH_SHORT ).show() } + hemoCubeViewModel.loginResponse.observe(viewLifecycleOwner) { response -> when (response) { is Result.Success -> { @@ -594,29 +633,32 @@ class HomeFragment : Fragment() { hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList -> val resultList = MolbioV2ResultRequest(mutableListOf(MolbioV2Result())) userDataList.forEach { userData -> - if (!userData.localFlag) { - userData.localFlag = true - hemoCubeViewModel.bulkAddResultTestToDb(userData) if (!userData.molbioFlag && isTokenAvailable) { resultList.results?.add( MolbioV2Result( rawData = userData, analysisId = userData._id, - analysisDate = userData.testTime, + analysisDate = "2024-02-08 16:33:56", //userData.reportUploadTime, analysisStatus = userData.classificationResult, thresholds = Constants.BUFFER_INTENSITY_THRESHOLDS[userData.deviceId].toString(), interpretation = userData.classificationResult, testId = userData._id, testTime = userData.testTime, - collectionTime = userData.testTime, - expiryTime = userData.testTime, + collectionTime = "2024-02-08 16:33:56",//userData.testTime, + expiryTime = "2024-02-08 16:33:56",//userData.testTime, ) ) - } + + } + + if(!userData.localFlag){ + userData.localFlag = true + hemoCubeViewModel.bulkAddResultTestToDb(userData) + } + if (!userData.molbioFlag && isTokenAvailable) { + userData.molbioFlag = true + hemoCubeViewModel.uploadResult(resultList) } - } - if (isTokenAvailable) { - hemoCubeViewModel.uploadResult(resultList) } dialog.dismiss() }