From d1510a26d7ebe15f693352c29203d19b21b919c6 Mon Sep 17 00:00:00 2001 From: Thomas Farstrike Date: Sun, 23 Nov 2025 22:40:45 +0100 Subject: [PATCH] MusicPlayer app: fix crash if song finished while app closed --- .../com.micropythonos.musicplayer/assets/music_player.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/internal_filesystem/apps/com.micropythonos.musicplayer/assets/music_player.py b/internal_filesystem/apps/com.micropythonos.musicplayer/assets/music_player.py index 1e49c6af..8f25d389 100644 --- a/internal_filesystem/apps/com.micropythonos.musicplayer/assets/music_player.py +++ b/internal_filesystem/apps/com.micropythonos.musicplayer/assets/music_player.py @@ -63,7 +63,6 @@ class FullscreenPlayer(Activity): # Internal state: _filename = None - _keep_running = True def onCreate(self): self._filename = self.getIntent().extras.get("filename") @@ -101,7 +100,7 @@ class FullscreenPlayer(Activity): self.setContentView(qr_screen) def onResume(self, screen): - self._keep_running = True + super().onResume(screen) if not self._filename: print("Not playing any file...") else: @@ -119,15 +118,12 @@ class FullscreenPlayer(Activity): obj.set_style_border_width(0, lv.PART.MAIN) def stop_button_clicked(self, event): - self._keep_running = False AudioPlayer.stop_playing() self.finish() def player_finished(self, result=None): - if not self._keep_running: - return # stop immediately text = f"Finished playing {self._filename}" if result: text = result print(f"AudioPlayer finished: {text}") - lv.async_call(lambda l: self._filename_label.set_text(text), None) + update_ui_threadsafe_if_foreground(self._filename_label.set_text, text)