From 2ba5f5fb985679f8e4042a9bf431ae9ab5bd80c5 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sat, 22 Oct 2022 16:18:55 -0500 Subject: [PATCH] Dismiss current dialog onPause Fixes #1545 --- .../uhabits/activities/habits/list/ListHabitsActivity.kt | 2 ++ .../uhabits/activities/habits/show/ShowHabitActivity.kt | 2 ++ .../src/main/java/org/isoron/uhabits/utils/DialogUtils.kt | 4 ++++ 3 files changed, 8 insertions(+) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt index e14bdefd5..875cdb941 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/list/ListHabitsActivity.kt @@ -40,6 +40,7 @@ import org.isoron.uhabits.inject.ActivityContextModule import org.isoron.uhabits.inject.DaggerHabitsActivityComponent import org.isoron.uhabits.inject.HabitsActivityComponent import org.isoron.uhabits.inject.HabitsApplicationComponent +import org.isoron.uhabits.utils.dismissCurrentDialog import org.isoron.uhabits.utils.restartWithFade class ListHabitsActivity : AppCompatActivity(), Preferences.Listener { @@ -91,6 +92,7 @@ class ListHabitsActivity : AppCompatActivity(), Preferences.Listener { midnightTimer.onPause() screen.onDetached() adapter.cancelRefresh() + dismissCurrentDialog() super.onPause() } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.kt index b993d0d20..b68dc1f36 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/show/ShowHabitActivity.kt @@ -51,6 +51,7 @@ import org.isoron.uhabits.core.ui.views.OnDateClickedListener import org.isoron.uhabits.intents.IntentFactory import org.isoron.uhabits.utils.currentTheme import org.isoron.uhabits.utils.dismissCurrentAndShow +import org.isoron.uhabits.utils.dismissCurrentDialog import org.isoron.uhabits.utils.showMessage import org.isoron.uhabits.utils.showSendFileScreen import org.isoron.uhabits.widgets.WidgetUpdater @@ -129,6 +130,7 @@ class ShowHabitActivity : AppCompatActivity(), CommandRunner.Listener { } override fun onPause() { + dismissCurrentDialog() commandRunner.removeListener(this) super.onPause() } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/DialogUtils.kt b/uhabits-android/src/main/java/org/isoron/uhabits/utils/DialogUtils.kt index 855f865c7..00a17aa9a 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/utils/DialogUtils.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/utils/DialogUtils.kt @@ -7,6 +7,10 @@ import java.lang.ref.WeakReference var currentDialog: WeakReference = WeakReference(null) +fun dismissCurrentDialog() { + currentDialog.get()?.dismiss() +} + fun Dialog.dismissCurrentAndShow() { currentDialog.get()?.dismiss() currentDialog = WeakReference(this)