From 27a8db2cece8093f5adfc0966685bbda08ced0bb Mon Sep 17 00:00:00 2001 From: Tomek Zebrowski Date: Wed, 24 Jun 2026 09:34:50 +0200 Subject: [PATCH 1/2] fix(preferences): prevent dialog popup on language change Added a check for savedInstanceState in onCreatePreferences to ensure openPreferenceDialogFor() is only called on the initial creation. This prevents dialogs from unexpectedly reopening when the Activity is recreated, such as when changing the app language. --- .../org/obd/graphs/preferences/PreferencesFragment.kt | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/obd/graphs/preferences/PreferencesFragment.kt b/app/src/main/java/org/obd/graphs/preferences/PreferencesFragment.kt index fa8adac8..cc653f06 100644 --- a/app/src/main/java/org/obd/graphs/preferences/PreferencesFragment.kt +++ b/app/src/main/java/org/obd/graphs/preferences/PreferencesFragment.kt @@ -161,13 +161,17 @@ class PreferencesFragment : PreferenceFragmentCompat() { setPreferencesFromResource(R.xml.preferences, rootKey) } else { requireArguments().getString(PREFERENCE_SCREEN_KEY)?.let { - Log.d(LOG_KEY, "Loading Pref Screen for key=$it") - setPreferencesFromResource( R.xml.preferences, it ) - openPreferenceDialogFor(it) + if (savedInstanceState == null) { + if (Log.isLoggable(LOG_KEY,Log.DEBUG)) { + Log.d(LOG_KEY, "Loading Pref Screen for key=$it. Opening the dialog window.") + } + + openPreferenceDialogFor(it) + } } } } From 2f83f712af6901a0a0422d50037666676d0b0633 Mon Sep 17 00:00:00 2001 From: Tomek Zebrowski Date: Wed, 24 Jun 2026 11:42:01 +0200 Subject: [PATCH 2/2] fix: apply spotless fixes --- .../main/java/org/obd/graphs/preferences/PreferencesFragment.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/org/obd/graphs/preferences/PreferencesFragment.kt b/app/src/main/java/org/obd/graphs/preferences/PreferencesFragment.kt index cc653f06..fe73d42a 100644 --- a/app/src/main/java/org/obd/graphs/preferences/PreferencesFragment.kt +++ b/app/src/main/java/org/obd/graphs/preferences/PreferencesFragment.kt @@ -166,7 +166,7 @@ class PreferencesFragment : PreferenceFragmentCompat() { it ) if (savedInstanceState == null) { - if (Log.isLoggable(LOG_KEY,Log.DEBUG)) { + if (Log.isLoggable(LOG_KEY, Log.DEBUG)) { Log.d(LOG_KEY, "Loading Pref Screen for key=$it. Opening the dialog window.") }