diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_04-12-2023_02_50_pm_[Changes]/shelved.patch b/.idea/shelf/Uncommitted_changes_before_Checkout_at_04-12-2023_02_50_pm_[Changes]/shelved.patch
new file mode 100644
index 0000000..e69de29
diff --git a/.idea/shelf/Uncommitted_changes_before_Checkout_at_04-12-2023_02_50_pm__Changes_.xml b/.idea/shelf/Uncommitted_changes_before_Checkout_at_04-12-2023_02_50_pm__Changes_.xml
new file mode 100644
index 0000000..536290a
--- /dev/null
+++ b/.idea/shelf/Uncommitted_changes_before_Checkout_at_04-12-2023_02_50_pm__Changes_.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 4e0ca32..2031141 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -94,12 +94,10 @@ dependencies {
implementation 'com.github.bumptech.glide:glide:4.13.2'
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
- implementation 'com.opencsv:opencsv:5.5'
-
//Room
- implementation "androidx.room:room-ktx:2.6.1"
- implementation "androidx.room:room-runtime:2.6.1"
- kapt ("androidx.room:room-compiler:2.6.1")
+ implementation "androidx.room:room-ktx:2.6.0"
+ implementation "androidx.room:room-runtime:2.6.0"
+ kapt ("androidx.room:room-compiler:2.6.0")
// Barcode scanner
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9cda14d..14f9ab4 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -7,9 +7,7 @@
android:required="false" />
-
-
@@ -45,7 +43,7 @@
diff --git a/app/src/main/java/com/example/hposregistration/dao/MyDataBase.kt b/app/src/main/java/com/example/hposregistration/dao/MyDataBase.kt
index b2ff720..649ff6a 100644
--- a/app/src/main/java/com/example/hposregistration/dao/MyDataBase.kt
+++ b/app/src/main/java/com/example/hposregistration/dao/MyDataBase.kt
@@ -9,7 +9,7 @@ import androidx.room.migration.Migration
import androidx.sqlite.db.SupportSQLiteDatabase
import com.example.hposregistration.data.user.UserData
-@Database(entities = [UserData::class], version = 3, exportSchema = false)
+@Database(entities = [UserData::class], version = 1, exportSchema = false)
abstract class MyDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
diff --git a/app/src/main/java/com/example/hposregistration/dao/UserDao.kt b/app/src/main/java/com/example/hposregistration/dao/UserDao.kt
index 3028322..bdff697 100644
--- a/app/src/main/java/com/example/hposregistration/dao/UserDao.kt
+++ b/app/src/main/java/com/example/hposregistration/dao/UserDao.kt
@@ -20,7 +20,4 @@ interface UserDao {
@Query("DELETE FROM user_table WHERE _id = :id")
suspend fun deleteById(id: String)
-
- @Query("UPDATE user_table SET isCSVCreated = :newValue WHERE _id = :id")
- suspend fun updateCSVFieldById(id: String, newValue: Boolean)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hposregistration/data/MainRepository.kt b/app/src/main/java/com/example/hposregistration/data/MainRepository.kt
index 7151662..715827d 100644
--- a/app/src/main/java/com/example/hposregistration/data/MainRepository.kt
+++ b/app/src/main/java/com/example/hposregistration/data/MainRepository.kt
@@ -30,8 +30,4 @@ class MainRepository @Inject constructor(
return userFireBaseDao.addUserToDatabase(userData)
}
- suspend fun updateCSVFieldById(id: String, isCSVCreated: Boolean) {
- userDao.updateCSVFieldById(id, isCSVCreated)
- }
-
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hposregistration/data/datasource/LocalFileDataSource.kt b/app/src/main/java/com/example/hposregistration/data/datasource/LocalFileDataSource.kt
deleted file mode 100644
index 829bf9e..0000000
--- a/app/src/main/java/com/example/hposregistration/data/datasource/LocalFileDataSource.kt
+++ /dev/null
@@ -1,124 +0,0 @@
-package com.example.hpostesting.data.datasource
-
-import android.os.Environment
-import com.example.hposregistration.data.user.UserData
-
-import com.opencsv.CSVWriter
-import java.io.File
-import java.io.FileWriter
-import java.io.IOException
-
-class LocalFileDataSource {
-
- fun saveCsvToDisk(filepath: String, contents: ArrayList>){
- val writer = CSVWriter(FileWriter(filepath))
- writer.writeAll(contents) // data is adding to csv
- writer.close()
- }
-
- fun saveTextToDisk(filepath: String, contents: String){
- val writer = FileWriter(File(filepath))
-
- writer.append(contents)
- writer.flush()
- writer.close()
- }
-
-
- fun exportDataToCSV(
- fileName: String, dataList: List
- ): Boolean {
- try {
- val formattedFileName = fileName.replace(Regex("[^a-zA-Z0-9.-]"), "_") // Replace special characters with underscores
- val filePath = File(getExternalStorageDirectory(), formattedFileName)
- val writer = FileWriter(filePath)
- val csvWriter = CSVWriter(writer)
- // Write CSV header
- val header = arrayOf(
- "_id",
- "name",
- "bloodGroup",
- "birthYear", // Include other fields from the data class
- "state",
- "abhaId",
- "userImageURL",
- "testStatus", // Assuming testStatus is a boolean field
- "gender",
- "appVersion",
- "phoneNumber",
- "careOf",
- "maritalStatus",
- "category",
- "caste",
- "subCaste",
- "house",
- "city",
- "district",
- "state",
- "pinCode",
- "isUnderMedication",
- "isUnderTransfusion",
- "sickleCellHistory",
- "userImageURL",
- "registeredBy",
- "createdAt",
- "registrationCenterName"
-
- )
- csvWriter.writeNext(header)
-
- // Write data rows
- for (data in dataList) {
- val row = arrayOf(
- data._id,
- data.name,
- data.bloodGroup,
- data.birthYear ?: "", // Replace with the actual birthYear field
- data.state,
- data.abhaId,
- data.userImageURL,
- data.testStatus?.toString() ?: "",
- data.gender,
- data.appVersion ?: "",
- data.phoneNumber,
- data.careOf,
- data.maritalStatus,
- data.category,
- data.caste,
- data.subCaste ?: "",
- data.house,
- data.city,
- data.district,
- data.state,
- data.pinCode,
- data.isUnderMedication?.toString() ?: "",
- data.isUnderTransfusion?.toString() ?: "",
- data.sickleCellHistory ?: "",
- data.userImageURL,
- data.registeredBy ?: "",
- data.createdAt ?: "",
- data.registrationCenterName ?: ""
-
- )
- csvWriter.writeNext(row)
- }
- writer.close()
- return true
- } catch (e: IOException) {
- e.printStackTrace()
- return false
- }
- }
-
- private fun getExternalStorageDirectory(): File {
- val folder = File(Environment.getExternalStorageDirectory(), "HPOSRegistration")
-
- if (!folder.exists()) {
- folder.mkdirs()
- }
-
- return folder
- }
-
-
-}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hposregistration/data/user/UserData.kt b/app/src/main/java/com/example/hposregistration/data/user/UserData.kt
index 8ba7c60..0b40ebc 100644
--- a/app/src/main/java/com/example/hposregistration/data/user/UserData.kt
+++ b/app/src/main/java/com/example/hposregistration/data/user/UserData.kt
@@ -35,9 +35,7 @@ data class UserData(
var registeredBy: String? = "",
var createdAt: String? = "",
var registrationCenterName: String? = "",
- var testStatus: Boolean = false,
- var isCSVCreated: Boolean = false,
- var localFlag: Boolean = false,
+ var testStatus: Boolean = false
){
enum class Gender {
MALE,
diff --git a/app/src/main/java/com/example/hposregistration/di/AppModule.kt b/app/src/main/java/com/example/hposregistration/di/AppModule.kt
index bda8c90..9f0bdf2 100644
--- a/app/src/main/java/com/example/hposregistration/di/AppModule.kt
+++ b/app/src/main/java/com/example/hposregistration/di/AppModule.kt
@@ -5,7 +5,6 @@ import android.content.Context
import androidx.room.Room
import com.example.hposregistration.dao.MyDatabase
import com.example.hposregistration.dao.UserDao
-import com.example.hpostesting.data.datasource.LocalFileDataSource
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
@@ -42,10 +41,4 @@ object AppModule {
fun provideContext(application: Application): Context {
return application.applicationContext
}
-
- @Provides
- @Singleton
- fun provideLocalFileDataSource(): LocalFileDataSource {
- return LocalFileDataSource()
- }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hposregistration/network/UserDao.kt b/app/src/main/java/com/example/hposregistration/network/UserDao.kt
index b993bec..06fdfdc 100644
--- a/app/src/main/java/com/example/hposregistration/network/UserDao.kt
+++ b/app/src/main/java/com/example/hposregistration/network/UserDao.kt
@@ -1,6 +1,5 @@
package com.example.hposregistration.network
-import androidx.room.Query
import com.example.hposregistration.data.Response
import com.example.hposregistration.data.user.UserData
import com.google.firebase.firestore.FirebaseFirestore
@@ -25,8 +24,6 @@ class UserDao {
}
}
-
-
// suspend fun getPatientList(): List {
// return patientCollection.get().await().toObjects(UserData::class.java)
// }
diff --git a/app/src/main/java/com/example/hposregistration/ui/fragments/UserListFragment.kt b/app/src/main/java/com/example/hposregistration/ui/fragments/UserListFragment.kt
index cc9bb56..78cb135 100644
--- a/app/src/main/java/com/example/hposregistration/ui/fragments/UserListFragment.kt
+++ b/app/src/main/java/com/example/hposregistration/ui/fragments/UserListFragment.kt
@@ -5,13 +5,11 @@ import android.content.Context
import android.content.DialogInterface
import android.content.SharedPreferences
import android.os.Bundle
-import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.Button
import android.widget.Toast
-import androidx.fragment.app.activityViewModels
import androidx.fragment.app.viewModels
import androidx.navigation.fragment.findNavController
import com.example.hposregistration.adapters.UserListOfflineAdapter
@@ -35,7 +33,7 @@ class UserListFragment : BaseFragment() {
private var _binding: FragmentUserListBinding? = null
private val binding get() = _binding!!
- private val viewModel:RegistrationViewModel by activityViewModels()
+ private val viewModel by viewModels()
private var isOnline = false
@@ -86,10 +84,6 @@ class UserListFragment : BaseFragment() {
showUploadDialog(requireContext())
}
- binding.btnSaveLocal.setOnClickListener {
- showDownloadDialog(requireContext())
- }
-
binding.btnsettings.setOnClickListener{
findNavController().navigate(R.id.action_userListFragment_to_languageSettingsFragment)
@@ -193,25 +187,6 @@ class UserListFragment : BaseFragment() {
adapter.startListening()
}
-
- private fun showDownloadDialog(context: Context) {
- val builder = AlertDialog.Builder(context)
- builder.setTitle(R.string.download_db_registration_title)
- builder.setMessage(R.string.download_db_registration_message)
-
- builder.setPositiveButton(R.string.downloadcsv) { dialog, _ ->
- downloadLocalDBData(dialog)
- }
-
- builder.setNegativeButton(R.string.cancel) { dialog, _ ->
- dialog.dismiss()
- }
-
- val dialog = builder.create()
- dialog.show()
- }
-
-
private fun fetchFromLocalDB() {
binding.uploadData.visibility = View.GONE
viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
@@ -234,40 +209,6 @@ class UserListFragment : BaseFragment() {
}
}
-
- private fun downloadLocalDBData(dialog: DialogInterface) {
- viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
- try {
- val downloadList = mutableListOf()
-
- userDataList.forEach { userData ->
- // Log details for debugging
- Log.d("DownloadDebug", "userData: $userData, isCSVCreated: ${userData.isCSVCreated}")
-
- if (userData.isCSVCreated) {
- downloadList.add(userData)
- }
- }
- // Log the size of downloadList for debugging
- Log.d("DownloadDebug", "downloadList size: ${downloadList.size}")
-
- if (downloadList.isNotEmpty()) {
- // Call ViewModel function to create CSV with filtered data
- viewModel.createCSV(downloadList, requireContext())
- Toast.makeText(requireContext(), "CSV file downloaded successfully", Toast.LENGTH_SHORT).show()
- } else {
- Toast.makeText(requireContext(), "No data to download", Toast.LENGTH_SHORT).show()
- }
- } catch (e: Exception) {
- e.printStackTrace()
- Toast.makeText(requireContext(), "Error downloading CSV file", Toast.LENGTH_SHORT).show()
- } finally {
- dialog.dismiss()
- }
- }
- }
-
-
private fun deteleIncompleteRegistration(userDataList: List) {
userDataList.forEach {
if (it.userImageURL.isEmpty()) {
diff --git a/app/src/main/java/com/example/hposregistration/ui/viewmodels/RegistrationViewModel.kt b/app/src/main/java/com/example/hposregistration/ui/viewmodels/RegistrationViewModel.kt
index f9ead41..930e4ca 100644
--- a/app/src/main/java/com/example/hposregistration/ui/viewmodels/RegistrationViewModel.kt
+++ b/app/src/main/java/com/example/hposregistration/ui/viewmodels/RegistrationViewModel.kt
@@ -10,21 +10,14 @@ import com.example.hposregistration.data.MainRepository
import com.example.hposregistration.data.NetworkStatusLiveData
import com.example.hposregistration.data.Response
import com.example.hposregistration.data.user.UserData
-import com.example.hposregistration.dao.UserDao
-import com.example.hpostesting.data.datasource.LocalFileDataSource
import com.google.firebase.storage.FirebaseStorage
import dagger.hilt.android.lifecycle.HiltViewModel
import kotlinx.coroutines.launch
-import java.text.SimpleDateFormat
-import java.util.Date
-import java.util.Locale
import javax.inject.Inject
@HiltViewModel
class RegistrationViewModel @Inject constructor(
private val mainRepository: MainRepository,
- private val userdao: UserDao,
- private val localFileDataSource: LocalFileDataSource,
context: Context
) : ViewModel() {
@@ -80,24 +73,4 @@ class RegistrationViewModel @Inject constructor(
fun deleteById(userId: String) = viewModelScope.launch {
mainRepository.deleteById(id = userId)
}
-
- fun createCSV(userData: List, appContext: Context) =
- viewModelScope.launch {
- val fileName = "${getCurrentDate()}.csv"
- if (localFileDataSource.exportDataToCSV(fileName, userData)) {
- userData.forEach { data ->
- data.localFlag = true
- mainRepository.updateCSVFieldById(
- data._id,
- true
- )
- }
- }
- }
-
- private fun getCurrentDate(): String {
- val dateFormat = SimpleDateFormat("dd-MM-yy", Locale.getDefault())
- val currentDate = Date()
- return dateFormat.format(currentDate)
- }
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/downloads.xml b/app/src/main/res/drawable/downloads.xml
deleted file mode 100644
index 17e7f58..0000000
--- a/app/src/main/res/drawable/downloads.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
diff --git a/app/src/main/res/layout/fragment_user_list.xml b/app/src/main/res/layout/fragment_user_list.xml
index c1b59d2..9cfb963 100644
--- a/app/src/main/res/layout/fragment_user_list.xml
+++ b/app/src/main/res/layout/fragment_user_list.xml
@@ -94,15 +94,6 @@
app:layout_constraintTop_toBottomOf="@+id/tv_title"
tools:listitem="@layout/user_item_view" />
-
-
You have scanned the Aadhar ID, need to enter Aadhar ID number you have scanned and Abha ID manually
You have scanned the Abha ID
You have scanned the Aadhar ID
- Download CSV
- Download DB Tests
- Do you want to download the local DB tests in CSV format?
- Upload done successfully
+
- NT-A
- NT-B