a-mabe / a-mabe/background_hiit_timer

[Feature/Improvement] Migrate to audio_service from flutter_background_service

オープン
#37 コメント 0 件 リアクション 0 件 担当者 1 名 @a-mabe が担当を希望しています GitHub で見る
enhancement
主要言語
Dart
スター
5
フォーク
3
PR マージ指標
30日以内にマージされた PR はありません

説明

# 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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。