Fetching caliberation value done

This commit is contained in:
smileomi18@gmail.com
2023-08-02 20:02:45 +05:30
parent 0b44ce47b9
commit 6e2729a075
4 changed files with 30 additions and 1 deletions

View File

@@ -5,12 +5,13 @@ import androidx.room.Database
import androidx.room.Room import androidx.room.Room
import androidx.room.RoomDatabase import androidx.room.RoomDatabase
import androidx.room.TypeConverters import androidx.room.TypeConverters
import com.example.hpostesting.data.model.patient.DeviceData
import com.example.hpostesting.data.model.patient.UserData import com.example.hpostesting.data.model.patient.UserData
import com.example.hpostesting.data.model.patient.HemoCubeTestData import com.example.hpostesting.data.model.patient.HemoCubeTestData
import com.google.android.datatransport.runtime.dagger.Provides import com.google.android.datatransport.runtime.dagger.Provides
import javax.inject.Singleton import javax.inject.Singleton
@Database(entities = [UserData::class, HemoCubeTestData::class], version = 2, exportSchema = false) @Database(entities = [UserData::class, HemoCubeTestData::class,DeviceData::class], version = 2, exportSchema = false)
@TypeConverters(Converters::class) @TypeConverters(Converters::class)
abstract class MyDatabase : RoomDatabase() { abstract class MyDatabase : RoomDatabase() {
abstract fun userDao(): UserDao abstract fun userDao(): UserDao

View File

@@ -6,6 +6,7 @@ import androidx.room.Room
import com.example.hpostesting.data.dao.MyDatabase import com.example.hpostesting.data.dao.MyDatabase
import com.example.hpostesting.data.model.PendingUploads import com.example.hpostesting.data.model.PendingUploads
import com.example.hpostesting.data.model.Response import com.example.hpostesting.data.model.Response
import com.example.hpostesting.data.model.patient.DeviceData
import com.example.hpostesting.data.model.patient.HemoCubeTestData import com.example.hpostesting.data.model.patient.HemoCubeTestData
import com.example.hpostesting.data.model.patient.UserData import com.example.hpostesting.data.model.patient.UserData
import com.google.android.datatransport.runtime.dagger.Provides import com.google.android.datatransport.runtime.dagger.Provides
@@ -13,7 +14,9 @@ import com.google.firebase.firestore.FirebaseFirestore
import com.google.firebase.firestore.ktx.firestore import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase import com.google.firebase.ktx.Firebase
import com.google.firebase.storage.ktx.storage import com.google.firebase.storage.ktx.storage
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.tasks.await import kotlinx.coroutines.tasks.await
import kotlinx.coroutines.withContext
import java.io.File import java.io.File
import javax.inject.Singleton import javax.inject.Singleton
@@ -112,4 +115,8 @@ class DatabaseRepository : Repository {
Response.Error(e) Response.Error(e)
} }
} }
suspend fun getDeviceDataById(): List<DeviceData> {
return db.collection("devices").get().await().toObjects(DeviceData::class.java)
}
} }

View File

@@ -14,6 +14,7 @@ import android.widget.Toast
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import com.example.hpostesting.data.DataHolder import com.example.hpostesting.data.DataHolder
import com.example.hpostesting.data.model.patient.DeviceData
import com.example.hpostesting.data.model.patient.toHemoCubeTestData import com.example.hpostesting.data.model.patient.toHemoCubeTestData
import com.example.hpostesting.presentation.UsbServiceListener import com.example.hpostesting.presentation.UsbServiceListener
import com.example.hpostesting.presentation.utils.MyDialogListener import com.example.hpostesting.presentation.utils.MyDialogListener
@@ -34,6 +35,8 @@ class HemoCubeFragment : Fragment() {
private val ACTION_USB_PERMISSION = "com.example.usbpermission" private val ACTION_USB_PERMISSION = "com.example.usbpermission"
private val TIMEOUT = 0 private val TIMEOUT = 0
private var deviceData = listOf<DeviceData>()
private val usbManager: UsbManager by lazy { private val usbManager: UsbManager by lazy {
requireContext().getSystemService(Context.USB_SERVICE) as UsbManager requireContext().getSystemService(Context.USB_SERVICE) as UsbManager
} }
@@ -66,6 +69,12 @@ class HemoCubeFragment : Fragment() {
binding.progressBar.visibility = View.GONE binding.progressBar.visibility = View.GONE
} }
hemoCubeViewModel.getDeviceData()
hemoCubeViewModel.deviceData.observe(viewLifecycleOwner) {
deviceData = it
}
hemoCubeViewModel.networkStatusLiveData.observe(viewLifecycleOwner) { isNetworkAvailable -> hemoCubeViewModel.networkStatusLiveData.observe(viewLifecycleOwner) { isNetworkAvailable ->
apply { apply {
kitSerial = DataHolder.hemoCubeTestData?.kitSerial kitSerial = DataHolder.hemoCubeTestData?.kitSerial
@@ -187,6 +196,10 @@ class HemoCubeFragment : Fragment() {
Log.d("greenBuffer", blueIntensity.toString()) Log.d("greenBuffer", blueIntensity.toString())
Log.d("greenBuffer", blueBIntensity.toString()) Log.d("greenBuffer", blueBIntensity.toString())
} }
private fun calculateResult() {
hemoCubeViewModel
}
private fun fetchHemoCubeResult() { private fun fetchHemoCubeResult() {
if (DataHolder.hemoCubeTestData == null) { if (DataHolder.hemoCubeTestData == null) {
DataHolder.hemoCubeTestData = DataHolder.selectedTest?.toHemoCubeTestData() DataHolder.hemoCubeTestData = DataHolder.selectedTest?.toHemoCubeTestData()

View File

@@ -10,6 +10,7 @@ import com.example.hpostesting.data.DataHolder
import com.example.hpostesting.data.NetworkStatusLiveData import com.example.hpostesting.data.NetworkStatusLiveData
import com.example.hpostesting.data.dao.HemoCubeDao import com.example.hpostesting.data.dao.HemoCubeDao
import com.example.hpostesting.data.model.Response import com.example.hpostesting.data.model.Response
import com.example.hpostesting.data.model.patient.DeviceData
import com.example.hpostesting.data.model.patient.toHemoCubeTestData import com.example.hpostesting.data.model.patient.toHemoCubeTestData
import com.example.hpostesting.data.repository.DatabaseRepository import com.example.hpostesting.data.repository.DatabaseRepository
import dagger.hilt.android.lifecycle.HiltViewModel import dagger.hilt.android.lifecycle.HiltViewModel
@@ -29,6 +30,7 @@ class HemoCubeViewModel @Inject constructor(
val progressBar = MutableLiveData(false) val progressBar = MutableLiveData(false)
val testDetails = DataHolder.selectedTest?.toHemoCubeTestData() val testDetails = DataHolder.selectedTest?.toHemoCubeTestData()
private val _networkStatusLiveData = NetworkStatusLiveData(context) private val _networkStatusLiveData = NetworkStatusLiveData(context)
val deviceData = MutableLiveData<List<DeviceData>>()
val networkStatusLiveData: LiveData<Boolean> val networkStatusLiveData: LiveData<Boolean>
get() = _networkStatusLiveData get() = _networkStatusLiveData
val fireBaseUpload = MutableLiveData<String>() val fireBaseUpload = MutableLiveData<String>()
@@ -61,6 +63,12 @@ class HemoCubeViewModel @Inject constructor(
} }
} }
fun getDeviceData() = viewModelScope.launch {
repository.getDeviceDataById().let {
deviceData.postValue(it)
}
}
private fun addResultTestToDb() { private fun addResultTestToDb() {
testDetails?.deviceRatio = DataHolder.hemocubeResult testDetails?.deviceRatio = DataHolder.hemocubeResult
testDetails?.resultData = DataHolder.hemoCubeTestData?.resultData.toString() testDetails?.resultData = DataHolder.hemoCubeTestData?.resultData.toString()