diff --git a/app/src/main/java/com/philliphsu/clock2/editalarm/EditAlarmPresenter.java b/app/src/main/java/com/philliphsu/clock2/editalarm/EditAlarmPresenter.java index 61f2ff9..63acb69 100644 --- a/app/src/main/java/com/philliphsu/clock2/editalarm/EditAlarmPresenter.java +++ b/app/src/main/java/com/philliphsu/clock2/editalarm/EditAlarmPresenter.java @@ -75,7 +75,10 @@ public class EditAlarmPresenter implements EditAlarmContract.Presenter { .build(); a.setEnabled(mView.isEnabled()); if (mAlarm != null) { - mAlarmUtilsHelper.cancelAlarm(mAlarm, false); + if (mAlarm.isEnabled()) { + Log.d(TAG, "Cancelling old alarm first"); + mAlarmUtilsHelper.cancelAlarm(mAlarm, false); + } mRepository.updateItem(mAlarm, a); } else { mRepository.addItem(a); @@ -92,9 +95,9 @@ public class EditAlarmPresenter implements EditAlarmContract.Presenter { public void delete() { if (mAlarm != null) { if (mAlarm.isEnabled()) { - mAlarmUtilsHelper.cancelAlarm(mAlarm, false); // (1) + mAlarmUtilsHelper.cancelAlarm(mAlarm, false); } - mRepository.deleteItem(mAlarm); // TOneverDO: before (1) + mRepository.deleteItem(mAlarm); } mView.showEditorClosed(); } diff --git a/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneService.java b/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneService.java index 3ebffcb..f9fba86 100644 --- a/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneService.java +++ b/app/src/main/java/com/philliphsu/clock2/ringtone/RingtoneService.java @@ -56,6 +56,7 @@ public class RingtoneService extends Service { // TODO: abstract this, make subc public void run() { mAutoSilenced = true; mRingtone.stop(); // don't wait for activity to finish and unbind + AlarmUtils.cancelAlarm(RingtoneService.this, mAlarm, false); if (mRingtoneCallback != null) { // Finish the activity, which fires onDestroy() and then unbinds itself from this service. // All clients must be unbound before stopSelf() (and stopService()?) will succeed.