mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-14 04:58:52 -06:00
Checking if a dialog was already created
This commit is contained in:
@@ -50,7 +50,6 @@ class NumberPickerFactory
|
||||
@Inject constructor(
|
||||
@ActivityContext private val context: Context
|
||||
) {
|
||||
|
||||
@SuppressLint("SetTextI18n")
|
||||
fun create(
|
||||
value: Double,
|
||||
@@ -60,6 +59,7 @@ class NumberPickerFactory
|
||||
frequency: Frequency,
|
||||
callback: ListHabitsBehavior.NumberPickerCallback
|
||||
): AlertDialog {
|
||||
numberPickerExists = true
|
||||
val inflater = LayoutInflater.from(context)
|
||||
val view = inflater.inflate(R.layout.number_picker_dialog, null)
|
||||
|
||||
@@ -113,6 +113,7 @@ class NumberPickerFactory
|
||||
}
|
||||
.setOnDismissListener {
|
||||
callback.onNumberPickerDismissed()
|
||||
numberPickerExists = false
|
||||
}
|
||||
|
||||
if (frequency == DAILY) {
|
||||
@@ -169,6 +170,16 @@ class NumberPickerFactory
|
||||
val inputMethodManager = context.getSystemService(InputMethodManager::class.java)
|
||||
inputMethodManager?.showSoftInput(v, 0)
|
||||
}
|
||||
|
||||
companion object {
|
||||
private var numberPickerExists = false
|
||||
|
||||
fun numberPickerAlreadyExists(): Boolean = numberPickerExists
|
||||
|
||||
fun setNumberPickerExists(value: Boolean) {
|
||||
numberPickerExists = value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class SeparatorWatcherInputFilter(private val nextPicker: NumberPicker) : InputFilter {
|
||||
|
||||
@@ -234,7 +234,9 @@ class ListHabitsScreen
|
||||
frequency: Frequency,
|
||||
callback: ListHabitsBehavior.NumberPickerCallback
|
||||
) {
|
||||
numberPickerFactory.create(value, unit, notes, dateString, frequency, callback).show()
|
||||
if (!NumberPickerFactory.numberPickerAlreadyExists()) {
|
||||
numberPickerFactory.create(value, unit, notes, dateString, frequency, callback).show()
|
||||
}
|
||||
}
|
||||
|
||||
override fun showCheckmarkDialog(
|
||||
|
||||
@@ -20,6 +20,7 @@ package org.isoron.uhabits.activities.habits.show
|
||||
|
||||
import android.content.ContentUris
|
||||
import android.os.Bundle
|
||||
import android.util.Log
|
||||
import android.view.HapticFeedbackConstants
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
@@ -173,7 +174,16 @@ class ShowHabitActivity : AppCompatActivity(), CommandRunner.Listener {
|
||||
frequency: Frequency,
|
||||
callback: ListHabitsBehavior.NumberPickerCallback
|
||||
) {
|
||||
NumberPickerFactory(this@ShowHabitActivity).create(value, unit, notes, dateString, frequency, callback).show()
|
||||
if(!NumberPickerFactory.numberPickerAlreadyExists()) {
|
||||
NumberPickerFactory(this@ShowHabitActivity).create(
|
||||
value,
|
||||
unit,
|
||||
notes,
|
||||
dateString,
|
||||
frequency,
|
||||
callback
|
||||
).show()
|
||||
}
|
||||
}
|
||||
|
||||
override fun showCheckmarkDialog(
|
||||
|
||||
Reference in New Issue
Block a user