Show message after archiving/unarchiving habits

This commit is contained in:
2025-09-14 18:24:35 -05:00
parent 0a4086ec8c
commit 542750207e
2 changed files with 34 additions and 7 deletions

View File

@@ -203,7 +203,8 @@ class ShowHabitActivity : AppCompatActivity(), CommandRunner.Listener {
} }
private fun getPopupAnchor(): View? { private fun getPopupAnchor(): View? {
val dialog = supportFragmentManager.findFragmentByTag("historyEditor") as HistoryEditorDialog? val dialog =
supportFragmentManager.findFragmentByTag("historyEditor") as HistoryEditorDialog?
return dialog?.dataView return dialog?.dataView
} }
@@ -216,6 +217,25 @@ class ShowHabitActivity : AppCompatActivity(), CommandRunner.Listener {
ShowHabitMenuPresenter.Message.COULD_NOT_EXPORT -> { ShowHabitMenuPresenter.Message.COULD_NOT_EXPORT -> {
showMessage(resources.getString(R.string.could_not_export)) showMessage(resources.getString(R.string.could_not_export))
} }
ShowHabitMenuPresenter.Message.HABIT_ARCHIVED -> {
showMessage(
resources.getQuantityString(
R.plurals.toast_habits_archived,
1
)
)
}
ShowHabitMenuPresenter.Message.HABIT_UNARCHIVED -> {
showMessage(
resources.getQuantityString(
R.plurals.toast_habits_unarchived,
1
)
)
}
else -> {} else -> {}
} }
} }

View File

@@ -18,10 +18,10 @@
*/ */
package org.isoron.uhabits.core.ui.screens.habits.show package org.isoron.uhabits.core.ui.screens.habits.show
import org.isoron.uhabits.core.commands.CommandRunner
import org.isoron.uhabits.core.commands.ArchiveHabitsCommand import org.isoron.uhabits.core.commands.ArchiveHabitsCommand
import org.isoron.uhabits.core.commands.UnarchiveHabitsCommand import org.isoron.uhabits.core.commands.CommandRunner
import org.isoron.uhabits.core.commands.DeleteHabitsCommand import org.isoron.uhabits.core.commands.DeleteHabitsCommand
import org.isoron.uhabits.core.commands.UnarchiveHabitsCommand
import org.isoron.uhabits.core.models.Entry import org.isoron.uhabits.core.models.Entry
import org.isoron.uhabits.core.models.Habit import org.isoron.uhabits.core.models.Habit
import org.isoron.uhabits.core.models.HabitList import org.isoron.uhabits.core.models.HabitList
@@ -56,7 +56,8 @@ class ShowHabitMenuPresenter(
} }
fun onArchiveHabits() { fun onArchiveHabits() {
commandRunner.run(ArchiveHabitsCommand(habitList,listOf(habit))) commandRunner.run(ArchiveHabitsCommand(habitList, listOf(habit)))
screen.showMessage(Message.HABIT_ARCHIVED)
} }
fun onExportCSV() { fun onExportCSV() {
@@ -80,7 +81,8 @@ class ShowHabitMenuPresenter(
} }
fun onUnarchiveHabits() { fun onUnarchiveHabits() {
commandRunner.run(UnarchiveHabitsCommand(habitList,listOf(habit))) commandRunner.run(UnarchiveHabitsCommand(habitList, listOf(habit)))
screen.showMessage(Message.HABIT_UNARCHIVED)
} }
fun onRandomize() { fun onRandomize() {
@@ -91,7 +93,10 @@ class ShowHabitMenuPresenter(
if (i % 7 == 0) strength = max(0.0, min(100.0, strength + 10 * random.nextGaussian())) if (i % 7 == 0) strength = max(0.0, min(100.0, strength + 10 * random.nextGaussian()))
if (random.nextInt(100) > strength) continue if (random.nextInt(100) > strength) continue
var value = Entry.YES_MANUAL var value = Entry.YES_MANUAL
if (habit.isNumerical) value = (1000 + 250 * random.nextGaussian() * strength / 100).toInt() * 1000 if (habit.isNumerical) {
value =
(1000 + 250 * random.nextGaussian() * strength / 100).toInt() * 1000
}
habit.originalEntries.add(Entry(DateUtils.getToday().minus(i), value)) habit.originalEntries.add(Entry(DateUtils.getToday().minus(i), value))
} }
habit.recompute() habit.recompute()
@@ -99,7 +104,9 @@ class ShowHabitMenuPresenter(
} }
enum class Message { enum class Message {
COULD_NOT_EXPORT COULD_NOT_EXPORT,
HABIT_ARCHIVED,
HABIT_UNARCHIVED
} }
interface Screen { interface Screen {