mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-15 13:38:52 -06:00
Changed the approach
This commit is contained in:
@@ -59,7 +59,9 @@ class NumberPickerFactory
|
|||||||
frequency: Frequency,
|
frequency: Frequency,
|
||||||
callback: ListHabitsBehavior.NumberPickerCallback
|
callback: ListHabitsBehavior.NumberPickerCallback
|
||||||
): AlertDialog {
|
): AlertDialog {
|
||||||
numberPickerExists = true
|
|
||||||
|
clearCurrentDialog()
|
||||||
|
|
||||||
val inflater = LayoutInflater.from(context)
|
val inflater = LayoutInflater.from(context)
|
||||||
val view = inflater.inflate(R.layout.number_picker_dialog, null)
|
val view = inflater.inflate(R.layout.number_picker_dialog, null)
|
||||||
|
|
||||||
@@ -113,7 +115,7 @@ class NumberPickerFactory
|
|||||||
}
|
}
|
||||||
.setOnDismissListener {
|
.setOnDismissListener {
|
||||||
callback.onNumberPickerDismissed()
|
callback.onNumberPickerDismissed()
|
||||||
numberPickerExists = false
|
currentDialog = null
|
||||||
}
|
}
|
||||||
|
|
||||||
if (frequency == DAILY) {
|
if (frequency == DAILY) {
|
||||||
@@ -154,6 +156,7 @@ class NumberPickerFactory
|
|||||||
false
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
currentDialog = dialog
|
||||||
return dialog
|
return dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -172,12 +175,10 @@ class NumberPickerFactory
|
|||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private var numberPickerExists = false
|
private var currentDialog: AlertDialog? = null
|
||||||
|
fun clearCurrentDialog() {
|
||||||
fun numberPickerAlreadyExists(): Boolean = numberPickerExists
|
currentDialog?.dismiss()
|
||||||
|
currentDialog = null
|
||||||
fun setNumberPickerExists(value: Boolean) {
|
|
||||||
numberPickerExists = value
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -234,9 +234,7 @@ class ListHabitsScreen
|
|||||||
frequency: Frequency,
|
frequency: Frequency,
|
||||||
callback: ListHabitsBehavior.NumberPickerCallback
|
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(
|
override fun showCheckmarkDialog(
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ package org.isoron.uhabits.activities.habits.show
|
|||||||
|
|
||||||
import android.content.ContentUris
|
import android.content.ContentUris
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.util.Log
|
|
||||||
import android.view.HapticFeedbackConstants
|
import android.view.HapticFeedbackConstants
|
||||||
import android.view.Menu
|
import android.view.Menu
|
||||||
import android.view.MenuItem
|
import android.view.MenuItem
|
||||||
@@ -174,16 +173,14 @@ class ShowHabitActivity : AppCompatActivity(), CommandRunner.Listener {
|
|||||||
frequency: Frequency,
|
frequency: Frequency,
|
||||||
callback: ListHabitsBehavior.NumberPickerCallback
|
callback: ListHabitsBehavior.NumberPickerCallback
|
||||||
) {
|
) {
|
||||||
if(!NumberPickerFactory.numberPickerAlreadyExists()) {
|
NumberPickerFactory(this@ShowHabitActivity).create(
|
||||||
NumberPickerFactory(this@ShowHabitActivity).create(
|
value,
|
||||||
value,
|
unit,
|
||||||
unit,
|
notes,
|
||||||
notes,
|
dateString,
|
||||||
dateString,
|
frequency,
|
||||||
frequency,
|
callback
|
||||||
callback
|
).show()
|
||||||
).show()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun showCheckmarkDialog(
|
override fun showCheckmarkDialog(
|
||||||
|
|||||||
Reference in New Issue
Block a user