Compare commits
7 Commits
dev-server
...
dev-server
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3435f2182 | ||
|
|
f6cdd64ef6 | ||
|
|
7ad21ea5a9 | ||
|
|
6c89efeb5e | ||
|
|
63eaf1cadc | ||
|
|
c180f7be31 | ||
|
|
c243ec6c8f |
@@ -28,8 +28,8 @@ object Constants {
|
||||
const val DOCUMENT_ID_FOR_UPDATE ="2o71vBKLqdgEKYtFG8Lb"
|
||||
const val ABHA_APP_PACKAGE = "in.ndhm.phr"
|
||||
|
||||
const val MOLBIO_INTEGRATION = true
|
||||
const val FIREBASE_INTEGRATION = false
|
||||
var MOLBIO_INTEGRATION = true
|
||||
var FIREBASE_INTEGRATION = false
|
||||
const val deviceProvisionEmail = "HPOS_provisioner@bigtec.co.in"
|
||||
const val deviceProvisionPassword = "f2ab0e7f9d69"
|
||||
const val DEVICE_ID_API = "deviceIDAPI"
|
||||
|
||||
@@ -243,9 +243,10 @@ object AppModule {
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
fun provideNetworkMonitor(@ApplicationContext context: Context): NetworkMonitor {
|
||||
return NetworkMonitor(context)
|
||||
fun provideNetworkMonitor(
|
||||
@ApplicationContext context: Context
|
||||
): NetworkMonitor {
|
||||
return NetworkMonitor(context).apply { startMonitoring() }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -15,6 +15,7 @@ import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Process
|
||||
import androidx.core.content.edit
|
||||
import com.example.hpostesting.data.constant.Constants
|
||||
import com.google.firebase.FirebaseApp
|
||||
import com.google.firebase.FirebaseOptions
|
||||
import com.google.firebase.firestore.FirebaseFirestore
|
||||
@@ -37,7 +38,8 @@ class FirebaseManager @Inject constructor(private val context: Context) {
|
||||
|
||||
private val defaultServers = listOf(
|
||||
// i have it in different place look down
|
||||
firebaseConfigProd, firebaseConfigDev , firebaseConfigQaQc, firebaseConfigPreProd
|
||||
firebaseConfigProd, firebaseConfigDev , firebaseConfigQaQc, firebaseConfigPreProd,
|
||||
configMolbio //not a firebase config
|
||||
)
|
||||
|
||||
init {
|
||||
@@ -61,11 +63,17 @@ class FirebaseManager @Inject constructor(private val context: Context) {
|
||||
fun getCurrentStorage(): FirebaseStorage = currentStorage
|
||||
|
||||
fun switchServer(firebaseConfig: FirebaseConfig) {
|
||||
saveSelectedServer(firebaseConfig)
|
||||
val firebaseApp = getOrInitializeFirebaseApp(firebaseConfig)
|
||||
currentFirestore = FirebaseFirestore.getInstance(firebaseApp)
|
||||
currentStorage = FirebaseStorage.getInstance(firebaseApp)
|
||||
updateStatus = true
|
||||
if (firebaseConfig.serverName =="molbio" ||firebaseConfig.apiKey == "molbio"){
|
||||
saveSelectedServer(firebaseConfig)
|
||||
makeMolbioAsBackEnd()
|
||||
}else {
|
||||
makeSMIBackEnd()
|
||||
saveSelectedServer(firebaseConfig)
|
||||
val firebaseApp = getOrInitializeFirebaseApp(firebaseConfig)
|
||||
currentFirestore = FirebaseFirestore.getInstance(firebaseApp)
|
||||
currentStorage = FirebaseStorage.getInstance(firebaseApp)
|
||||
updateStatus = true
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -73,7 +81,6 @@ class FirebaseManager @Inject constructor(private val context: Context) {
|
||||
val existingApp = FirebaseApp.getApps(context).find { it.name == firebaseConfig.serverName }
|
||||
|
||||
return if (existingApp != null) {
|
||||
|
||||
existingApp
|
||||
} else {
|
||||
|
||||
@@ -125,6 +132,16 @@ class FirebaseManager @Inject constructor(private val context: Context) {
|
||||
fun getAvailableServers(): List<FirebaseConfig> {
|
||||
return defaultServers
|
||||
}
|
||||
|
||||
private fun makeMolbioAsBackEnd(){
|
||||
Constants.FIREBASE_INTEGRATION = false
|
||||
Constants.MOLBIO_INTEGRATION = true
|
||||
restartApp()
|
||||
}
|
||||
private fun makeSMIBackEnd(){
|
||||
Constants.FIREBASE_INTEGRATION = true
|
||||
Constants.MOLBIO_INTEGRATION = false
|
||||
}
|
||||
}
|
||||
|
||||
fun restartApp(context: Context) {
|
||||
@@ -172,3 +189,11 @@ private val firebaseConfigPreProd = FirebaseConfig(
|
||||
projectId = "hpos-preprod",
|
||||
storageBucket = "hpos-preprod.appspot.com"
|
||||
)
|
||||
|
||||
private val configMolbio = FirebaseConfig(
|
||||
serverName = "molbio",
|
||||
apiKey = "molbio",
|
||||
appId = "molbio",
|
||||
projectId = "molbio",
|
||||
storageBucket = "molbio"
|
||||
)
|
||||
@@ -28,11 +28,8 @@ import androidx.fragment.app.Fragment
|
||||
import androidx.preference.ListPreference
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.PreferenceManager
|
||||
import androidx.preference.SwitchPreferenceCompat
|
||||
import com.example.hpostesting.data.constant.Constants
|
||||
import com.example.hpostesting.data.constant.Constants.FIREBASE_INTEGRATION
|
||||
import com.example.hpostesting.data.constant.Constants.MOLBIO_INTEGRATION
|
||||
import com.example.hpostesting.data.constant.DataHolder
|
||||
import com.example.hpostesting.data.constant.LanguageManager
|
||||
import com.example.hpostesting.data.repository.DatabaseRepository
|
||||
@@ -203,22 +200,20 @@ class PrefsFragment : PreferenceFragmentCompat() {
|
||||
}
|
||||
}
|
||||
|
||||
val shouldEnableCurrentServerVersion = FIREBASE_INTEGRATION && !MOLBIO_INTEGRATION
|
||||
val appVersionPreference = Preference(requireContext()).apply {
|
||||
title = "App Version"
|
||||
summary =
|
||||
getAppVersion(requireContext()) + " [ " + getAppEnvironment(requireContext()) + "->" + if (shouldEnableCurrentServerVersion) currentServer else "molbio"+ "]"
|
||||
getAppVersion(requireContext()) + " [ " + getAppEnvironment(requireContext()) + "->" + currentServer + "]"
|
||||
icon = ContextCompat.getDrawable(requireContext(), R.drawable.baseline_info_24)
|
||||
|
||||
setOnPreferenceClickListener {
|
||||
tapManager.registerTap {
|
||||
firebaseManager.setDevModeOn(true)
|
||||
|
||||
val devConfig = servers.find { it.serverName == "dev" }
|
||||
|
||||
if (firebaseManager.getDevMode() && currentServer != "dev") {
|
||||
Toast.makeText(requireContext(), "Now you are a Developer", Toast.LENGTH_SHORT).show()
|
||||
Toast.makeText(requireContext(), "Setting Up developer Environmnet", Toast.LENGTH_SHORT).show()
|
||||
switchFirebaseServer(devConfig!!)
|
||||
}
|
||||
|
||||
if (preferenceScreen.findPreference<SwitchPreferenceCompat>("developer_options") == null) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.example.hpostesting.util
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.Context
|
||||
import android.net.ConnectivityManager
|
||||
import android.net.Network
|
||||
@@ -12,6 +13,8 @@ import kotlinx.coroutines.CoroutineScope
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.SupervisorJob
|
||||
import kotlinx.coroutines.cancel
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
import java.net.HttpURLConnection
|
||||
import java.net.URL
|
||||
@@ -23,7 +26,7 @@ import javax.inject.Singleton
|
||||
class NetworkMonitor @Inject constructor(
|
||||
@ApplicationContext private val context: Context
|
||||
) {
|
||||
|
||||
private var isMonitoringStarted = false
|
||||
private val connectivityManager =
|
||||
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
|
||||
|
||||
@@ -49,7 +52,10 @@ class NetworkMonitor @Inject constructor(
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("NewApi")
|
||||
fun startMonitoring() {
|
||||
if (isMonitoringStarted) return // Already started, do nothing.
|
||||
isMonitoringStarted = true
|
||||
// Check initial connectivity status
|
||||
val network = connectivityManager.activeNetwork
|
||||
val capabilities = connectivityManager.getNetworkCapabilities(network)
|
||||
@@ -66,6 +72,8 @@ class NetworkMonitor @Inject constructor(
|
||||
.build()
|
||||
|
||||
connectivityManager.registerNetworkCallback(networkRequest, networkCallback)
|
||||
// Start periodic checks:
|
||||
startPeriodicPingCheck()
|
||||
}
|
||||
|
||||
fun stopMonitoring() { // never needed to call
|
||||
@@ -96,4 +104,14 @@ class NetworkMonitor @Inject constructor(
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun startPeriodicPingCheck(intervalMillis: Long = 1 * 60_000L) {
|
||||
networkScope.launch {
|
||||
while (isActive) {
|
||||
performPingCheck()
|
||||
delay(intervalMillis)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,68 +13,9 @@
|
||||
|
||||
<resources>
|
||||
<string-array name="district">
|
||||
<item>अररिया</item>
|
||||
<item>अरवल</item>
|
||||
<item>औरंगाबाद</item>
|
||||
<item>बांका</item>
|
||||
<item>बेगूसराय</item>
|
||||
<item>भागलपुर</item>
|
||||
<item>भोजपुर</item>
|
||||
<item>बक्सर</item>
|
||||
<item>दरभंगा</item>
|
||||
<item>पूर्वी चंपारण</item>
|
||||
<item>गया</item>
|
||||
<item>गोपालगंज</item>
|
||||
<item>जमुई</item>
|
||||
<item>जहानाबाद</item>
|
||||
<item>कैमूर</item>
|
||||
<item>कटिहार</item>
|
||||
<item>खगड़िया</item>
|
||||
<item>किशनगंज</item>
|
||||
<item>लखीसराय</item>
|
||||
<item>मधेपुरा</item>
|
||||
<item>मधुबनी</item>
|
||||
<item>मुंगेर</item>
|
||||
<item>मुजफ्फरपुर</item>
|
||||
<item>नालंदा</item>
|
||||
<item>नवादा</item>
|
||||
<item>पटना</item>
|
||||
<item>पूर्णिया</item>
|
||||
<item>रोहतास</item>
|
||||
<item>सहरसा</item>
|
||||
<item>समस्तीपुर</item>
|
||||
<item>सारण</item>
|
||||
<item>शेखपुरा</item>
|
||||
<item>शिवहर</item>
|
||||
<item>सीतामढ़ी</item>
|
||||
<item>सिवान</item>
|
||||
<item>सुपौल</item>
|
||||
<item>वैशाली</item>
|
||||
<item>पश्चिमी चंपारण</item>
|
||||
<item>बोकारो</item>
|
||||
<item>चतरा</item>
|
||||
<item>देवघर</item>
|
||||
<item>धनबाद</item>
|
||||
<item>दुमका</item>
|
||||
<item>पूर्वी सिंहभूम</item>
|
||||
<item>गढवा</item>
|
||||
<item>गिरिडीह</item>
|
||||
<item>गोड्डा</item>
|
||||
<item>गुमला</item>
|
||||
<item>हजारीबाग</item>
|
||||
<item>जामताड़ा</item>
|
||||
<item>खूंटी</item>
|
||||
<item>कोडरमा</item>
|
||||
<item>लातेहार</item>
|
||||
<item>लोहरदगा</item>
|
||||
<item>पाकुड़</item>
|
||||
<item>पलामू</item>
|
||||
<item>रामगढ़</item>
|
||||
<item>रांची</item>
|
||||
<item>साहिबगंज</item>
|
||||
<item>सरायकेला खरसावां</item>
|
||||
<item>सिमडेगा</item>
|
||||
<item>पश्चिमी सिंहभूम</item>
|
||||
<item>Mysuru</item>
|
||||
<item>Kodagu</item>
|
||||
<item>Chamarajanagar</item>
|
||||
<item>Other</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -13,68 +13,9 @@
|
||||
|
||||
<resources>
|
||||
<string-array name="district">
|
||||
<item>Araria</item>
|
||||
<item>Arwal</item>
|
||||
<item>Aurangabad</item>
|
||||
<item>Banka</item>
|
||||
<item>Begusarai</item>
|
||||
<item>Bhagalpur</item>
|
||||
<item>Bhojpur</item>
|
||||
<item>Buxar</item>
|
||||
<item>Darbhanga</item>
|
||||
<item>East Champaran</item>
|
||||
<item>Gaya</item>
|
||||
<item>Gopalganj</item>
|
||||
<item>Jamui</item>
|
||||
<item>Jehanabad</item>
|
||||
<item>Kaimur</item>
|
||||
<item>Katihar</item>
|
||||
<item>Khagaria</item>
|
||||
<item>Kishanganj</item>
|
||||
<item>Lakhisarai</item>
|
||||
<item>Madhepura</item>
|
||||
<item>Madhubani</item>
|
||||
<item>Munger</item>
|
||||
<item>Muzaffarpur</item>
|
||||
<item>Nalanda</item>
|
||||
<item>Nawada</item>
|
||||
<item>Patna</item>
|
||||
<item>Purnia</item>
|
||||
<item>Rohtas</item>
|
||||
<item>Saharsa</item>
|
||||
<item>Samastipur</item>
|
||||
<item>Saran</item>
|
||||
<item>Sheikhpura</item>
|
||||
<item>Sheohar</item>
|
||||
<item>Sitamarhi</item>
|
||||
<item>Siwan</item>
|
||||
<item>Supaul</item>
|
||||
<item>Vaishali</item>
|
||||
<item>West Champaran</item>
|
||||
<item>Bokaro</item>
|
||||
<item>Chatra</item>
|
||||
<item>Deoghar</item>
|
||||
<item>Dhanbad</item>
|
||||
<item>Dumka</item>
|
||||
<item>East Singhbhum</item>
|
||||
<item>Garhwa</item>
|
||||
<item>Giridih</item>
|
||||
<item>Godda</item>
|
||||
<item>Gumla</item>
|
||||
<item>Hazaribagh</item>
|
||||
<item>Jamtara</item>
|
||||
<item>Khunti</item>
|
||||
<item>Koderma</item>
|
||||
<item>Latehar</item>
|
||||
<item>Lohardaga</item>
|
||||
<item>Pakur</item>
|
||||
<item>Palamu</item>
|
||||
<item>Ramgarh</item>
|
||||
<item>Ranchi</item>
|
||||
<item>Sahibganj</item>
|
||||
<item>Seraikela Kharsawan</item>
|
||||
<item>Simdega</item>
|
||||
<item>West Singhbhum</item>
|
||||
<item>Mysuru</item>
|
||||
<item>Kodagu</item>
|
||||
<item>Chamarajanagar</item>
|
||||
<item>Other</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
@@ -25,69 +25,11 @@
|
||||
<item>ka</item>
|
||||
<!-- Use language codes (e.g., en, kn) as values -->
|
||||
</string-array>
|
||||
|
||||
<string-array name="district">
|
||||
<item>Araria</item>
|
||||
<item>Arwal</item>
|
||||
<item>Aurangabad</item>
|
||||
<item>Banka</item>
|
||||
<item>Begusarai</item>
|
||||
<item>Bhagalpur</item>
|
||||
<item>Bhojpur</item>
|
||||
<item>Buxar</item>
|
||||
<item>Darbhanga</item>
|
||||
<item>East Champaran</item>
|
||||
<item>Gaya</item>
|
||||
<item>Gopalganj</item>
|
||||
<item>Jamui</item>
|
||||
<item>Jehanabad</item>
|
||||
<item>Kaimur</item>
|
||||
<item>Katihar</item>
|
||||
<item>Khagaria</item>
|
||||
<item>Kishanganj</item>
|
||||
<item>Lakhisarai</item>
|
||||
<item>Madhepura</item>
|
||||
<item>Madhubani</item>
|
||||
<item>Munger</item>
|
||||
<item>Muzaffarpur</item>
|
||||
<item>Nalanda</item>
|
||||
<item>Nawada</item>
|
||||
<item>Patna</item>
|
||||
<item>Purnia</item>
|
||||
<item>Rohtas</item>
|
||||
<item>Saharsa</item>
|
||||
<item>Samastipur</item>
|
||||
<item>Saran</item>
|
||||
<item>Sheikhpura</item>
|
||||
<item>Sheohar</item>
|
||||
<item>Sitamarhi</item>
|
||||
<item>Siwan</item>
|
||||
<item>Supaul</item>
|
||||
<item>Vaishali</item>
|
||||
<item>West Champaran</item>
|
||||
<item>Bokaro</item>
|
||||
<item>Chatra</item>
|
||||
<item>Deoghar</item>
|
||||
<item>Dhanbad</item>
|
||||
<item>Dumka</item>
|
||||
<item>East Singhbhum</item>
|
||||
<item>Garhwa</item>
|
||||
<item>Giridih</item>
|
||||
<item>Godda</item>
|
||||
<item>Gumla</item>
|
||||
<item>Hazaribagh</item>
|
||||
<item>Jamtara</item>
|
||||
<item>Khunti</item>
|
||||
<item>Koderma</item>
|
||||
<item>Latehar</item>
|
||||
<item>Lohardaga</item>
|
||||
<item>Pakur</item>
|
||||
<item>Palamu</item>
|
||||
<item>Ramgarh</item>
|
||||
<item>Ranchi</item>
|
||||
<item>Sahibganj</item>
|
||||
<item>Seraikela Kharsawan</item>
|
||||
<item>Simdega</item>
|
||||
<item>West Singhbhum</item>
|
||||
<item>Mysuru</item>
|
||||
<item>Kodagu</item>
|
||||
<item>Chamarajanagar</item>
|
||||
<item>Other</item>
|
||||
</string-array>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user