RemindersViewModel

ViewModel для управления напоминаниями и подзадачами.

Содержит всю бизнес-логику приложения: создание, редактирование, удаление задач, управление уведомлениями, сортировку и автоматическую очистку.

Author

Грехов М.В. (приоритеты, темы, проверки времени, редактирование текста)

Яньшина А.Ю. (подзадачи, кастомизация уведомлений, автоматическая очистка)

Since

1.0.0

Constructors

Link copied to clipboard
constructor()

Properties

Link copied to clipboard

Менеджер будильников для планирования уведомлений

Link copied to clipboard

Текущее напоминание, для которого создается подзадача

Link copied to clipboard

Дата новой задачи (формат dd.MM.yyyy)

Link copied to clipboard
lateinit var dbHelper: DatabaseHelper

Помощник для работы с базой данных

Link copied to clipboard

Список всех напоминаний (автоматически обновляется в UI)

Link copied to clipboard

Приоритет новой задачи

Link copied to clipboard

Флаг отображения диалога создания подзадачи (добавлено в версии 1.2.0)

Link copied to clipboard

Дата новой подзадачи

Link copied to clipboard

Настройки уведомления для подзадачи (добавлены в версии 2.0.0)

Link copied to clipboard

Приоритет новой подзадачи (добавлен в версии 1.1.0, для подзадач с 1.2.0)

Link copied to clipboard

Текст новой подзадачи

Link copied to clipboard

Время новой подзадачи

Link copied to clipboard

Временные настройки уведомления для новой задачи (добавлены в версии 2.0.0)

Link copied to clipboard

Текст новой задачи

Link copied to clipboard

Время новой задачи (формат HH:mm)

Functions

Link copied to clipboard
open fun addCloseable(closeable: AutoCloseable)
fun addCloseable(key: String, closeable: AutoCloseable)
Link copied to clipboard
fun addReminder(context: Context)

Добавляет новое напоминание.

Link copied to clipboard
fun addSubTask(context: Context, parentReminder: Reminder)

Добавляет новую подзадачу к существующему напоминанию.

Link copied to clipboard
fun cancelNotification(context: Context, id: Int)

Отменяет запланированное уведомление.

Link copied to clipboard

Очищает выполненные и просроченные напоминания.

Link copied to clipboard
fun editReminderText(reminder: Reminder, newText: String, context: Context)

Редактирует текст существующего напоминания.

Link copied to clipboard
fun editSubTaskText(reminder: Reminder, subTask: SubTask, newText: String, context: Context)

Редактирует текст существующей подзадачи.

Link copied to clipboard
Link copied to clipboard
fun getReminders(context: Context)

Загружает все напоминания из базы данных.

Link copied to clipboard
fun removeReminder(reminder: Reminder, context: Context)

Удаляет напоминание и все его подзадачи.

Link copied to clipboard
fun removeSubTask(reminder: Reminder, subTask: SubTask, context: Context)

Удаляет напоминание и все его подзадачи.

Link copied to clipboard

Планирует уведомление для напоминания с учётом настроек повторения.

Планирует уведомление для подзадачи с учётом настроек повторения.

Link copied to clipboard

Сортирует список напоминаний и подзадач.

Link copied to clipboard
fun toggleReminderCompletion(reminder: Reminder, context: Context)

Переключает статус выполнения напоминания (выполнено/не выполнено).

Link copied to clipboard
fun toggleSubTaskCompletion(reminder: Reminder, subTask: SubTask, context: Context)

Переключает статус выполнения подзадачи.