From 4af0d1db25d82bd7123b3a35e848b1d2d85a8d1f Mon Sep 17 00:00:00 2001 From: tzugen Date: Sat, 1 May 2021 09:57:11 +0200 Subject: [PATCH] executeOnStartedMediaPlayerService takes a lambda now --- .../service/MediaPlayerControllerImpl.java | 84 ++++++++----------- .../ultrasonic/service/MediaPlayerService.kt | 7 +- 2 files changed, 41 insertions(+), 50 deletions(-) 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 662b0da1..ca300dc9 100644 --- a/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerControllerImpl.java +++ b/ultrasonic/src/main/java/org/moire/ultrasonic/service/MediaPlayerControllerImpl.java @@ -85,12 +85,7 @@ public class MediaPlayerControllerImpl implements MediaPlayerController public void onCreate() { if (created) return; - this.externalStorageMonitor.onCreate(new Runnable() { - @Override - public void run() { - reset(); - } - }); + this.externalStorageMonitor.onCreate(this::reset); setJukeboxEnabled(activeServerProvider.getValue().getActiveServer().getJukeboxByDefault()); created = true; @@ -116,9 +111,8 @@ public class MediaPlayerControllerImpl implements MediaPlayerController if (currentPlayingIndex != -1) { - MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer() { - @Override - public void accept(MediaPlayerService mediaPlayerService) { + MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> + { mediaPlayerService.play(currentPlayingIndex, autoPlayStart); if (localMediaPlayer.currentPlaying != null) @@ -136,8 +130,9 @@ public class MediaPlayerControllerImpl implements MediaPlayerController } } autoPlayStart = false; - } - }); + return null; + } + ); } } @@ -149,55 +144,53 @@ public class MediaPlayerControllerImpl implements MediaPlayerController @Override public synchronized void play(final int index) { - MediaPlayerService.executeOnStartedMediaPlayerService(context,new Consumer() { - @Override - public void accept(MediaPlayerService mediaPlayerService) { + MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> { mediaPlayerService.play(index, true); - } - }); + return null; + } + ); } public synchronized void play() { - MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer() { - @Override - public void accept(MediaPlayerService mediaPlayerService) { + MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> { + mediaPlayerService.play(); - } - }); + return null; + } + ); } public synchronized void resumeOrPlay() { - MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer() { - @Override - public void accept(MediaPlayerService mediaPlayerService) { + MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> { mediaPlayerService.resumeOrPlay(); - } - }); + return null; + } + ); } + @Override public synchronized void togglePlayPause() { if (localMediaPlayer.playerState == PlayerState.IDLE) autoPlayStart = true; - MediaPlayerService.executeOnStartedMediaPlayerService(context,new Consumer() { - @Override - public void accept(MediaPlayerService mediaPlayerService) { + MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> { mediaPlayerService.togglePlayPause(); - } - }); + return null; + } + ); } + @Override public synchronized void start() { - MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer() { - @Override - public void accept(MediaPlayerService mediaPlayerService) { + MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> { mediaPlayerService.start(); - } - }); + return null; + } + ); } @Override @@ -612,19 +605,14 @@ public class MediaPlayerControllerImpl implements MediaPlayerController final Entry song = localMediaPlayer.currentPlaying.getSong(); song.setUserRating(rating); - new Thread(new Runnable() - { - @Override - public void run() + new Thread(() -> { + try { - try - { - MusicServiceFactory.getMusicService(context).setRating(song.getId(), rating, context); - } - catch (Exception e) - { - Timber.e(e); - } + MusicServiceFactory.getMusicService(context).setRating(song.getId(), rating, context); + } + catch (Exception e) + { + Timber.e(e); } }).start(); diff --git a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/MediaPlayerService.kt b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/MediaPlayerService.kt index 9f8d8578..5d4a9b69 100644 --- a/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/MediaPlayerService.kt +++ b/ultrasonic/src/main/kotlin/org/moire/ultrasonic/service/MediaPlayerService.kt @@ -869,10 +869,13 @@ class MediaPlayerService : Service() { synchronized(instanceLock) { return instance } } + + + @JvmStatic fun executeOnStartedMediaPlayerService( context: Context, - taskToExecute: Consumer + taskToExecute: (MediaPlayerService?) -> Unit ) { val t: Thread = object : Thread() { @@ -882,7 +885,7 @@ class MediaPlayerService : Service() { Timber.e("ExecuteOnStarted.. failed to get a MediaPlayerService instance!") return } - taskToExecute.accept(instance) + taskToExecute(instance) } } t.start()