From f64f7c837f0ee313dd4014fe889776a7c45696b4 Mon Sep 17 00:00:00 2001 From: alv-cor Date: Thu, 29 Jan 2026 14:13:04 +0100 Subject: [PATCH 1/2] Call restoreDND when stopping focus mode Added a call to restoreDND() after disabling focus mode to ensure Do Not Disturb settings are properly restored when focus mode ends. --- .../main/java/dev/pranav/reef/accessibility/FocusModeService.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt b/Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt index 5cbb2d5..48bb384 100644 --- a/Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt +++ b/Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt @@ -195,6 +195,8 @@ class FocusModeService: Service() { prefs.edit { putBoolean("focus_mode", false) } + restoreDND() + updateNotification( title = getNotificationTitle(), text = formatTime(state.timeRemaining), From a485c22bc82c7c5e99fb96876f05c290b4054945 Mon Sep 17 00:00:00 2001 From: alv-cor Date: Fri, 30 Jan 2026 14:03:00 +0100 Subject: [PATCH 2/2] Adjust FocusMode flow and vibration behavior - Always restore DND (remove conditional on shouldAutoStart). - Move vibration out of the sound-pref block and increase its duration to 2500ms so vibration occurs independently of sound settings --- .../reef/accessibility/FocusModeService.kt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt b/Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt index 48bb384..44bb4ad 100644 --- a/Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt +++ b/Reef/src/main/java/dev/pranav/reef/accessibility/FocusModeService.kt @@ -270,10 +270,11 @@ class FocusModeService: Service() { if (!state.isPomodoroMode) { endSession() - return + } else { + transitionPomodoroPhase() } - transitionPomodoroPhase() + } private fun endSession() { @@ -341,18 +342,17 @@ class FocusModeService: Service() { showBreakEndedNotification() } } else { - if (!shouldAutoStart) { - restoreDND() - } + restoreDND() } if (prefs.getBoolean("pomodoro_sound_enabled", true)) { - if (prefs.getBoolean("pomodoro_vibration_enabled", true)) { - AndroidUtilities.vibrate(this, 1000) - } playTransitionSound() } + if (prefs.getBoolean("pomodoro_vibration_enabled", true)) { + AndroidUtilities.vibrate(this, 1000) + } + val notificationText = if (shouldAutoStart) { getString(R.string.time_remaining, formatTime(nextPhase.duration)) } else {