mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 09:08:52 -06:00
Fixed double invocation of show() and target type dialog
This commit is contained in:
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -7,13 +7,9 @@ class MultipleDialogsHandler {
|
||||
companion object {
|
||||
var currentDialog: WeakReference<Dialog> = WeakReference(null)
|
||||
|
||||
fun Dialog.dismissCurrentAndShow() {
|
||||
if (currentDialog.get() != null) {
|
||||
var test = currentDialog.get()!!.isShowing
|
||||
}
|
||||
fun Dialog.dismissCurrent() {
|
||||
currentDialog.get()?.dismiss()
|
||||
currentDialog = WeakReference(this)
|
||||
show()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user