File tree Expand file tree Collapse file tree 3 files changed +27
-20
lines changed
Expand file tree Collapse file tree 3 files changed +27
-20
lines changed Original file line number Diff line number Diff line change @@ -334,6 +334,18 @@ class AlarmControlController extends GetxController {
334334 stream: AudioStream .alarm,
335335 );
336336
337+
338+ if (currentlyRingingAlarm.value.days.every ((element) => element == false )) {
339+ currentlyRingingAlarm.value.isEnabled = false ;
340+ if (currentlyRingingAlarm.value.isSharedAlarmEnabled == false ) {
341+ await IsarDb .updateAlarm (currentlyRingingAlarm.value);
342+ } else {
343+ await FirestoreDb .updateAlarm (
344+ currentlyRingingAlarm.value.ownerId,
345+ currentlyRingingAlarm.value,
346+ );
347+ }
348+ }
337349
338350 _subscription.cancel ();
339351 _currentTimeTimer? .cancel ();
Original file line number Diff line number Diff line change @@ -4,6 +4,8 @@ import 'package:get/get.dart';
44import 'package:ultimate_alarm_clock/app/modules/settings/controllers/theme_controller.dart' ;
55import 'package:ultimate_alarm_clock/app/utils/constants.dart' ;
66import 'package:ultimate_alarm_clock/app/utils/utils.dart' ;
7+ import 'package:ultimate_alarm_clock/app/data/providers/isar_provider.dart' ;
8+ import 'package:ultimate_alarm_clock/app/data/providers/firestore_provider.dart' ;
79
810import '../controllers/alarm_ring_controller.dart' ;
911
@@ -185,12 +187,24 @@ class AlarmControlView extends GetView<AlarmControlController> {
185187 kprimaryColor,
186188 ),
187189 ),
188- onPressed: () {
190+ onPressed: () async {
189191 Utils .hapticFeedback ();
190192 if (controller
191193 .currentlyRingingAlarm.value.isGuardian) {
192194 controller.guardianTimer.cancel ();
193195 }
196+
197+ if (controller.currentlyRingingAlarm.value.days.every ((element) => element == false )) {
198+ controller.currentlyRingingAlarm.value.isEnabled = false ;
199+ if (controller.currentlyRingingAlarm.value.isSharedAlarmEnabled == false ) {
200+ await IsarDb .updateAlarm (controller.currentlyRingingAlarm.value);
201+ } else {
202+ await FirestoreDb .updateAlarm (
203+ controller.currentlyRingingAlarm.value.ownerId,
204+ controller.currentlyRingingAlarm.value,
205+ );
206+ }
207+ }
194208 if (Utils .isChallengeEnabled (
195209 controller.currentlyRingingAlarm.value,
196210 )) {
Original file line number Diff line number Diff line change @@ -124,25 +124,6 @@ class SplashScreenController extends GetxController {
124124 .every ((element) => element == false )) {
125125 currentlyRingingAlarm.value.isEnabled = false ;
126126
127- if (currentlyRingingAlarm.value.isSharedAlarmEnabled == false ) {
128- IsarDb .updateAlarm (currentlyRingingAlarm.value);
129- } else {
130- FirestoreDb .updateAlarm (
131- currentlyRingingAlarm.value.ownerId,
132- currentlyRingingAlarm.value,
133- );
134- }
135- } else if (currentlyRingingAlarm.value.isOneTime == true ) {
136- // If the alarm has to repeat on one day, but ring just once,
137- // we will keep seting its days to false until it will never ring
138- int currentDay = DateTime .now ().weekday - 1 ;
139- currentlyRingingAlarm.value.days[currentDay] = false ;
140-
141- if (currentlyRingingAlarm.value.days
142- .every ((element) => element == false )) {
143- currentlyRingingAlarm.value.isEnabled = false ;
144- }
145-
146127 if (currentlyRingingAlarm.value.isSharedAlarmEnabled == false ) {
147128 IsarDb .updateAlarm (currentlyRingingAlarm.value);
148129 } else {
You can’t perform that action at this time.
0 commit comments