Changed the approach

pull/1356/head
Jakub Kalinowski 3 years ago
parent 71417df2c9
commit d7293d7a8e

@ -59,7 +59,9 @@ class NumberPickerFactory
frequency: Frequency,
callback: ListHabitsBehavior.NumberPickerCallback
): AlertDialog {
numberPickerExists = true
clearCurrentDialog()
val inflater = LayoutInflater.from(context)
val view = inflater.inflate(R.layout.number_picker_dialog, null)
@ -113,7 +115,7 @@ class NumberPickerFactory
}
.setOnDismissListener {
callback.onNumberPickerDismissed()
numberPickerExists = false
currentDialog = null
}
if (frequency == DAILY) {
@ -154,6 +156,7 @@ class NumberPickerFactory
false
}
currentDialog = dialog
return dialog
}
@ -172,12 +175,10 @@ class NumberPickerFactory
}
companion object {
private var numberPickerExists = false
fun numberPickerAlreadyExists(): Boolean = numberPickerExists
fun setNumberPickerExists(value: Boolean) {
numberPickerExists = value
private var currentDialog: AlertDialog? = null
fun clearCurrentDialog() {
currentDialog?.dismiss()
currentDialog = null
}
}
}

@ -234,9 +234,7 @@ class ListHabitsScreen
frequency: Frequency,
callback: ListHabitsBehavior.NumberPickerCallback
) {
if (!NumberPickerFactory.numberPickerAlreadyExists()) {
numberPickerFactory.create(value, unit, notes, dateString, frequency, callback).show()
}
numberPickerFactory.create(value, unit, notes, dateString, frequency, callback).show()
}
override fun showCheckmarkDialog(

@ -20,7 +20,6 @@ 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
@ -174,16 +173,14 @@ class ShowHabitActivity : AppCompatActivity(), CommandRunner.Listener {
frequency: Frequency,
callback: ListHabitsBehavior.NumberPickerCallback
) {
if(!NumberPickerFactory.numberPickerAlreadyExists()) {
NumberPickerFactory(this@ShowHabitActivity).create(
value,
unit,
notes,
dateString,
frequency,
callback
).show()
}
NumberPickerFactory(this@ShowHabitActivity).create(
value,
unit,
notes,
dateString,
frequency,
callback
).show()
}
override fun showCheckmarkDialog(

Loading…
Cancel
Save