diff --git a/.idea/shelf/Changes3.xml b/.idea/shelf/Changes3.xml
new file mode 100644
index 0000000..15b4ce4
--- /dev/null
+++ b/.idea/shelf/Changes3.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/app/.gitignore b/app/.gitignore
index 42afabf..ebe0879 100644
--- a/app/.gitignore
+++ b/app/.gitignore
@@ -1 +1,2 @@
-/build
\ No newline at end of file
+/build
+/google-services*
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index afed6c1..4e0ca32 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -16,8 +16,8 @@ android {
applicationId "in.sminnovations.hposregistration"
minSdk 26
targetSdk 34
- versionCode 1
- versionName "1.0"
+ versionCode 8
+ versionName "1.0.8"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
@@ -46,6 +46,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.10.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
+ implementation 'androidx.preference:preference-ktx:1.2.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
@@ -59,6 +60,8 @@ dependencies {
implementation 'com.google.firebase:firebase-storage-ktx'
implementation 'com.firebaseui:firebase-ui-firestore:8.0.2'
implementation 'com.google.android.gms:play-services-auth:20.7.0'
+ implementation 'com.google.firebase:firebase-appdistribution:16.0.0-beta11'
+ implementation("com.google.firebase:firebase-appdistribution-api-ktx:16.0.0-beta11")
// Coroutines
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1'
@@ -101,6 +104,5 @@ dependencies {
// Barcode scanner
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
- implementation 'androidx.preference:preference-ktx:1.2.1'
- implementation 'androidx.preference:preference-ktx:1.2.1'
+
}
\ No newline at end of file
diff --git a/app/google-services.json b/app/google-services.json
deleted file mode 100644
index a593d99..0000000
--- a/app/google-services.json
+++ /dev/null
@@ -1,113 +0,0 @@
-{
- "project_info": {
- "project_number": "650071678820",
- "project_id": "hpos-af3cc",
- "storage_bucket": "hpos-af3cc.appspot.com"
- },
- "client": [
- {
- "client_info": {
- "mobilesdk_app_id": "1:650071678820:android:f1435a1c07f710036c6471",
- "android_client_info": {
- "package_name": "com.example.hposconsentform"
- }
- },
- "oauth_client": [
- {
- "client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
- }
- ],
- "services": {
- "appinvite_service": {
- "other_platform_oauth_client": [
- {
- "client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
- "client_type": 3
- }
- ]
- }
- }
- },
- {
- "client_info": {
- "mobilesdk_app_id": "1:650071678820:android:7569c1cad4fc99916c6471",
- "android_client_info": {
- "package_name": "in.sminnovations.hposregistration"
- }
- },
- "oauth_client": [
- {
- "client_id": "650071678820-70kp5jvjda4r5diqch2kn4lc40p4f42g.apps.googleusercontent.com",
- "client_type": 1,
- "android_info": {
- "package_name": "in.sminnovations.hposregistration",
- "certificate_hash": "7714b9268a81d0cf0fb178b0af8dbb630f8fc70a"
- }
- },
- {
- "client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
- }
- ],
- "services": {
- "appinvite_service": {
- "other_platform_oauth_client": [
- {
- "client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
- "client_type": 3
- }
- ]
- }
- }
- },
- {
- "client_info": {
- "mobilesdk_app_id": "1:650071678820:android:f96be19e5d43102b6c6471",
- "android_client_info": {
- "package_name": "in.sminnovations.hpostesting"
- }
- },
- "oauth_client": [
- {
- "client_id": "650071678820-l87dnr0bdj95get0khgnvfv2an1k6ogq.apps.googleusercontent.com",
- "client_type": 1,
- "android_info": {
- "package_name": "in.sminnovations.hpostesting",
- "certificate_hash": "7714b9268a81d0cf0fb178b0af8dbb630f8fc70a"
- }
- },
- {
- "client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
- "client_type": 3
- }
- ],
- "api_key": [
- {
- "current_key": "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I"
- }
- ],
- "services": {
- "appinvite_service": {
- "other_platform_oauth_client": [
- {
- "client_id": "650071678820-to41afi9f0gi5r3k6v7pe1e5p96nupcs.apps.googleusercontent.com",
- "client_type": 3
- }
- ]
- }
- }
- }
- ],
- "configuration_version": "1"
-}
\ No newline at end of file
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 607b9f5..b2ff720 100644
--- a/app/src/main/java/com/example/hposregistration/dao/MyDataBase.kt
+++ b/app/src/main/java/com/example/hposregistration/dao/MyDataBase.kt
@@ -1,11 +1,36 @@
package com.example.hposregistration.dao
+import android.content.Context
import androidx.room.Database
+import androidx.room.Room
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
+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)
abstract class MyDatabase : RoomDatabase() {
+
abstract fun userDao(): UserDao
-}
\ No newline at end of file
+
+ companion object {
+ val MIGRATION_2_3: Migration = object : Migration(2, 3) {
+ override fun migrate(database: SupportSQLiteDatabase) {
+ // Define the necessary SQL statements for migration from version 2 to 3
+ // For example, you can alter tables or create new ones
+ database.execSQL("ALTER TABLE user_table ADD COLUMN aadharIdSearch TEXT")
+ }
+ }
+
+ fun getInstance(context: Context): MyDatabase {
+ return Room.databaseBuilder(
+ context.applicationContext,
+ MyDatabase::class.java,
+ "my_database"
+ )
+ .addMigrations(MIGRATION_2_3)
+ .build()
+ }
+ }
+}
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 7afb5f5..8ba7c60 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
@@ -7,8 +7,11 @@ import androidx.room.PrimaryKey
data class UserData(
@PrimaryKey
var _id: String = "",
+ var _idSearch: String = "",
var abhaId: String = "",
+ var abhaIdSearch: String = "",
var aadharId: String = "",
+ var aadharIdSearch: String = "",
var name: String = "",
var birthYear: String = "",
var gender: String = "",
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 c7a548d..b993bec 100644
--- a/app/src/main/java/com/example/hposregistration/network/UserDao.kt
+++ b/app/src/main/java/com/example/hposregistration/network/UserDao.kt
@@ -30,4 +30,7 @@ class UserDao {
// suspend fun getPatientList(): List {
// return patientCollection.get().await().toObjects(UserData::class.java)
// }
+
+
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hposregistration/ui/activities/MainActivity.kt b/app/src/main/java/com/example/hposregistration/ui/activities/MainActivity.kt
index 0793368..85c53af 100644
--- a/app/src/main/java/com/example/hposregistration/ui/activities/MainActivity.kt
+++ b/app/src/main/java/com/example/hposregistration/ui/activities/MainActivity.kt
@@ -3,7 +3,11 @@ package com.example.hposregistration.ui.activities
import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
+import android.widget.Toast
import com.example.hposregistration.data.LanguageManager
+import com.google.firebase.appdistribution.FirebaseAppDistribution
+import com.google.firebase.appdistribution.FirebaseAppDistributionException
+import com.google.firebase.crashlytics.FirebaseCrashlytics
import dagger.hilt.android.AndroidEntryPoint
import `in`.sminnovations.hposregistration.databinding.ActivityMainBinding
@@ -11,17 +15,58 @@ import `in`.sminnovations.hposregistration.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
+
+
override fun attachBaseContext(newBase: Context?) {
val languageCode = LanguageManager.getSavedLanguage(newBase!!)
LanguageManager.setLocale(newBase, languageCode)
super.attachBaseContext(newBase)
}
-
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
}
+
+ override fun onResume() {
+ super.onResume()
+
+ val firebaseAppDistribution = FirebaseAppDistribution.getInstance()
+ firebaseAppDistribution.updateIfNewReleaseAvailable()
+ .addOnProgressListener { updateProgress ->
+
+ if (updateProgress.apkBytesDownloaded > 0) {
+ Toast.makeText(
+ this,
+ "${updateProgress.updateStatus}. ${updateProgress.apkBytesDownloaded / 1048576} /${updateProgress.apkFileTotalBytes / 1048576} MB",
+ Toast.LENGTH_SHORT
+ ).show()
+ }
+ }
+ .addOnFailureListener { e ->
+ // (Optional) Handle errors.
+ if (e is FirebaseAppDistributionException) {
+ when (e.errorCode) {
+ FirebaseAppDistributionException.Status.NOT_IMPLEMENTED -> {
+ // SDK did nothing. This is expected when building for Play.
+ }
+
+ else -> {
+ // Handle other errors.
+ Toast.makeText(
+ this,
+ "AppDistribution error, status: ${e.errorCode}",
+ Toast.LENGTH_SHORT
+ ).show()
+ }
+ }
+ FirebaseCrashlytics.getInstance().recordException(e)
+ }
+ }
+ .addOnSuccessListener {
+// Toast.makeText(this, "App Update: Success!", Toast.LENGTH_SHORT).show()
+ }
+ }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/example/hposregistration/ui/fragments/LanguageSettingsFragment.kt b/app/src/main/java/com/example/hposregistration/ui/fragments/LanguageSettingsFragment.kt
index 6533bbe..87de1a4 100644
--- a/app/src/main/java/com/example/hposregistration/ui/fragments/LanguageSettingsFragment.kt
+++ b/app/src/main/java/com/example/hposregistration/ui/fragments/LanguageSettingsFragment.kt
@@ -3,14 +3,10 @@ package com.example.hposregistration.ui.fragments
import android.content.Context
import android.content.pm.PackageManager
import android.os.Bundle
-import android.preference.ListPreference
-import androidx.fragment.app.Fragment
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.widget.Toast
import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat
+
+import android.widget.Toast
import com.example.hposregistration.data.LanguageManager
import `in`.sminnovations.hposregistration.R
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 ad574fe..cc9bb56 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
@@ -20,11 +20,14 @@ import com.example.hposregistration.data.Constant
import com.example.hposregistration.data.user.UserData
import com.example.hposregistration.ui.viewmodels.RegistrationViewModel
import com.firebase.ui.firestore.FirestoreRecyclerOptions
+import com.google.firebase.firestore.Query
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
import dagger.hilt.android.AndroidEntryPoint
import `in`.sminnovations.hposregistration.R
import `in`.sminnovations.hposregistration.databinding.FragmentUserListBinding
+import java.text.SimpleDateFormat
+import java.util.Date
@AndroidEntryPoint
class UserListFragment : BaseFragment() {
@@ -171,7 +174,17 @@ class UserListFragment : BaseFragment() {
private fun fetchFromServer() {
binding.noList.visibility = View.GONE
binding.rvOrder.visibility = View.VISIBLE
+ val dateFormat = SimpleDateFormat("yyyy-MM-dd")
+ val currentDate = Date()
+ val today = dateFormat.format(currentDate)
val query = Firebase.firestore.collection("patientData")
+ .whereGreaterThanOrEqualTo("createdAt", today)
+ .orderBy("createdAt", Query.Direction.DESCENDING)
+ query.get().addOnSuccessListener {
+ if (it.documents.isEmpty() && isOnline) {
+ binding.emptyRegistrations.visibility = View.VISIBLE
+ }
+ }
val recyclerViewOptions =
FirestoreRecyclerOptions.Builder().setQuery(query, UserData::class.java)
.build()
diff --git a/app/src/main/res/layout/fragment_user_list.xml b/app/src/main/res/layout/fragment_user_list.xml
index 5c5c18f..c1b59d2 100644
--- a/app/src/main/res/layout/fragment_user_list.xml
+++ b/app/src/main/res/layout/fragment_user_list.xml
@@ -34,6 +34,20 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
+
+
ತಪ್ಪಾದ ಪಾಸ್ವರ್ಡ್
ತಪ್ಪಾದ ಬಳಕೆದಾರ ಐಡಿ
ನೀವು ಆಧಾರ್ ಐಡನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿದ್ದೀರಿ, ದಯವಿಟ್ಟು ಆಧಾರ್ ಐಡನ್ನು ನೀವು ಸ್ಕ್ಯಾನ್ ಮಾಡಿದ ಮತ್ತು ಅಭಾ ಐಡನ್ನು ಕೈಯಾರೆ ನಮೂದಿಸಿ
+ ಪ್ರದರ್ಶಿಸಲಿರುವ ಯಾವ ನೋಂದಾಯಿಗಳೂ ಲಭ್ಯವಿಲ್ಲ
ನೀವು ಅಭಾ ಐಡಿಯನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿದ್ದೀರಿ
ನೀವು ಆಧಾರ್ ಐಡನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿದಿರಿ