Skip to content

Added full support of clean pomodoro timer implementation#948

Open
inderjeet20 wants to merge 1 commit intoCCExtractor:mainfrom
inderjeet20:pomodorotimerfix
Open

Added full support of clean pomodoro timer implementation#948
inderjeet20 wants to merge 1 commit intoCCExtractor:mainfrom
inderjeet20:pomodorotimerfix

Conversation

@inderjeet20
Copy link
Copy Markdown
Contributor

Fixes #760

Description

This PR introduces a fully functional, persistent Pomodoro Timer to enhance productivity, integrated seamlessly alongside the existing standard Timer tab. The design focuses on a highly minimalist, distraction-free user experience while maintaining robust background persistence.

Key Features

  • Full Pomodoro Lifecycle: Built-in support for Work phases, Short Breaks, and customizable Session tracking.
  • Modern & Minimalist UI:
    • Clean, oversized timer display.
    • Setup duration pickers are tucked away in a sleek BottomSheet to reduce visual clutter.
    • Modern, floating circular action buttons for Play/Pause, Skip, and Reset.
  • State Persistence: Integrated with get_storage. The active Pomodoro phase, elapsed time, and session count survive app restarts and backgrounding perfectly.
  • Native Audio Integration: Hooks directly into the application's existing AudioUtils to automatically play completion ringtones when a phase finishes.
  • Localization Ready: All new strings use .tr for full i18n support matching the rest of the application.

Technical Details

  • Added PomodoroController to manage the complex phase-switching logic and timer ticks.
  • Added PomodoroStateModel and extended GetStorageProvider to serialize and restore timer configurations and timestamps.
  • Built PomodoroTabView tailored to match the app's primary UI and theme controllers.
  • Ensured clean code formatting and 100% compliance with flutter analyze.

Screenshots / Screen Recording

pomo.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Feature: Add Pomodoro Timer Functionality

1 participant