diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/CheckmarkPopup.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/CheckmarkPopup.kt index 9f281b964..af432e333 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/CheckmarkPopup.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/CheckmarkPopup.kt @@ -26,7 +26,7 @@ import android.view.View import android.view.View.GONE import android.view.View.VISIBLE import org.isoron.uhabits.R -import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrentAndShow +import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrent import org.isoron.uhabits.core.models.Entry.Companion.NO import org.isoron.uhabits.core.models.Entry.Companion.SKIP import org.isoron.uhabits.core.models.Entry.Companion.UNKNOWN @@ -118,7 +118,7 @@ class CheckmarkPopup( view.unknownBtn.setOnClickListener { onClick(UNKNOWN) } dialog.setCanceledOnTouchOutside(true) dialog.dimBehind() - dialog.dismissCurrentAndShow() + dialog.dismissCurrent() dialog.show() } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.kt index 949d0b200..3f141f3a9 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ColorPickerDialog.kt @@ -21,7 +21,7 @@ package org.isoron.uhabits.activities.common.dialogs import android.app.Dialog import android.os.Bundle import com.android.colorpicker.ColorPickerDialog -import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrentAndShow +import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrent import org.isoron.uhabits.core.ui.callbacks.OnColorPickedCallback import org.isoron.uhabits.utils.toPaletteColor @@ -37,7 +37,8 @@ class ColorPickerDialog : ColorPickerDialog() { } override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { - this.dialog?.dismissCurrentAndShow() - return super.onCreateDialog(savedInstanceState) + val dialog = super.onCreateDialog(savedInstanceState) + dialog.dismissCurrent() + return dialog } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.kt index ffef719ea..27b2b3652 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/ConfirmDeleteDialog.kt @@ -22,7 +22,7 @@ import android.content.Context import android.content.DialogInterface import androidx.appcompat.app.AlertDialog import org.isoron.uhabits.R -import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrentAndShow +import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrent import org.isoron.uhabits.core.ui.callbacks.OnConfirmedCallback import org.isoron.uhabits.inject.ActivityContext @@ -47,6 +47,6 @@ class ConfirmDeleteDialog( res.getString(R.string.no) ) { dialog: DialogInterface?, which: Int -> } - this.dismissCurrentAndShow() + this.dismissCurrent() } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/FrequencyPickerDialog.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/FrequencyPickerDialog.kt index 8ee1dd144..80f54b2ac 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/FrequencyPickerDialog.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/FrequencyPickerDialog.kt @@ -31,7 +31,7 @@ import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatDialogFragment import kotlinx.android.synthetic.main.frequency_picker_dialog.view.* import org.isoron.uhabits.R -import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrentAndShow +import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrent class FrequencyPickerDialog( var freqNumerator: Int, @@ -116,7 +116,7 @@ class FrequencyPickerDialog( .setView(contentView) .setPositiveButton(R.string.save) { _, _ -> onSaveClicked() } .create() - dialog.dismissCurrentAndShow() + dialog.dismissCurrent() return dialog } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/MultipleDialogsHandler.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/MultipleDialogsHandler.kt index 6a0c7b32b..26f9c7373 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/MultipleDialogsHandler.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/MultipleDialogsHandler.kt @@ -7,13 +7,9 @@ class MultipleDialogsHandler { companion object { var currentDialog: WeakReference = WeakReference(null) - fun Dialog.dismissCurrentAndShow() { - if (currentDialog.get() != null) { - var test = currentDialog.get()!!.isShowing - } + fun Dialog.dismissCurrent() { currentDialog.get()?.dismiss() currentDialog = WeakReference(this) - show() } } } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPopup.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPopup.kt index a42dc6408..2f1776c13 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPopup.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/NumberPopup.kt @@ -27,7 +27,7 @@ import android.view.MotionEvent.ACTION_DOWN import android.view.View import android.view.View.GONE import android.view.View.VISIBLE -import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrentAndShow +import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrent import org.isoron.uhabits.core.models.Entry import org.isoron.uhabits.core.preferences.Preferences import org.isoron.uhabits.databinding.CheckmarkPopupBinding @@ -104,7 +104,7 @@ class NumberPopup( view.value.requestFocusWithKeyboard() dialog.setCanceledOnTouchOutside(true) dialog.dimBehind() - dialog.dismissCurrentAndShow() + dialog.dismissCurrent() dialog.show() } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.kt index 2936ccd30..a96cf1901 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/common/dialogs/WeekdayPickerDialog.kt @@ -25,7 +25,7 @@ import android.os.Bundle import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatDialogFragment import org.isoron.uhabits.R -import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrentAndShow +import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrent import org.isoron.uhabits.core.models.WeekdayList import org.isoron.uhabits.core.utils.DateUtils import java.util.Calendar @@ -76,7 +76,7 @@ class WeekdayPickerDialog : ) { _: DialogInterface?, _: Int -> dismiss() } val dialog = builder.create() - dialog.dismissCurrentAndShow() + dialog.dismissCurrent() return dialog } diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt index 572917d10..503738c69 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/activities/habits/edit/EditHabitActivity.kt @@ -46,6 +46,7 @@ import org.isoron.uhabits.R import org.isoron.uhabits.activities.AndroidThemeSwitcher import org.isoron.uhabits.activities.common.dialogs.ColorPickerDialogFactory import org.isoron.uhabits.activities.common.dialogs.FrequencyPickerDialog +import org.isoron.uhabits.activities.common.dialogs.MultipleDialogsHandler.Companion.dismissCurrent import org.isoron.uhabits.activities.common.dialogs.WeekdayPickerDialog import org.isoron.uhabits.core.commands.CommandRunner import org.isoron.uhabits.core.commands.CreateHabitCommand @@ -189,7 +190,9 @@ class EditHabitActivity : AppCompatActivity() { populateTargetType() dialog.dismiss() } - builder.show() + val dialog = builder.create() + dialog.dismissCurrent() + dialog.show() } binding.numericalFrequencyPicker.setOnClickListener {