Skip to content

Commit d9749b1

Browse files
authored
Fix alarm deletion issues: Prevent update after deletion when dismissing alarms (#801)
* Update alarm_ring_controller.dart * removed logs * some changes did
1 parent b82491c commit d9749b1

File tree

1 file changed

+25
-21
lines changed

1 file changed

+25
-21
lines changed

lib/app/modules/alarmRing/controllers/alarm_ring_controller.dart

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -211,16 +211,6 @@ class AlarmControlController extends GetxController {
211211

212212
// _fadeInAlarmVolume(); TODO fix volume fade-in
213213

214-
if (currentlyRingingAlarm.value.deleteAfterGoesOff == true) {
215-
if (currentlyRingingAlarm.value.isSharedAlarmEnabled) {
216-
FirestoreDb.deleteOneTimeAlarm(
217-
currentlyRingingAlarm.value.ownerId,
218-
currentlyRingingAlarm.value.firestoreId,
219-
);
220-
} else {
221-
IsarDb.deleteAlarm(currentlyRingingAlarm.value.isarId);
222-
}
223-
}
224214
vibrationTimer =
225215
Timer.periodic(const Duration(milliseconds: 3500), (Timer timer) {
226216
Vibration.vibrate(pattern: [500, 3000]);
@@ -331,20 +321,34 @@ class AlarmControlController extends GetxController {
331321
initialVolume,
332322
stream: AudioStream.alarm,
333323
);
334-
335324

336-
if (currentlyRingingAlarm.value.days.every((element) => element == false)) {
337-
currentlyRingingAlarm.value.isEnabled = false;
338-
if (currentlyRingingAlarm.value.isSharedAlarmEnabled == false) {
339-
await IsarDb.updateAlarm(currentlyRingingAlarm.value);
340-
} else {
341-
await FirestoreDb.updateAlarm(
342-
currentlyRingingAlarm.value.ownerId,
343-
currentlyRingingAlarm.value,
344-
);
325+
if (!isPreviewMode.value) {
326+
if (currentlyRingingAlarm.value.deleteAfterGoesOff == true) {
327+
if (currentlyRingingAlarm.value.isSharedAlarmEnabled &&
328+
currentlyRingingAlarm.value.ownerId != null &&
329+
currentlyRingingAlarm.value.firestoreId != null) {
330+
await FirestoreDb.deleteOneTimeAlarm(
331+
currentlyRingingAlarm.value.ownerId,
332+
currentlyRingingAlarm.value.firestoreId,
333+
);
334+
} else if (currentlyRingingAlarm.value.isarId > 0) {
335+
336+
await IsarDb.deleteAlarm(currentlyRingingAlarm.value.isarId);
337+
}
338+
}
339+
else if (currentlyRingingAlarm.value.days.every((element) => element == false)) {
340+
currentlyRingingAlarm.value.isEnabled = false;
341+
if (!currentlyRingingAlarm.value.isSharedAlarmEnabled &&
342+
currentlyRingingAlarm.value.isarId > 0) {
343+
await IsarDb.updateAlarm(currentlyRingingAlarm.value);
344+
} else if (currentlyRingingAlarm.value.ownerId != null) {
345+
await FirestoreDb.updateAlarm(
346+
currentlyRingingAlarm.value.ownerId,
347+
currentlyRingingAlarm.value,
348+
);
349+
}
345350
}
346351
}
347-
348352
_subscription.cancel();
349353
_currentTimeTimer?.cancel();
350354
_sensorSubscription?.cancel();

0 commit comments

Comments
 (0)