Fixed the issue where app wil crash when switched to pre pod

This commit is contained in:
sathwikcs
2025-02-19 18:41:11 +05:30
parent ad6670a1e8
commit 20dd1e41eb

View File

@@ -13,12 +13,10 @@
package com.example.hpostesting.presentation.main_base package com.example.hpostesting.presentation.main_base
import android.app.AlertDialog
import android.content.Context import android.content.Context
import android.content.SharedPreferences import android.content.SharedPreferences
import android.content.pm.PackageManager import android.content.pm.PackageManager
import android.os.Bundle import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
@@ -39,7 +37,7 @@ import com.example.hpostesting.firebase.FirebaseConfig
import com.example.hpostesting.firebase.FirebaseManager import com.example.hpostesting.firebase.FirebaseManager
import `in`.sminnovations.hpostesting.R import `in`.sminnovations.hpostesting.R
import `in`.sminnovations.hpostesting.databinding.FragmentSlideshowBinding import `in`.sminnovations.hpostesting.databinding.FragmentSlideshowBinding
import kotlin.math.log
private var isLanguageChanged = false private var isLanguageChanged = false
@@ -61,7 +59,6 @@ class SlideshowFragment : Fragment() {
super.onViewCreated(view, savedInstanceState) super.onViewCreated(view, savedInstanceState)
binding.nameEditText.setText(sharedPreferences.getString(Constants.LABNAME, "")) binding.nameEditText.setText(sharedPreferences.getString(Constants.LABNAME, ""))
selectedItem = sharedPreferences.getString(Constants.CUVETTE_SIZE, "10mm").toString() selectedItem = sharedPreferences.getString(Constants.CUVETTE_SIZE, "10mm").toString()
binding.btnGo.setOnClickListener { binding.btnGo.setOnClickListener {
var labname = binding.nameEditText.text.toString() var labname = binding.nameEditText.text.toString()
@@ -160,6 +157,7 @@ class PrefsFragment : PreferenceFragmentCompat() {
summary = "Current server : $currentServer " summary = "Current server : $currentServer "
entries = serverNames entries = serverNames
entryValues = serverNames entryValues = serverNames
value = currentServer
setDefaultValue(currentServer) setDefaultValue(currentServer)
icon = ContextCompat.getDrawable(requireContext(), R.drawable.baseline_cloud_sync_24) icon = ContextCompat.getDrawable(requireContext(), R.drawable.baseline_cloud_sync_24)
onPreferenceChangeListener = Preference.OnPreferenceChangeListener { old, newValue -> onPreferenceChangeListener = Preference.OnPreferenceChangeListener { old, newValue ->
@@ -186,11 +184,10 @@ class PrefsFragment : PreferenceFragmentCompat() {
firebaseManager.setDevModeOn(isEnabled) firebaseManager.setDevModeOn(isEnabled)
if (!isEnabled) { if (!isEnabled) {
// Hide Developer Toggle if switched off
preferenceScreen.removePreference(this) preferenceScreen.removePreference(this)
preferenceScreen.removePreference(serverSelectorPreference) preferenceScreen.removePreference(serverSelectorPreference)
} }
if (!firebaseManager.getDevMode()){ if (!firebaseManager.getDevMode() && currentServer != "prod"){
val prodConfig = servers.find { it.serverName == "prod" } val prodConfig = servers.find { it.serverName == "prod" }
switchFirebaseServer(prodConfig!!) switchFirebaseServer(prodConfig!!)
} }
@@ -208,13 +205,23 @@ class PrefsFragment : PreferenceFragmentCompat() {
setOnPreferenceClickListener { setOnPreferenceClickListener {
tapManager.registerTap { tapManager.registerTap {
firebaseManager.setDevModeOn(true) 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) { if (preferenceScreen.findPreference<SwitchPreferenceCompat>("developer_options") == null) {
preferenceScreen.addPreference(developerToggle) preferenceScreen.addPreference(developerToggle)
} }
if (preferenceScreen.findPreference<ListPreference>("server_preference") == null) { if (preferenceScreen.findPreference<ListPreference>("server_preference") == null) {
preferenceScreen.addPreference(serverSelectorPreference) preferenceScreen.addPreference(serverSelectorPreference)
} }
developerToggle.isChecked = true developerToggle.isChecked = true
updateServerPreference(currentServer)
} }
true true
} }
@@ -239,6 +246,13 @@ class PrefsFragment : PreferenceFragmentCompat() {
private fun updateServerPreference(newServer: String) {
preferenceManager.findPreference<ListPreference>("server_preference")?.let { pref ->
pref.value = newServer
pref.summary = "Current server: $newServer"
pref.callChangeListener(newServer)
}
}
@@ -252,8 +266,6 @@ class PrefsFragment : PreferenceFragmentCompat() {
Toast.makeText(requireContext(), "Restart needed restarting the app", Toast.LENGTH_SHORT) Toast.makeText(requireContext(), "Restart needed restarting the app", Toast.LENGTH_SHORT)
.show() .show()
firebaseManager.restartApp() firebaseManager.restartApp()
} }
private fun updateLanguage(context: Context, languageCode: String) { private fun updateLanguage(context: Context, languageCode: String) {