From 0e847bad0ab1bcd503b1776b48927a133d824e06 Mon Sep 17 00:00:00 2001 From: Pritimay Sarkar Date: Sun, 29 Oct 2023 13:16:30 +0530 Subject: [PATCH] show warning msg for loginid mismatch --- .../presentation/hemocube/HemoCubeFragment.kt | 30 ++++++++++++------- .../layout/fragment_hemo_cube_reference.xml | 15 ++++++++++ 2 files changed, 34 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt index 3b0b05b..aae9d13 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeFragment.kt @@ -13,28 +13,20 @@ import android.widget.Toast import androidx.fragment.app.Fragment import androidx.fragment.app.activityViewModels import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.lifecycleScope 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.patient.DeviceData import com.example.hpostesting.data.model.patient.toHemoCubeTestData -import com.example.hpostesting.presentation.KitScanActivity import com.example.hpostesting.presentation.UsbServiceListener import com.example.hpostesting.presentation.dashboard.DashboardActivity import com.example.hpostesting.presentation.utils.MyDialogListener import com.example.hpostesting.presentation.utils.UIUtils import com.google.firebase.crashlytics.ktx.crashlytics -import com.google.firebase.firestore.FirebaseFirestore -import com.google.firebase.firestore.ktx.firestore import com.google.firebase.ktx.Firebase import com.google.firebase.perf.ktx.performance import `in`.sminnovations.hpostesting.R import `in`.sminnovations.hpostesting.databinding.FragmentHemoCubeReferenceBinding -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -import kotlinx.coroutines.tasks.await -import kotlinx.coroutines.withContext import kotlin.math.log10 class HemoCubeFragment : Fragment() { @@ -320,8 +312,20 @@ class HemoCubeFragment : Fragment() { private fun handleValidResult(validString: String, fullReadOutput: String) { try { val result = validString.split(" ") + val deviceLog = resultData if (result.size == 8) { val deviceSerialNo = result[2] + with(sharedPreferences.edit()) { + putString(Constants.DEVICE_ID, deviceSerialNo) + apply() + } + val loginId = sharedPreferences.getString(Constants.USER_ID, "").toString() + if (checkDeviceIdMismatch(deviceSerialNo, loginId)) { + activity?.runOnUiThread { + binding.errorMessage.text = "Warning: Login Id is different" + binding.errorMessage.visibility = View.VISIBLE + } + } val led1BufferForDevice = if (isUsingExistingBuffer) { sharedPreferences.getString(Constants.BUFFER_VALUE_1, "")?.toDoubleOrNull() } else { @@ -351,8 +355,6 @@ class HemoCubeFragment : Fragment() { // } // } DataHolder.hemoCubeTestData?.apply { - - deviceId = deviceSerialNo led1Buffer = led1BufferForDevice led2Buffer = led2BufferForDevice @@ -365,7 +367,7 @@ class HemoCubeFragment : Fragment() { this.calculatedRatio = calculateRatio(deviceRatio) this.classificationResult = findResult(calculatedRatio) hemoCubeViewModel.messages.postValue(this.classificationResult) - this.resultData = fullReadOutput + this.resultData = deviceLog if (!isUsingExistingBuffer) { with(sharedPreferences.edit()) { putString(Constants.BUFFER_VALUE_1, led1Buffer.toString()) @@ -491,4 +493,10 @@ class HemoCubeFragment : Fragment() { "" } } + + private fun checkDeviceIdMismatch(deviceId: String, loginId: String): Boolean { + if (!deviceId.isNullOrEmpty() && !loginId.isNullOrEmpty() && deviceId.last() != loginId.last()) + return true + return false + } } diff --git a/app/src/main/res/layout/fragment_hemo_cube_reference.xml b/app/src/main/res/layout/fragment_hemo_cube_reference.xml index 7713f9a..162a66c 100644 --- a/app/src/main/res/layout/fragment_hemo_cube_reference.xml +++ b/app/src/main/res/layout/fragment_hemo_cube_reference.xml @@ -163,6 +163,21 @@ app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@id/tv_subtitle4" /> + +