From 7dad738fcecf78ac767466acd6f9133446d7f2c4 Mon Sep 17 00:00:00 2001 From: Nite Date: Mon, 29 Jun 2020 16:17:22 +0200 Subject: [PATCH] Fixed pause on bluetooth disconnect, minor fixes --- .../java/org/moire/ultrasonic/service/Downloader.java | 9 +++++++-- .../org/moire/ultrasonic/service/LocalMediaPlayer.java | 2 +- .../ultrasonic/service/MediaPlayerControllerImpl.java | 1 - .../ultrasonic/service/MediaPlayerLifecycleSupport.java | 3 +++ .../org/moire/ultrasonic/service/MediaPlayerService.java | 2 ++ .../org/moire/ultrasonic/util/ShufflePlayBuffer.java | 2 ++ 6 files changed, 15 insertions(+), 4 deletions(-) diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/Downloader.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/Downloader.java index 1da669c8..285870c3 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/Downloader.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/Downloader.java @@ -77,17 +77,22 @@ public class Downloader executorService = Executors.newSingleThreadScheduledExecutor(); executorService.scheduleWithFixedDelay(downloadChecker, 5, 5, TimeUnit.SECONDS); Log.i(TAG, "Downloader created"); - } public void onDestroy() { - executorService.shutdown(); + stop(); clear(); clearBackground(); Log.i(TAG, "Downloader destroyed"); } + public void stop() + { + executorService.shutdown(); + Log.i(TAG, "Downloader stopped"); + } + public synchronized void checkDownloads() { if (!Util.isExternalStoragePresent() || !externalStorageMonitor.isExternalStorageAvailable()) diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/LocalMediaPlayer.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/LocalMediaPlayer.java index 2abbd53e..10ce6ad0 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/LocalMediaPlayer.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/LocalMediaPlayer.java @@ -1081,7 +1081,7 @@ public class LocalMediaPlayer cachedPosition = mediaPlayer.getCurrentPosition(); } - Util.sleepQuietly(25L); + Util.sleepQuietly(50L); } catch (Exception e) { diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerControllerImpl.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerControllerImpl.java index fe840b75..f0e70c4c 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerControllerImpl.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerControllerImpl.java @@ -96,7 +96,6 @@ public class MediaPlayerControllerImpl implements MediaPlayerController { externalStorageMonitor.onDestroy(); context.stopService(new Intent(context, MediaPlayerService.class)); - shufflePlayBuffer.onDestroy(); downloader.onDestroy(); Log.i(TAG, "MediaPlayerControllerImpl destroyed"); diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerLifecycleSupport.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerLifecycleSupport.java index f34c06b3..a616b6a6 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerLifecycleSupport.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerLifecycleSupport.java @@ -245,6 +245,9 @@ public class MediaPlayerLifecycleSupport mediaPlayerController.pause(); mediaPlayerController.seekTo(0); break; + case Constants.CMD_PAUSE: + mediaPlayerController.pause(); + break; case Constants.CMD_PROCESS_KEYCODE: receiveIntent(intent); break; diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerService.java b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerService.java index 63397e2b..04393095 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerService.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerService.java @@ -194,6 +194,8 @@ public class MediaPlayerService extends Service downloadQueueSerializer.serializeDownloadQueueNow(downloader.downloadList, downloader.getCurrentPlayingIndex(), getPlayerPosition()); localMediaPlayer.onDestroy(); + downloader.stop(); + shufflePlayBuffer.onDestroy(); } catch (Throwable ignored) { } diff --git a/ultrasonic/src/main/java/org/moire/ultrasonic/util/ShufflePlayBuffer.java b/ultrasonic/src/main/java/org/moire/ultrasonic/util/ShufflePlayBuffer.java index 07aef6b7..9c84d6a0 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/util/ShufflePlayBuffer.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/util/ShufflePlayBuffer.java @@ -65,11 +65,13 @@ public class ShufflePlayBuffer } }; executorService.scheduleWithFixedDelay(runnable, 1, 10, TimeUnit.SECONDS); + Log.i(TAG, "ShufflePlayBuffer created"); } public void onDestroy() { executorService.shutdown(); + Log.i(TAG, "ShufflePlayBuffer destroyed"); } public List get(int size)