Improve notifications, tilawah flow, and dzikir structure

This commit is contained in:
Dwindi Ramadhana
2026-05-20 19:52:15 +07:00
parent c32b56c00e
commit 5195ba19ad
19 changed files with 1056 additions and 318 deletions

View File

@@ -104,6 +104,21 @@ class AppSettings extends HiveObject {
@HiveField(32)
bool mirrorAdzanToInbox;
@HiveField(33)
bool tilawahAutoContinueNextSurah;
@HiveField(34)
bool shalatReportReminderEnabled;
@HiveField(35)
int shalatReportReminderDelayMinutes;
@HiveField(36)
int shalatReportReminderRepeatCount;
@HiveField(37)
int shalatReportReminderRepeatIntervalMinutes;
AppSettings({
this.userName = 'User',
this.userEmail = '',
@@ -138,6 +153,11 @@ class AppSettings extends HiveObject {
this.quietHoursEnd = '05:00',
this.maxNonPrayerPushPerDay = 2,
this.mirrorAdzanToInbox = false,
this.tilawahAutoContinueNextSurah = true,
this.shalatReportReminderEnabled = true,
this.shalatReportReminderDelayMinutes = 30,
this.shalatReportReminderRepeatCount = 1,
this.shalatReportReminderRepeatIntervalMinutes = 15,
}) : adhanEnabled = adhanEnabled ??
{
'fajr': true,

View File

@@ -72,13 +72,23 @@ class AppSettingsAdapter extends TypeAdapter<AppSettings> {
fields.containsKey(31) ? fields[31] as int? ?? 2 : 2,
mirrorAdzanToInbox:
fields.containsKey(32) ? fields[32] as bool? ?? false : false,
tilawahAutoContinueNextSurah:
fields.containsKey(33) ? fields[33] as bool? ?? true : true,
shalatReportReminderEnabled:
fields.containsKey(34) ? fields[34] as bool? ?? true : true,
shalatReportReminderDelayMinutes:
fields.containsKey(35) ? fields[35] as int? ?? 30 : 30,
shalatReportReminderRepeatCount:
fields.containsKey(36) ? fields[36] as int? ?? 1 : 1,
shalatReportReminderRepeatIntervalMinutes:
fields.containsKey(37) ? fields[37] as int? ?? 15 : 15,
);
}
@override
void write(BinaryWriter writer, AppSettings obj) {
writer
..writeByte(33)
..writeByte(38)
..writeByte(0)
..write(obj.userName)
..writeByte(1)
@@ -144,7 +154,17 @@ class AppSettingsAdapter extends TypeAdapter<AppSettings> {
..writeByte(31)
..write(obj.maxNonPrayerPushPerDay)
..writeByte(32)
..write(obj.mirrorAdzanToInbox);
..write(obj.mirrorAdzanToInbox)
..writeByte(33)
..write(obj.tilawahAutoContinueNextSurah)
..writeByte(34)
..write(obj.shalatReportReminderEnabled)
..writeByte(35)
..write(obj.shalatReportReminderDelayMinutes)
..writeByte(36)
..write(obj.shalatReportReminderRepeatCount)
..writeByte(37)
..write(obj.shalatReportReminderRepeatIntervalMinutes);
}
@override