Compare commits
9 Commits
dev-server
...
dev-server
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e9c8a9a887 | ||
|
|
e7ecf7eedf | ||
|
|
e3435f2182 | ||
|
|
f6cdd64ef6 | ||
|
|
7ad21ea5a9 | ||
|
|
6c89efeb5e | ||
|
|
63eaf1cadc | ||
|
|
c180f7be31 | ||
|
|
c243ec6c8f |
@@ -20,8 +20,8 @@ android {
|
|||||||
applicationId "in.sminnovations.hpostesting.server"
|
applicationId "in.sminnovations.hpostesting.server"
|
||||||
minSdk 30
|
minSdk 30
|
||||||
targetSdk 34
|
targetSdk 34
|
||||||
versionCode 134
|
versionCode 136
|
||||||
versionName "2.1.131"
|
versionName "2.1.133"
|
||||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -24,13 +24,12 @@
|
|||||||
<uses-feature android:name="android.hardware.usb.host" />
|
<uses-feature android:name="android.hardware.usb.host" />
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.USB_PERMISSION" />
|
<uses-permission android:name="android.permission.USB_PERMISSION" />
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
|
||||||
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
|
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
|
||||||
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"
|
<uses-permission
|
||||||
|
android:name="android.permission.ACCOUNT_MANAGER"
|
||||||
tools:ignore="ProtectedPermissions" />
|
tools:ignore="ProtectedPermissions" />
|
||||||
|
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name="com.example.hpostesting.HPOSTestingApplication"
|
android:name="com.example.hpostesting.HPOSTestingApplication"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
@@ -43,10 +42,13 @@
|
|||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/Theme.HPOSTesting"
|
android:theme="@style/Theme.HPOSTesting"
|
||||||
tools:targetApi="31">
|
tools:targetApi="31">
|
||||||
|
<activity
|
||||||
|
android:name="com.example.hpostesting.presentation.randd.RandDActivity"
|
||||||
|
android:exported="false" />
|
||||||
<activity
|
<activity
|
||||||
android:name="com.example.hpostesting.presentation.main_base.UpdateValuesActivity"
|
android:name="com.example.hpostesting.presentation.main_base.UpdateValuesActivity"
|
||||||
android:exported="false"
|
android:exported="false"
|
||||||
android:screenOrientation="portrait"/>
|
android:screenOrientation="portrait" />
|
||||||
|
|
||||||
<service
|
<service
|
||||||
android:name="com.example.hpostesting.util.MyAuthenticatorService"
|
android:name="com.example.hpostesting.util.MyAuthenticatorService"
|
||||||
|
|||||||
@@ -28,8 +28,8 @@ object Constants {
|
|||||||
const val DOCUMENT_ID_FOR_UPDATE ="2o71vBKLqdgEKYtFG8Lb"
|
const val DOCUMENT_ID_FOR_UPDATE ="2o71vBKLqdgEKYtFG8Lb"
|
||||||
const val ABHA_APP_PACKAGE = "in.ndhm.phr"
|
const val ABHA_APP_PACKAGE = "in.ndhm.phr"
|
||||||
|
|
||||||
const val MOLBIO_INTEGRATION = true
|
var MOLBIO_INTEGRATION = true
|
||||||
const val FIREBASE_INTEGRATION = false
|
var FIREBASE_INTEGRATION = false
|
||||||
const val deviceProvisionEmail = "HPOS_provisioner@bigtec.co.in"
|
const val deviceProvisionEmail = "HPOS_provisioner@bigtec.co.in"
|
||||||
const val deviceProvisionPassword = "f2ab0e7f9d69"
|
const val deviceProvisionPassword = "f2ab0e7f9d69"
|
||||||
const val DEVICE_ID_API = "deviceIDAPI"
|
const val DEVICE_ID_API = "deviceIDAPI"
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import android.content.Context
|
|||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.os.Process
|
import android.os.Process
|
||||||
import androidx.core.content.edit
|
import androidx.core.content.edit
|
||||||
|
import com.example.hpostesting.data.constant.Constants
|
||||||
import com.google.firebase.FirebaseApp
|
import com.google.firebase.FirebaseApp
|
||||||
import com.google.firebase.FirebaseOptions
|
import com.google.firebase.FirebaseOptions
|
||||||
import com.google.firebase.firestore.FirebaseFirestore
|
import com.google.firebase.firestore.FirebaseFirestore
|
||||||
@@ -37,7 +38,8 @@ class FirebaseManager @Inject constructor(private val context: Context) {
|
|||||||
|
|
||||||
private val defaultServers = listOf(
|
private val defaultServers = listOf(
|
||||||
// i have it in different place look down
|
// i have it in different place look down
|
||||||
firebaseConfigProd, firebaseConfigDev , firebaseConfigQaQc, firebaseConfigPreProd
|
firebaseConfigProd, firebaseConfigDev , firebaseConfigQaQc, firebaseConfigPreProd, firebaseConfigPreIIScRandD,
|
||||||
|
configMolbio //not a firebase config
|
||||||
)
|
)
|
||||||
|
|
||||||
init {
|
init {
|
||||||
@@ -61,11 +63,17 @@ class FirebaseManager @Inject constructor(private val context: Context) {
|
|||||||
fun getCurrentStorage(): FirebaseStorage = currentStorage
|
fun getCurrentStorage(): FirebaseStorage = currentStorage
|
||||||
|
|
||||||
fun switchServer(firebaseConfig: FirebaseConfig) {
|
fun switchServer(firebaseConfig: FirebaseConfig) {
|
||||||
saveSelectedServer(firebaseConfig)
|
if (firebaseConfig.serverName =="molbio" ||firebaseConfig.apiKey == "molbio"){
|
||||||
val firebaseApp = getOrInitializeFirebaseApp(firebaseConfig)
|
saveSelectedServer(firebaseConfig)
|
||||||
currentFirestore = FirebaseFirestore.getInstance(firebaseApp)
|
makeMolbioAsBackEnd()
|
||||||
currentStorage = FirebaseStorage.getInstance(firebaseApp)
|
}else {
|
||||||
updateStatus = true
|
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 }
|
val existingApp = FirebaseApp.getApps(context).find { it.name == firebaseConfig.serverName }
|
||||||
|
|
||||||
return if (existingApp != null) {
|
return if (existingApp != null) {
|
||||||
|
|
||||||
existingApp
|
existingApp
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
@@ -125,6 +132,16 @@ class FirebaseManager @Inject constructor(private val context: Context) {
|
|||||||
fun getAvailableServers(): List<FirebaseConfig> {
|
fun getAvailableServers(): List<FirebaseConfig> {
|
||||||
return defaultServers
|
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) {
|
fun restartApp(context: Context) {
|
||||||
@@ -141,6 +158,8 @@ fun delayedRestart(context: Context) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private val firebaseConfigDev = FirebaseConfig(
|
private val firebaseConfigDev = FirebaseConfig(
|
||||||
serverName = "dev",
|
serverName = "dev",
|
||||||
apiKey = "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I",
|
apiKey = "AIzaSyAVdNGCev_AFX0qmuZJF6kxzRzXUTeAW5I",
|
||||||
@@ -172,3 +191,19 @@ private val firebaseConfigPreProd = FirebaseConfig(
|
|||||||
projectId = "hpos-preprod",
|
projectId = "hpos-preprod",
|
||||||
storageBucket = "hpos-preprod.appspot.com"
|
storageBucket = "hpos-preprod.appspot.com"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
private val firebaseConfigPreIIScRandD= FirebaseConfig(
|
||||||
|
serverName = "IISc R&D",
|
||||||
|
apiKey = "AIzaSyBvts2m1dZpULimZh6wn8C9E7npLnA8-A4",
|
||||||
|
appId = "1:699481688495:android:efe59ce3a83324dc00075a",
|
||||||
|
projectId = "randd-8329b",
|
||||||
|
storageBucket = "randd-8329b.firebasestorage.app"
|
||||||
|
)
|
||||||
|
|
||||||
|
private val configMolbio = FirebaseConfig(
|
||||||
|
serverName = "molbio",
|
||||||
|
apiKey = "molbio",
|
||||||
|
appId = "molbio",
|
||||||
|
projectId = "molbio",
|
||||||
|
storageBucket = "molbio"
|
||||||
|
)
|
||||||
@@ -89,6 +89,7 @@ class PanelFragment : Fragment() {
|
|||||||
binding.btnDeviceInfo.visibility = View.VISIBLE
|
binding.btnDeviceInfo.visibility = View.VISIBLE
|
||||||
binding.btnResetPassword.visibility = View.VISIBLE
|
binding.btnResetPassword.visibility = View.VISIBLE
|
||||||
binding.btnUpdateValues.visibility = View.VISIBLE
|
binding.btnUpdateValues.visibility = View.VISIBLE
|
||||||
|
binding.btnRnd.visibility = View.GONE
|
||||||
}else{
|
}else{
|
||||||
binding.btnResetPassword.visibility = View.GONE
|
binding.btnResetPassword.visibility = View.GONE
|
||||||
binding.btnDeviceProvision.visibility = View.GONE
|
binding.btnDeviceProvision.visibility = View.GONE
|
||||||
@@ -102,6 +103,7 @@ class PanelFragment : Fragment() {
|
|||||||
binding.btnSubmit.visibility = View.GONE
|
binding.btnSubmit.visibility = View.GONE
|
||||||
binding.btnDeviceInfo.visibility = View.VISIBLE
|
binding.btnDeviceInfo.visibility = View.VISIBLE
|
||||||
binding.btnUpdateValues.visibility = View.GONE
|
binding.btnUpdateValues.visibility = View.GONE
|
||||||
|
binding.btnRnd.visibility = View.GONE
|
||||||
}
|
}
|
||||||
|
|
||||||
binding.btnResetPassword.setOnClickListener{
|
binding.btnResetPassword.setOnClickListener{
|
||||||
@@ -142,6 +144,7 @@ class PanelFragment : Fragment() {
|
|||||||
startActivity(intent)
|
startActivity(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
binding.btnFiles.setOnClickListener {
|
binding.btnFiles.setOnClickListener {
|
||||||
val intent = Intent(Intent.ACTION_GET_CONTENT)
|
val intent = Intent(Intent.ACTION_GET_CONTENT)
|
||||||
intent.type = "file/*"
|
intent.type = "file/*"
|
||||||
|
|||||||
@@ -28,11 +28,8 @@ import androidx.fragment.app.Fragment
|
|||||||
import androidx.preference.ListPreference
|
import androidx.preference.ListPreference
|
||||||
import androidx.preference.Preference
|
import androidx.preference.Preference
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import androidx.preference.PreferenceManager
|
|
||||||
import androidx.preference.SwitchPreferenceCompat
|
import androidx.preference.SwitchPreferenceCompat
|
||||||
import com.example.hpostesting.data.constant.Constants
|
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.DataHolder
|
||||||
import com.example.hpostesting.data.constant.LanguageManager
|
import com.example.hpostesting.data.constant.LanguageManager
|
||||||
import com.example.hpostesting.data.repository.DatabaseRepository
|
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 {
|
val appVersionPreference = Preference(requireContext()).apply {
|
||||||
title = "App Version"
|
title = "App Version"
|
||||||
summary =
|
summary =
|
||||||
getAppVersion(requireContext()) + " [ " + getAppEnvironment(requireContext()) + "->" + if (shouldEnableCurrentServerVersion) currentServer else "molbio"+ "]"
|
getAppVersion(requireContext()) + " [ " + getAppEnvironment(requireContext()) + "->" + currentServer + "]"
|
||||||
icon = ContextCompat.getDrawable(requireContext(), R.drawable.baseline_info_24)
|
icon = ContextCompat.getDrawable(requireContext(), R.drawable.baseline_info_24)
|
||||||
|
|
||||||
setOnPreferenceClickListener {
|
setOnPreferenceClickListener {
|
||||||
tapManager.registerTap {
|
tapManager.registerTap {
|
||||||
firebaseManager.setDevModeOn(true)
|
firebaseManager.setDevModeOn(true)
|
||||||
|
|
||||||
val devConfig = servers.find { it.serverName == "dev" }
|
|
||||||
if (firebaseManager.getDevMode() && currentServer != "dev") {
|
if (firebaseManager.getDevMode() && currentServer != "dev") {
|
||||||
Toast.makeText(requireContext(), "Now you are a Developer", Toast.LENGTH_SHORT).show()
|
Toast.makeText(requireContext(), "Now you are a Developer", Toast.LENGTH_SHORT).show()
|
||||||
Toast.makeText(requireContext(), "Setting Up developer Environmnet", Toast.LENGTH_SHORT).show()
|
Toast.makeText(requireContext(), "Setting Up developer Environmnet", Toast.LENGTH_SHORT).show()
|
||||||
switchFirebaseServer(devConfig!!)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (preferenceScreen.findPreference<SwitchPreferenceCompat>("developer_options") == null) {
|
if (preferenceScreen.findPreference<SwitchPreferenceCompat>("developer_options") == null) {
|
||||||
|
|||||||
@@ -593,7 +593,7 @@ class TrueHemeFragment : Fragment() {
|
|||||||
binding.btnSubmit.visibility = View.VISIBLE
|
binding.btnSubmit.visibility = View.VISIBLE
|
||||||
binding.btnSubmit.isEnabled = true
|
binding.btnSubmit.isEnabled = true
|
||||||
binding.btnSubmit.isClickable = true
|
binding.btnSubmit.isClickable = true
|
||||||
// binding.clParent.setBackgroundColor(Color.parseColor("#edfffd"))
|
// binding.clParent.setBackgroundColor(Color.parseColor("#edfffd"))
|
||||||
binding.ivCheck.visibility = View.VISIBLE
|
binding.ivCheck.visibility = View.VISIBLE
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -736,7 +736,7 @@ class TrueHemeFragment : Fragment() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun processResult() {
|
private fun processResult(){
|
||||||
try {
|
try {
|
||||||
hemoCubeViewModel.messages.postValue(getString(R.string.processing_result))
|
hemoCubeViewModel.messages.postValue(getString(R.string.processing_result))
|
||||||
val deviceLog = resultData
|
val deviceLog = resultData
|
||||||
|
|||||||
@@ -55,7 +55,21 @@
|
|||||||
app:layout_constraintTop_toBottomOf="@id/tv_subtitle4" />
|
app:layout_constraintTop_toBottomOf="@id/tv_subtitle4" />
|
||||||
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
|
android:id="@+id/btn_rnd"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginHorizontal="16dp"
|
||||||
|
android:layout_marginTop="24dp"
|
||||||
|
android:clickable="false"
|
||||||
|
android:text="R and D"
|
||||||
|
android:textColor="@color/white"
|
||||||
|
app:cornerRadius="16dp"
|
||||||
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
|
app:layout_constraintTop_toBottomOf="@id/btn_submit" />
|
||||||
|
|
||||||
|
<Button
|
||||||
android:id="@+id/btn_diagnostics"
|
android:id="@+id/btn_diagnostics"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -67,7 +81,7 @@
|
|||||||
app:cornerRadius="16dp"
|
app:cornerRadius="16dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/btn_submit" />
|
app:layout_constraintTop_toBottomOf="@id/btn_rnd" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_auto_dac"
|
android:id="@+id/btn_auto_dac"
|
||||||
@@ -153,6 +167,7 @@
|
|||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/btn_deviceProvision" />
|
app:layout_constraintTop_toBottomOf="@id/btn_deviceProvision" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_update_values"
|
android:id="@+id/btn_update_values"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
@@ -160,12 +175,13 @@
|
|||||||
android:layout_marginHorizontal="16dp"
|
android:layout_marginHorizontal="16dp"
|
||||||
android:layout_marginTop="24dp"
|
android:layout_marginTop="24dp"
|
||||||
android:clickable="false"
|
android:clickable="false"
|
||||||
android:text="Update values"
|
android:text="Update valueLs"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
app:cornerRadius="16dp"
|
app:cornerRadius="16dp"
|
||||||
app:layout_constraintEnd_toEndOf="parent"
|
app:layout_constraintEnd_toEndOf="parent"
|
||||||
app:layout_constraintStart_toStartOf="parent"
|
app:layout_constraintStart_toStartOf="parent"
|
||||||
app:layout_constraintTop_toBottomOf="@id/btn_reset_password" />
|
app:layout_constraintTop_toBottomOf="@id/btn_reset_password" />
|
||||||
|
|
||||||
<com.google.android.material.button.MaterialButton
|
<com.google.android.material.button.MaterialButton
|
||||||
android:id="@+id/btn_firefox"
|
android:id="@+id/btn_firefox"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -13,68 +13,9 @@
|
|||||||
|
|
||||||
<resources>
|
<resources>
|
||||||
<string-array name="district">
|
<string-array name="district">
|
||||||
<item>अररिया</item>
|
<item>Mysuru</item>
|
||||||
<item>अरवल</item>
|
<item>Kodagu</item>
|
||||||
<item>औरंगाबाद</item>
|
<item>Chamarajanagar</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>Other</item>
|
<item>Other</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -13,68 +13,9 @@
|
|||||||
|
|
||||||
<resources>
|
<resources>
|
||||||
<string-array name="district">
|
<string-array name="district">
|
||||||
<item>Araria</item>
|
<item>Mysuru</item>
|
||||||
<item>Arwal</item>
|
<item>Kodagu</item>
|
||||||
<item>Aurangabad</item>
|
<item>Chamarajanagar</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>Other</item>
|
<item>Other</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
</resources>
|
</resources>
|
||||||
@@ -25,69 +25,11 @@
|
|||||||
<item>ka</item>
|
<item>ka</item>
|
||||||
<!-- Use language codes (e.g., en, kn) as values -->
|
<!-- Use language codes (e.g., en, kn) as values -->
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<string-array name="district">
|
<string-array name="district">
|
||||||
<item>Araria</item>
|
<item>Mysuru</item>
|
||||||
<item>Arwal</item>
|
<item>Kodagu</item>
|
||||||
<item>Aurangabad</item>
|
<item>Chamarajanagar</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>Other</item>
|
<item>Other</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user