From d2127f92a1d946eccb9c6458dd0bd3e96865729f Mon Sep 17 00:00:00 2001 From: aayush262 Date: Sun, 21 Apr 2024 21:46:36 +0530 Subject: [PATCH] fix: double setting page in theme settings --- .../settings/SettingsThemeActivity.kt | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/ani/dantotsu/settings/SettingsThemeActivity.kt b/app/src/main/java/ani/dantotsu/settings/SettingsThemeActivity.kt index e58eea0b..5e526e28 100644 --- a/app/src/main/java/ani/dantotsu/settings/SettingsThemeActivity.kt +++ b/app/src/main/java/ani/dantotsu/settings/SettingsThemeActivity.kt @@ -27,7 +27,7 @@ import eltos.simpledialogfragment.color.SimpleColorDialog class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultListener { private lateinit var binding: ActivitySettingsThemeBinding - + private var reload = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ThemeManager(this).applyTheme() @@ -41,16 +41,22 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi bottomMargin = navBarHeight } onBackPressedDispatcher.addCallback(context) { - val mainIntent = Intent.makeRestartActivityTask( - packageManager.getLaunchIntentForPackage(packageName)!!.component - ) - val component = ComponentName(packageName, SettingsActivity::class.qualifiedName!!) - try { - startActivity(Intent().setComponent(component)) - } catch (anything: Exception) { - startActivity(mainIntent) + if (reload) { + val packageName = context.packageName + val mainIntent = Intent.makeRestartActivityTask( + packageManager.getLaunchIntentForPackage(packageName)!!.component + ) + val component = ComponentName(packageName, SettingsActivity::class.qualifiedName!!) + try { + startActivity(Intent().setComponent(component)) + } catch (e: Exception) { + startActivity(mainIntent) + } + finishAndRemoveTask() + reload = false + } else { + finish() } - finishAndRemoveTask() } themeSettingsBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() @@ -205,6 +211,7 @@ class SettingsThemeActivity : AppCompatActivity(), SimpleDialog.OnDialogResultLi fun reload() { PrefManager.setCustomVal("reload", true) restartApp() + reload = true } } \ No newline at end of file