From 3d5182da9a2d73980388288d632fb68f03f6d144 Mon Sep 17 00:00:00 2001 From: CappielloAntonio Date: Tue, 21 Dec 2021 13:09:50 +0100 Subject: [PATCH] Tried to mitigate the random crash on opening --- .../java/com/cappielloantonio/play/App.java | 1 + .../play/service/MusicService.java | 28 +++++++++++-------- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/cappielloantonio/play/App.java b/app/src/main/java/com/cappielloantonio/play/App.java index 82e0287c..d3ff009b 100644 --- a/app/src/main/java/com/cappielloantonio/play/App.java +++ b/app/src/main/java/com/cappielloantonio/play/App.java @@ -20,6 +20,7 @@ public class App extends Application { @Override public void onCreate() { super.onCreate(); + CrashReporter.initialize(this); SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); diff --git a/app/src/main/java/com/cappielloantonio/play/service/MusicService.java b/app/src/main/java/com/cappielloantonio/play/service/MusicService.java index b97b221d..5e4eecdc 100644 --- a/app/src/main/java/com/cappielloantonio/play/service/MusicService.java +++ b/app/src/main/java/com/cappielloantonio/play/service/MusicService.java @@ -237,23 +237,27 @@ public class MusicService extends Service implements Playback.PlaybackCallbacks } private void restoreState() { - QueueRepository queueRepository = new QueueRepository(App.getInstance()); - List restoredQueue = queueRepository.getSongs(); + try { + QueueRepository queueRepository = new QueueRepository(App.getInstance()); + List restoredQueue = queueRepository.getSongs(); - int restoredPosition = PreferenceUtil.getInstance(getApplicationContext()).getPosition(); - int restoredPositionInTrack = PreferenceUtil.getInstance(getApplicationContext()).getProgress(); + int restoredPosition = PreferenceUtil.getInstance(getApplicationContext()).getPosition(); + int restoredPositionInTrack = PreferenceUtil.getInstance(getApplicationContext()).getProgress(); - if (restoredQueue.size() > 0 && restoredPosition != -1) { - this.playingQueue = restoredQueue; + if (restoredQueue.size() > 0 && restoredPosition != -1) { + this.playingQueue = restoredQueue; - position = restoredPosition; - openCurrent(); + position = restoredPosition; + openCurrent(); - if (restoredPositionInTrack > 0) seek(restoredPositionInTrack); + if (restoredPositionInTrack > 0) seek(restoredPositionInTrack); - notHandledMetaChangedForCurrentTrack = true; - handleChangeInternal(META_CHANGED); - handleChangeInternal(QUEUE_CHANGED); + notHandledMetaChangedForCurrentTrack = true; + handleChangeInternal(META_CHANGED); + handleChangeInternal(QUEUE_CHANGED); + } + } catch (Exception e) { + e.printStackTrace(); } }