diff --git a/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt b/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt index 62cbda1..8b24d41 100644 --- a/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt +++ b/app/src/main/java/com/example/hpostesting/data/dao/MyDataBase.kt @@ -11,7 +11,7 @@ import com.example.hpostesting.data.model.patient.HemoCubeTestData import com.google.android.datatransport.runtime.dagger.Provides import javax.inject.Singleton -@Database(entities = [UserData::class, HemoCubeTestData::class, DeviceData::class], version = 10, exportSchema = false) +@Database(entities = [UserData::class, HemoCubeTestData::class, DeviceData::class], version = 6, exportSchema = false) @TypeConverters(Converters::class) abstract class MyDatabase : RoomDatabase() { abstract fun userDao(): UserDao diff --git a/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt b/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt index f410705..2083849 100644 --- a/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt +++ b/app/src/main/java/com/example/hpostesting/data/model/patient/HemoCubeTestData.kt @@ -11,12 +11,16 @@ data class HemoCubeTestData( var incubationTime: String = "", var bloodGroup: String = "", var birthYear: String = "", + var state: String = "", + var abhaId: String = "", + var bloodGroup: String = "", var userImageURL: String = "", var location: UserData.Location? = null, var reportUploadTime: String? = "", var testType: String? = "HEMOCUBE", var testTime: String? = "", var testStatus: Boolean? = false, + var gender: String = "", var localFlag: Boolean = false, var deviceId: String? = "", var appVersion:String? = "", diff --git a/app/src/main/java/com/example/hpostesting/data/model/patient/UserData.kt b/app/src/main/java/com/example/hpostesting/data/model/patient/UserData.kt index a7ad7fd..8fe5e29 100644 --- a/app/src/main/java/com/example/hpostesting/data/model/patient/UserData.kt +++ b/app/src/main/java/com/example/hpostesting/data/model/patient/UserData.kt @@ -9,10 +9,11 @@ data class UserData( @PrimaryKey var _id: String = "", var name: String = "", - var bloodGroup: String = "", var incubationTime: String = "", var birthYear: String = "", + var abhaId: String = "", var userImageURL: String = "", + var gender: String ="", var location: Location? = null, var createdBy: String? = "", var reportUploadTime: String? = "", @@ -20,6 +21,7 @@ data class UserData( var testStatus: Boolean? = false, var mobileId: String = "", var deviceId: String = "", + var state: String = "", var deviceSerialNumber: String = "", var kitSerial: String = "", var csvPath: String = "", @@ -45,7 +47,6 @@ fun UserData.toHemoCubeTestData() = HemoCubeTestData( birthYear = birthYear, userImageURL = userImageURL, testStatus = testStatus, - bloodGroup = bloodGroup, - incubationTime = incubationTime, - location = location + location = location, + gender = gender ) diff --git a/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt b/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt index 53f8fd3..6aa46be 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/KitScanActivity.kt @@ -11,7 +11,6 @@ import androidx.appcompat.app.AppCompatActivity import com.example.hpostesting.data.DataHolder import com.example.hpostesting.data.constant.Constants import com.example.hpostesting.presentation.dashboard.DashboardActivity -import com.example.hpostesting.presentation.diagnostics.DiagnosticsActivity import com.example.hpostesting.presentation.hemocube.HemocubeActivity import com.example.hpostesting.presentation.testRight.TestRightActivity import com.google.android.material.snackbar.Snackbar diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/DigitalCardFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/DigitalCardFragment.kt new file mode 100644 index 0000000..15ea73a --- /dev/null +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/DigitalCardFragment.kt @@ -0,0 +1,61 @@ +package com.example.hpostesting.presentation.hemocube + +import android.content.Context +import android.content.SharedPreferences +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import androidx.fragment.app.activityViewModels +import com.example.hpostesting.data.DataHolder +import com.example.hpostesting.data.model.patient.toHemoCubeTestData +import `in`.sminnovations.hpostesting.R +import `in`.sminnovations.hpostesting.databinding.FragmentDigitalCardBinding +import `in`.sminnovations.hpostesting.databinding.FragmentHemoCubeReferenceBinding +import java.text.SimpleDateFormat +import java.util.Date + +class DigitalCardFragment : Fragment() { + private lateinit var binding: FragmentDigitalCardBinding + private val hemoCubeViewModel: HemoCubeViewModel by activityViewModels() + private lateinit var sharedPreferences: SharedPreferences + val testDetails = DataHolder.selectedTest?.toHemoCubeTestData() + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?, + ): View { + binding = FragmentDigitalCardBinding.inflate(inflater, container, false) + sharedPreferences = + requireContext().getSharedPreferences("PREFERENCE_NAME", Context.MODE_PRIVATE) + return binding.root + } + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + initViews() + } + + private fun initViews() { + activity?.runOnUiThread { + binding.progressBar.visibility = View.VISIBLE + } + val originalDateStr = testDetails?.testTime + val originalDateFormat = SimpleDateFormat("yyyy-MM-dd HH:mm:ss") + val originalDate: Date? = originalDateFormat.parse(originalDateStr) + val desiredDateFormat = SimpleDateFormat("MMM dd, yyyy") + val formattedDate: String = originalDate?.let { desiredDateFormat.format(it) } ?: "N/A" + activity?.runOnUiThread { + binding.progressBar.visibility = View.GONE + } + binding.name.text = "Name: ${testDetails?.name}" + binding.dob.text = "DOB: ${testDetails?.birthYear}" + binding.gender.text = "gender: ${testDetails?.gender}" + binding.State.text = "state: ${testDetails?.state}" + binding.abhaid.text = "ABHA ID: ${testDetails?.abhaId}" + binding.blood.text = "Blood Group: ${testDetails?.bloodGroup}" + binding.sicklecell.text = "Sickle-Cell: ${testDetails?.classificationResult}" + binding.issueDate.text = "Issue Date: $formattedDate" + } +} \ No newline at end of file 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 d392a37..b07c615 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 @@ -126,11 +126,23 @@ class HemoCubeFragment : Fragment() { hemoCubeViewModel.fireBaseUpload.observe(viewLifecycleOwner) { result -> if (result == "Success") { showToast("Test Results Uploaded Successfully") - val i = Intent( - requireContext().applicationContext, DashboardActivity::class.java - ) - startActivity(i) - (activity as HemocubeActivity).finish() + + val digitalCardFragment = DigitalCardFragment() + val transaction = parentFragmentManager.beginTransaction() + transaction.replace(R.id.fragment_container, digitalCardFragment) + transaction.addToBackStack(null) + transaction.commit() + +// val i = Intent( +// requireContext().applicationContext, DashboardActivity::class.java +// ) +// startActivity(i) +// (activity as HemocubeActivity).finish() +// val i = Intent( +// requireContext().applicationContext, DashboardActivity::class.java +// ) +// startActivity(i) +// (activity as HemocubeActivity).finish() } if (result == "Local") { showToast("Internet not available, test details stored locally") diff --git a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightViewModel.kt index 636f8b3..baf2b05 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/testRight/TestRightViewModel.kt @@ -2,7 +2,6 @@ package com.example.hpostesting.presentation.testRight import android.content.Context import android.net.Uri -import android.util.Log import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel diff --git a/app/src/main/res/drawable/indianoil.jpg b/app/src/main/res/drawable/indianoil.jpg new file mode 100644 index 0000000..3f6e528 Binary files /dev/null and b/app/src/main/res/drawable/indianoil.jpg differ diff --git a/app/src/main/res/drawable/karnataka.png b/app/src/main/res/drawable/karnataka.png new file mode 100644 index 0000000..4d12e96 Binary files /dev/null and b/app/src/main/res/drawable/karnataka.png differ diff --git a/app/src/main/res/drawable/person.xml b/app/src/main/res/drawable/person.xml new file mode 100644 index 0000000..98730cd --- /dev/null +++ b/app/src/main/res/drawable/person.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/user.png b/app/src/main/res/drawable/user.png new file mode 100644 index 0000000..68711d0 Binary files /dev/null and b/app/src/main/res/drawable/user.png differ diff --git a/app/src/main/res/layout/fragment_digital_card.xml b/app/src/main/res/layout/fragment_digital_card.xml new file mode 100644 index 0000000..00aeb77 --- /dev/null +++ b/app/src/main/res/layout/fragment_digital_card.xml @@ -0,0 +1,243 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +