Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
@@ -151,7 +151,7 @@ class HomeFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Now re-subscribe to allUserData
|
// Now re-subscribe to allUserData
|
||||||
hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { originalUserDataList ->
|
hemoCubeViewModel.allLocalData.observe(viewLifecycleOwner) { originalUserDataList ->
|
||||||
|
|
||||||
Log.d("LOCAL_DB OBSERVE", "OBSERVE CALLED")
|
Log.d("LOCAL_DB OBSERVE", "OBSERVE CALLED")
|
||||||
|
|
||||||
@@ -237,30 +237,34 @@ class HomeFragment : Fragment() {
|
|||||||
logoutUser(requireContext())
|
logoutUser(requireContext())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
binding.btnLogout1.setOnClickListener {
|
||||||
|
logoutUser(requireContext())
|
||||||
|
}
|
||||||
|
|
||||||
binding.uploadData.setOnClickListener {
|
binding.uploadData.setOnClickListener {
|
||||||
// showUploadDialog(requireContext())
|
// showUploadDialog(requireContext())
|
||||||
}
|
}
|
||||||
hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userData ->
|
// hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userData ->
|
||||||
|
//
|
||||||
val btnSaveLocalVisibility =
|
// val btnSaveLocalVisibility =
|
||||||
if (userData.any { it.testStatus == true }) View.GONE else View.GONE
|
// if (userData.any { it.testStatus == true }) View.GONE else View.GONE
|
||||||
|
//
|
||||||
binding.downloadCSV.visibility = btnSaveLocalVisibility
|
// binding.downloadCSV.visibility = btnSaveLocalVisibility
|
||||||
|
//
|
||||||
binding.downloadCSV.setOnClickListener {
|
// binding.downloadCSV.setOnClickListener {
|
||||||
if (btnSaveLocalVisibility == View.VISIBLE) {
|
// if (btnSaveLocalVisibility == View.VISIBLE) {
|
||||||
// Execute the action when the button is visible (testStatus is true for at least one user)
|
// // Execute the action when the button is visible (testStatus is true for at least one user)
|
||||||
showDownloadDialog(requireContext())
|
// showDownloadDialog(requireContext())
|
||||||
} else {
|
// } else {
|
||||||
// Handle the case when the button is not visible
|
// // Handle the case when the button is not visible
|
||||||
Toast.makeText(
|
// Toast.makeText(
|
||||||
requireContext(),
|
// requireContext(),
|
||||||
"No test details stored locally",
|
// "No test details stored locally",
|
||||||
Toast.LENGTH_SHORT
|
// Toast.LENGTH_SHORT
|
||||||
).show()
|
// ).show()
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
binding.btnNewKit.setOnClickListener {
|
binding.btnNewKit.setOnClickListener {
|
||||||
@@ -272,6 +276,17 @@ class HomeFragment : Fragment() {
|
|||||||
startActivity(Intent(requireContext(), KitScanActivity::class.java))
|
startActivity(Intent(requireContext(), KitScanActivity::class.java))
|
||||||
requireActivity().finish()
|
requireActivity().finish()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
binding.btnNewKitoffline.setOnClickListener {
|
||||||
|
with(sharedPreference.edit()) {
|
||||||
|
putString(Constants.KIT_NUMBER, "")
|
||||||
|
putInt(Constants.KIT_COUNT, 0)
|
||||||
|
apply()
|
||||||
|
}
|
||||||
|
startActivity(Intent(requireContext(), KitScanActivity::class.java))
|
||||||
|
requireActivity().finish()
|
||||||
|
}
|
||||||
binding.btnQuickCapture.setOnClickListener {
|
binding.btnQuickCapture.setOnClickListener {
|
||||||
DataHolder.hemoCubeTestData = HemoCubeTestData()
|
DataHolder.hemoCubeTestData = HemoCubeTestData()
|
||||||
|
|
||||||
@@ -847,16 +862,16 @@ class HomeFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun checkForLocalDBData() {
|
private fun checkForLocalDBData() {
|
||||||
viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
// viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
||||||
val uploadDataVisibility = if (userDataList.isEmpty()) View.GONE else View.VISIBLE
|
// val uploadDataVisibility = if (userDataList.isEmpty()) View.GONE else View.VISIBLE
|
||||||
binding.uploadData.visibility = uploadDataVisibility
|
// binding.uploadData.visibility = uploadDataVisibility
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
// hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
||||||
val uploadDataVisibility =
|
// val uploadDataVisibility =
|
||||||
if (userDataList.any { !it.localFlag && !it.molbioFlag && it.testStatus == true }) View.VISIBLE else View.GONE
|
// if (userDataList.any { !it.localFlag && !it.molbioFlag && it.testStatus == true }) View.VISIBLE else View.GONE
|
||||||
binding.uploadData.visibility = uploadDataVisibility
|
// binding.uploadData.visibility = uploadDataVisibility
|
||||||
}
|
// }
|
||||||
|
|
||||||
hemoCubeViewModel.allKitTestData.observe(viewLifecycleOwner) { bufferData ->
|
hemoCubeViewModel.allKitTestData.observe(viewLifecycleOwner) { bufferData ->
|
||||||
val uploadDataVisibility =
|
val uploadDataVisibility =
|
||||||
@@ -866,11 +881,11 @@ class HomeFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private fun checkUnprocessedCSVData() {
|
private fun checkUnprocessedCSVData() {
|
||||||
hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
// hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
||||||
val downloadDataVisibility =
|
// val downloadDataVisibility =
|
||||||
if (userDataList.any { !it.isCSVCreated && it.testStatus == true }) View.GONE else View.GONE
|
// if (userDataList.any { !it.isCSVCreated && it.testStatus == true }) View.GONE else View.GONE
|
||||||
binding.downloadCSV.visibility = downloadDataVisibility
|
// binding.downloadCSV.visibility = downloadDataVisibility
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun sanitizeDoubleValues(hemoCubeTestData: HemoCubeTestData): HemoCubeTestData {
|
private fun sanitizeDoubleValues(hemoCubeTestData: HemoCubeTestData): HemoCubeTestData {
|
||||||
@@ -923,23 +938,23 @@ class HomeFragment : Fragment() {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
private fun uploadLocalDBData(dialog: DialogInterface) {
|
private fun uploadLocalDBData(dialog: DialogInterface) {
|
||||||
viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
// viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
||||||
if (userDataList.isEmpty()) {
|
// if (userDataList.isEmpty()) {
|
||||||
dialog.dismiss()
|
// dialog.dismiss()
|
||||||
} else {
|
// } else {
|
||||||
userDataList.forEach { userData ->
|
// userDataList.forEach { userData ->
|
||||||
viewModel.bulkUploadResultToDatabase(userData)
|
// viewModel.bulkUploadResultToDatabase(userData)
|
||||||
viewModel.deleteById(userData._id)
|
// viewModel.deleteById(userData._id)
|
||||||
}
|
// }
|
||||||
dialog.dismiss()
|
// dialog.dismiss()
|
||||||
Toast.makeText(
|
// Toast.makeText(
|
||||||
requireContext(), R.string.upload_success_message, Toast.LENGTH_SHORT
|
// requireContext(), R.string.upload_success_message, Toast.LENGTH_SHORT
|
||||||
).show()
|
// ).show()
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
// hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
||||||
val resultList = MolbioV2ResultRequest(mutableListOf(MolbioV2Result()))
|
// val resultList = MolbioV2ResultRequest(mutableListOf(MolbioV2Result()))
|
||||||
// userDataList.forEach { userData ->
|
// userDataList.forEach { userData ->
|
||||||
// if (!userData.molbioFlag && isTokenAvailable) {
|
// if (!userData.molbioFlag && isTokenAvailable) {
|
||||||
// resultList.results?.add(
|
// resultList.results?.add(
|
||||||
@@ -968,8 +983,8 @@ class HomeFragment : Fragment() {
|
|||||||
// hemoCubeViewModel.uploadResult(resultList)
|
// hemoCubeViewModel.uploadResult(resultList)
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
dialog.dismiss()
|
// dialog.dismiss()
|
||||||
}
|
// }
|
||||||
|
|
||||||
hemoCubeViewModel.allKitTestData.observe(viewLifecycleOwner) { kitDataList ->
|
hemoCubeViewModel.allKitTestData.observe(viewLifecycleOwner) { kitDataList ->
|
||||||
kitDataList.forEach { userData ->
|
kitDataList.forEach { userData ->
|
||||||
@@ -1044,7 +1059,7 @@ class HomeFragment : Fragment() {
|
|||||||
builder.setMessage(R.string.download_db_registration_message)
|
builder.setMessage(R.string.download_db_registration_message)
|
||||||
|
|
||||||
builder.setPositiveButton(R.string.downloadcsv) { dialog, _ ->
|
builder.setPositiveButton(R.string.downloadcsv) { dialog, _ ->
|
||||||
downloadLocalDBData(dialog)
|
// downloadLocalDBData(dialog)
|
||||||
}
|
}
|
||||||
|
|
||||||
builder.setNegativeButton(R.string.cancel) { dialog, _ ->
|
builder.setNegativeButton(R.string.cancel) { dialog, _ ->
|
||||||
@@ -1055,49 +1070,49 @@ class HomeFragment : Fragment() {
|
|||||||
dialog.show()
|
dialog.show()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun downloadLocalDBData(dialog: DialogInterface) {
|
// private fun downloadLocalDBData(dialog: DialogInterface) {
|
||||||
var csvDownloaded = false
|
// var csvDownloaded = false
|
||||||
hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
// hemoCubeViewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
||||||
try {
|
// try {
|
||||||
if (!csvDownloaded) {
|
// if (!csvDownloaded) {
|
||||||
val downloadList = mutableListOf<HemoCubeTestData>()
|
// val downloadList = mutableListOf<HemoCubeTestData>()
|
||||||
|
//
|
||||||
userDataList.forEach { userData ->
|
// userDataList.forEach { userData ->
|
||||||
if (userData.testStatus == true) {
|
// if (userData.testStatus == true) {
|
||||||
// if (!userData.isCSVCreated) {
|
//// if (!userData.isCSVCreated) {
|
||||||
downloadList.add(userData) // Add the userData to downloadList
|
// downloadList.add(userData) // Add the userData to downloadList
|
||||||
}
|
|
||||||
// }
|
// }
|
||||||
}
|
//// }
|
||||||
|
// }
|
||||||
if (downloadList.isNotEmpty()) {
|
//
|
||||||
// Call ViewModel function to create CSV with filtered data
|
// if (downloadList.isNotEmpty()) {
|
||||||
hemoCubeViewModel.createCSV(downloadList, requireContext())
|
// // Call ViewModel function to create CSV with filtered data
|
||||||
csvDownloaded = true
|
// hemoCubeViewModel.createCSV(downloadList, requireContext())
|
||||||
Toast.makeText(
|
// csvDownloaded = true
|
||||||
requireContext(),
|
// Toast.makeText(
|
||||||
"CSV file downloaded successfully",
|
// requireContext(),
|
||||||
Toast.LENGTH_SHORT
|
// "CSV file downloaded successfully",
|
||||||
).show()
|
// Toast.LENGTH_SHORT
|
||||||
} else {
|
// ).show()
|
||||||
Toast.makeText(
|
// } else {
|
||||||
requireContext(),
|
// Toast.makeText(
|
||||||
"No data to download",
|
// requireContext(),
|
||||||
Toast.LENGTH_SHORT
|
// "No data to download",
|
||||||
)
|
// Toast.LENGTH_SHORT
|
||||||
.show()
|
// )
|
||||||
}
|
// .show()
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
} catch (e: Exception) {
|
//
|
||||||
e.printStackTrace()
|
// } catch (e: Exception) {
|
||||||
Toast.makeText(requireContext(), "Error downloading CSV file", Toast.LENGTH_SHORT)
|
// e.printStackTrace()
|
||||||
.show()
|
// Toast.makeText(requireContext(), "Error downloading CSV file", Toast.LENGTH_SHORT)
|
||||||
} finally {
|
// .show()
|
||||||
dialog.dismiss()
|
// } finally {
|
||||||
}
|
// dialog.dismiss()
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
private fun getDeviceId() {
|
private fun getDeviceId() {
|
||||||
Log.d("HomeFragmentUSb","getDeviceId")
|
Log.d("HomeFragmentUSb","getDeviceId")
|
||||||
|
|||||||
@@ -89,6 +89,7 @@ class HemoCubeViewModel @Inject constructor(
|
|||||||
|
|
||||||
private val _networkStatusLiveData = NetworkStatusLiveData(context)
|
private val _networkStatusLiveData = NetworkStatusLiveData(context)
|
||||||
val allUserData = hemoCubeDao.getAll()
|
val allUserData = hemoCubeDao.getAll()
|
||||||
|
val allLocalData = hemoCubeDao.getAll()
|
||||||
val allPendingUserToUpload = MutableLiveData<List<HemoCubeTestData>>()
|
val allPendingUserToUpload = MutableLiveData<List<HemoCubeTestData>>()
|
||||||
val allKitTestData = hemoCubeBufferDao.getAll()
|
val allKitTestData = hemoCubeBufferDao.getAll()
|
||||||
val deviceData = MutableLiveData<DeviceData?>()
|
val deviceData = MutableLiveData<DeviceData?>()
|
||||||
|
|||||||
@@ -38,10 +38,20 @@
|
|||||||
android:visibility="gone"
|
android:visibility="gone"
|
||||||
android:padding="24dp">
|
android:padding="24dp">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/btnLogout1"
|
||||||
|
android:layout_width="30dp"
|
||||||
|
android:layout_height="30dp"
|
||||||
|
android:layout_marginEnd="10dp"
|
||||||
|
android:src="@drawable/baseline_logout_24"
|
||||||
|
app:layout_constraintTop_toTopOf="@+id/internetNotAvailableCL"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
/>
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_title_no_internet"
|
android:id="@+id/tv_title_no_internet"
|
||||||
style="@style/title1"
|
style="@style/title1"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_marginTop="24dp"
|
||||||
@@ -125,6 +135,27 @@
|
|||||||
<!-- app:layout_constraintBottom_toBottomOf="@+id/rv_order_offline"-->
|
<!-- app:layout_constraintBottom_toBottomOf="@+id/rv_order_offline"-->
|
||||||
<!-- app:layout_constraintStart_toStartOf="parent" />-->
|
<!-- app:layout_constraintStart_toStartOf="parent" />-->
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/label1"
|
||||||
|
style="@style/title1_1"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:text="@string/new_kit"
|
||||||
|
app:layout_constraintBottom_toTopOf="@+id/btnNewKitoffline"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
|
android:id="@+id/btnNewKitoffline"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="8dp"
|
||||||
|
android:backgroundTint="@color/primary"
|
||||||
|
android:contentDescription="@string/new_kit"
|
||||||
|
android:src="@drawable/ic_add"
|
||||||
|
app:elevation="1dp"
|
||||||
|
app:layout_constraintBottom_toBottomOf="parent"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent" />
|
||||||
|
|
||||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||||
|
|
||||||
<androidx.constraintlayout.widget.ConstraintLayout
|
<androidx.constraintlayout.widget.ConstraintLayout
|
||||||
|
|||||||
Reference in New Issue
Block a user