From 20dd1e41ebf0d478d442e4ea1b027fd181b5868a Mon Sep 17 00:00:00 2001 From: sathwikcs <85106054+sathwikcs@users.noreply.github.com> Date: Wed, 19 Feb 2025 18:41:11 +0530 Subject: [PATCH] Fixed the issue where app wil crash when switched to pre pod --- .../main_base/SettingsFragment.kt | 28 +++++++++++++------ 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/presentation/main_base/SettingsFragment.kt b/app/src/main/java/com/example/hpostesting/presentation/main_base/SettingsFragment.kt index e243a33..3cd46c0 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/main_base/SettingsFragment.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/main_base/SettingsFragment.kt @@ -13,12 +13,10 @@ package com.example.hpostesting.presentation.main_base -import android.app.AlertDialog import android.content.Context import android.content.SharedPreferences import android.content.pm.PackageManager import android.os.Bundle -import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -39,7 +37,7 @@ import com.example.hpostesting.firebase.FirebaseConfig import com.example.hpostesting.firebase.FirebaseManager import `in`.sminnovations.hpostesting.R import `in`.sminnovations.hpostesting.databinding.FragmentSlideshowBinding -import kotlin.math.log + private var isLanguageChanged = false @@ -61,7 +59,6 @@ class SlideshowFragment : Fragment() { super.onViewCreated(view, savedInstanceState) binding.nameEditText.setText(sharedPreferences.getString(Constants.LABNAME, "")) - selectedItem = sharedPreferences.getString(Constants.CUVETTE_SIZE, "10mm").toString() binding.btnGo.setOnClickListener { var labname = binding.nameEditText.text.toString() @@ -160,6 +157,7 @@ class PrefsFragment : PreferenceFragmentCompat() { summary = "Current server : $currentServer " entries = serverNames entryValues = serverNames + value = currentServer setDefaultValue(currentServer) icon = ContextCompat.getDrawable(requireContext(), R.drawable.baseline_cloud_sync_24) onPreferenceChangeListener = Preference.OnPreferenceChangeListener { old, newValue -> @@ -186,11 +184,10 @@ class PrefsFragment : PreferenceFragmentCompat() { firebaseManager.setDevModeOn(isEnabled) if (!isEnabled) { - // Hide Developer Toggle if switched off preferenceScreen.removePreference(this) preferenceScreen.removePreference(serverSelectorPreference) } - if (!firebaseManager.getDevMode()){ + if (!firebaseManager.getDevMode() && currentServer != "prod"){ val prodConfig = servers.find { it.serverName == "prod" } switchFirebaseServer(prodConfig!!) } @@ -208,13 +205,23 @@ class PrefsFragment : PreferenceFragmentCompat() { 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("developer_options") == null) { preferenceScreen.addPreference(developerToggle) } if (preferenceScreen.findPreference("server_preference") == null) { preferenceScreen.addPreference(serverSelectorPreference) } + developerToggle.isChecked = true + updateServerPreference(currentServer) } true } @@ -239,6 +246,13 @@ class PrefsFragment : PreferenceFragmentCompat() { + private fun updateServerPreference(newServer: String) { + preferenceManager.findPreference("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) .show() firebaseManager.restartApp() - - } private fun updateLanguage(context: Context, languageCode: String) {