From 36ddfa86b548c7926e78864df3cfbca5546d7165 Mon Sep 17 00:00:00 2001 From: Hafiz Date: Mon, 23 Jun 2025 14:59:36 -0500 Subject: [PATCH] Fix changing display modes in settings creates multiple instances of settings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Wrap initial fragment transaction in if (savedInstanceState == null) so if the activity recreates (theme or system UI changes), fragments don’t stack --- .../android/habitica/ui/activities/PrefsActivity.kt | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.kt index 18e063e9c..5f508245f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PrefsActivity.kt @@ -23,10 +23,12 @@ class PrefsActivity : super.onCreate(savedInstanceState) setupToolbar(findViewById(R.id.toolbar)) - - supportFragmentManager.beginTransaction() - .replace(R.id.fragment_container, PreferencesFragment()) - .commit() + + if (savedInstanceState == null) { + supportFragmentManager.beginTransaction() + .replace(R.id.fragment_container, PreferencesFragment()) + .commit() + } } override fun onSupportNavigateUp(): Boolean {