Merge pull request #2968 from pangeachat/2965-audio-button-stays-pressed-when-finished

chore: deselect audio mode on audio finish
This commit is contained in:
ggurdin 2025-06-06 14:16:06 -04:00 committed by GitHub
commit 832dcf674a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -80,8 +80,7 @@ class SelectModeButtonsState extends State<SelectModeButtons> {
super.initState();
_onPlayerStateChanged = _audioPlayer.playerStateStream.listen((state) {
if (state.processingState == ProcessingState.completed) {
_audioPlayer.stop();
_audioPlayer.seek(null);
_updateMode(null);
}
setState(() {});
});
@ -121,8 +120,18 @@ class SelectModeButtonsState extends State<SelectModeButtons> {
}
}
Future<void> _updateMode(SelectMode mode) async {
Future<void> _updateMode(SelectMode? mode) async {
_clear();
if (mode == null) {
setState(() {
_audioPlayer.stop();
_audioPlayer.seek(null);
_selectedMode = null;
});
return;
}
setState(
() => _selectedMode =
_selectedMode == mode && mode != SelectMode.audio ? null : mode,