diff --git a/lib/services/music_player_service.dart b/lib/services/music_player_service.dart index db71af89..8f467277 100644 --- a/lib/services/music_player_service.dart +++ b/lib/services/music_player_service.dart @@ -5,7 +5,6 @@ import 'package:audio_service/audio_service.dart'; import 'package:audio_session/audio_session.dart' show AudioSession, AudioSessionConfiguration, AudioInterruptionType; import 'package:audioplayers/audioplayers.dart'; -import 'package:flutter/widgets.dart'; import 'package:spotiflac_android/services/platform_bridge.dart'; import 'package:spotiflac_android/utils/logger.dart'; @@ -175,24 +174,12 @@ class MusicPlayerHandler extends BaseAudioHandler } // Focus returned; resume only if we paused due to a transient - // (duck/pause) interruption AND the app is foregrounded — a - // background play() has to startForegroundService(), which - // Android 12+ rejects (ForegroundServiceStartNotAllowedException) - // for programmatic starts. Keep _pausedByInterruption set in the - // background case so the media notification's play button (which - // IS exempt from the restriction) still resumes normally. + // (duck/pause) interruption. _interruptionActive = false; if (_pausedByInterruption && event.type == AudioInterruptionType.pause) { - if (WidgetsBinding.instance.lifecycleState == - AppLifecycleState.resumed) { - _pausedByInterruption = false; - unawaited(play()); - } else { - _log.i( - 'Skipping auto-resume after interruption: app is backgrounded', - ); - } + _pausedByInterruption = false; + unawaited(play()); } else { _pausedByInterruption = false; }