diff --git a/lib/pangea/toolbar/widgets/select_mode_buttons.dart b/lib/pangea/toolbar/widgets/select_mode_buttons.dart index 5b1396c51..ec3ef75d1 100644 --- a/lib/pangea/toolbar/widgets/select_mode_buttons.dart +++ b/lib/pangea/toolbar/widgets/select_mode_buttons.dart @@ -80,8 +80,7 @@ class SelectModeButtonsState extends State { 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 { } } - Future _updateMode(SelectMode mode) async { + Future _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,