File tree Expand file tree Collapse file tree 4 files changed +17
-46
lines changed
Expand file tree Collapse file tree 4 files changed +17
-46
lines changed Original file line number Diff line number Diff line change @@ -7,27 +7,27 @@ import 'package:ultimate_alarm_clock/app/utils/constants.dart';
77import 'package:ultimate_alarm_clock/app/utils/utils.dart' ;
88
99class MaxSnoozeCountTile extends StatelessWidget {
10- const MaxSnoozeCountTile ({
10+ MaxSnoozeCountTile ({
1111 super .key,
1212 required this .controller,
1313 required this .themeController,
1414 });
1515
1616 final AddOrUpdateAlarmController controller;
1717 final ThemeController themeController;
18+ int initialCount = 0 ;
1819
1920 @override
2021 Widget build (BuildContext context) {
21- int count;
2222 return Obx (
2323 () => ListTile (
2424 onTap: () {
2525 Utils .hapticFeedback ();
26- count = controller.maxSnoozeCount.value;
26+ initialCount = controller.maxSnoozeCount.value;
2727 Get .defaultDialog (
2828 onWillPop: () async {
2929 Get .back ();
30- controller.maxSnoozeCount.value = count ;
30+ controller.maxSnoozeCount.value = initialCount ;
3131 return true ;
3232 },
3333 titlePadding: const EdgeInsets .only (top: 20 ),
Original file line number Diff line number Diff line change @@ -7,25 +7,25 @@ import 'package:ultimate_alarm_clock/app/utils/constants.dart';
77import 'package:ultimate_alarm_clock/app/utils/utils.dart' ;
88
99class SnoozeSettingsTile extends StatelessWidget {
10- const SnoozeSettingsTile ({
10+ SnoozeSettingsTile ({
1111 super .key,
1212 required this .controller,
1313 required this .themeController,
1414 });
1515
1616 final AddOrUpdateAlarmController controller;
1717 final ThemeController themeController;
18+ int initialDuration = 0 ;
19+ int initialCount = 0 ;
1820
1921 @override
2022 Widget build (BuildContext context) {
21- int duration;
22- int count;
2323 return Obx (
2424 () => ListTile (
2525 onTap: () {
2626 Utils .hapticFeedback ();
27- duration = controller.snoozeDuration.value;
28- count = controller.maxSnoozeCount.value;
27+ initialDuration = controller.snoozeDuration.value;
28+ initialCount = controller.maxSnoozeCount.value;
2929
3030 Get .dialog (
3131 Dialog .fullscreen (
@@ -44,8 +44,8 @@ class SnoozeSettingsTile extends StatelessWidget {
4444 ),
4545 onPressed: () {
4646 Utils .hapticFeedback ();
47- controller.snoozeDuration.value = duration ;
48- controller.maxSnoozeCount.value = count ;
47+ controller.snoozeDuration.value = initialDuration ;
48+ controller.maxSnoozeCount.value = initialCount ;
4949 Get .back ();
5050 },
5151 ),
Original file line number Diff line number Diff line change @@ -271,9 +271,9 @@ class AlarmControlController extends GetxController {
271271 }
272272
273273 if (currentlyRingingAlarm.value.isarId > 0 ) {
274- final dbMaxSnoozeCount = await getMaxSnoozeCountFromDatabase (currentlyRingingAlarm.value.isarId);
275- if (dbMaxSnoozeCount != null && dbMaxSnoozeCount != currentlyRingingAlarm.value.maxSnoozeCount) {
276- currentlyRingingAlarm.value.maxSnoozeCount = dbMaxSnoozeCount ;
274+ final dbAlarm = await IsarDb . getAlarm (currentlyRingingAlarm.value.isarId);
275+ if (dbAlarm != null && dbAlarm.maxSnoozeCount != currentlyRingingAlarm.value.maxSnoozeCount) {
276+ currentlyRingingAlarm.value.maxSnoozeCount = dbAlarm.maxSnoozeCount ;
277277 }
278278 }
279279
@@ -448,22 +448,4 @@ class AlarmControlController extends GetxController {
448448 _currentTimeTimer? .cancel ();
449449 _sensorSubscription? .cancel ();
450450 }
451-
452-
453- Future <int ?> getMaxSnoozeCountFromDatabase (int alarmID) async {
454- final sql = await IsarDb ().getAlarmSQLiteDatabase ();
455- if (sql == null ) return null ;
456-
457- final results = await sql.query (
458- 'alarms' ,
459- columns: ['maxSnoozeCount' ],
460- where: 'alarmID = ?' ,
461- whereArgs: [alarmID],
462- );
463-
464- if (results.isNotEmpty) {
465- return results.first['maxSnoozeCount' ] as int ? ;
466- }
467- return null ;
468- }
469451}
Original file line number Diff line number Diff line change @@ -119,21 +119,10 @@ class SplashScreenController extends GetxController {
119119 if (shouldAlarmRing) {
120120 currentlyRingingAlarm.value = await getCurrentlyRingingAlarm ();
121121
122-
123122 if (currentlyRingingAlarm.value.alarmID != null ) {
124- final sql = await IsarDb ().getAlarmSQLiteDatabase ();
125- final results = await sql! .query (
126- 'alarms' ,
127- columns: ['maxSnoozeCount' ],
128- where: 'alarmID = ?' ,
129- whereArgs: [currentlyRingingAlarm.value.alarmID],
130- );
131-
132- if (results.isNotEmpty) {
133- final sqlMaxSnoozeCount = results.first['maxSnoozeCount' ] as int ? ;
134- if (sqlMaxSnoozeCount != null && sqlMaxSnoozeCount != currentlyRingingAlarm.value.maxSnoozeCount) {
135- currentlyRingingAlarm.value.maxSnoozeCount = sqlMaxSnoozeCount;
136- }
123+ final dbAlarm = await IsarDb .getAlarm (currentlyRingingAlarm.value.isarId);
124+ if (dbAlarm != null && dbAlarm.maxSnoozeCount != currentlyRingingAlarm.value.maxSnoozeCount) {
125+ currentlyRingingAlarm.value.maxSnoozeCount = dbAlarm.maxSnoozeCount;
137126 }
138127 }
139128
You can’t perform that action at this time.
0 commit comments