a-mabe / a-mabe/background_hiit_timer

[Feature/Improvement] Migrate to audio_service from flutter_background_service

Abierto
#37 0 comentarios 0 reacciones 1 asignado Reclamado por @a-mabe Ver en GitHub
enhancement
Lenguaje dominante
Dart
Estrellas
5
Forks
3
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

# Overview

This issue describes the plan to replace `flutter_background_service` with `audio_service` as the background execution mechanism.

The current implementation uses [flutter_background_service](https://pub.dev/packages/flutter_background_service). It uses [SQFlite](https://pub.dev/packages/sqflite) for passing interval data, [SharedPreferences](https://pub.dev/packages/shared_preferences) for the pause flag, and service events (`service.invoke("stop");`). Migrating to audio_service will replace these with a single Dart stream.

## audio_service

[Tutorial](https://github.com/ryanheise/audio_service/wiki/Tutorial).

`audio_service` is built for long-running audio. It registers the app with the OS as a media player, which grants it a foreground service slot and lock-screen controls without any extra configuration. The BaseAudioHandler subclass runs in the same Dart isolate as the UI, so the interval list can be passed by reference in memory.

## Design

`HiitAudioHandler` - Extends the `BaseAudioHandler` class. Defines pause/play/skip, playSound, broadcasts state. This will replace flutter_background_service.

`Countdown` - Stateful widget, contains the streambuilder.

`CountdownController` - Public-facing controller that translates user calls into handler methods.

`IntervalType` - Unchanged.

`TimerState` - Unchanged.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.