executeOnStartedMediaPlayerService takes a lambda now

This commit is contained in:
tzugen 2021-05-01 09:57:11 +02:00
parent 1dd43d857d
commit 4af0d1db25
No known key found for this signature in database
GPG Key ID: 9BFCB171D3466FEA
2 changed files with 41 additions and 50 deletions

View File

@ -85,12 +85,7 @@ public class MediaPlayerControllerImpl implements MediaPlayerController
public void onCreate() public void onCreate()
{ {
if (created) return; if (created) return;
this.externalStorageMonitor.onCreate(new Runnable() { this.externalStorageMonitor.onCreate(this::reset);
@Override
public void run() {
reset();
}
});
setJukeboxEnabled(activeServerProvider.getValue().getActiveServer().getJukeboxByDefault()); setJukeboxEnabled(activeServerProvider.getValue().getActiveServer().getJukeboxByDefault());
created = true; created = true;
@ -116,9 +111,8 @@ public class MediaPlayerControllerImpl implements MediaPlayerController
if (currentPlayingIndex != -1) if (currentPlayingIndex != -1)
{ {
MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer<MediaPlayerService>() { MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) ->
@Override {
public void accept(MediaPlayerService mediaPlayerService) {
mediaPlayerService.play(currentPlayingIndex, autoPlayStart); mediaPlayerService.play(currentPlayingIndex, autoPlayStart);
if (localMediaPlayer.currentPlaying != null) if (localMediaPlayer.currentPlaying != null)
@ -136,8 +130,9 @@ public class MediaPlayerControllerImpl implements MediaPlayerController
} }
} }
autoPlayStart = false; autoPlayStart = false;
} return null;
}); }
);
} }
} }
@ -149,55 +144,53 @@ public class MediaPlayerControllerImpl implements MediaPlayerController
@Override @Override
public synchronized void play(final int index) public synchronized void play(final int index)
{ {
MediaPlayerService.executeOnStartedMediaPlayerService(context,new Consumer<MediaPlayerService>() { MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> {
@Override
public void accept(MediaPlayerService mediaPlayerService) {
mediaPlayerService.play(index, true); mediaPlayerService.play(index, true);
} return null;
}); }
);
} }
public synchronized void play() public synchronized void play()
{ {
MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer<MediaPlayerService>() { MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> {
@Override
public void accept(MediaPlayerService mediaPlayerService) {
mediaPlayerService.play(); mediaPlayerService.play();
} return null;
}); }
);
} }
public synchronized void resumeOrPlay() public synchronized void resumeOrPlay()
{ {
MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer<MediaPlayerService>() { MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> {
@Override
public void accept(MediaPlayerService mediaPlayerService) {
mediaPlayerService.resumeOrPlay(); mediaPlayerService.resumeOrPlay();
} return null;
}); }
);
} }
@Override @Override
public synchronized void togglePlayPause() public synchronized void togglePlayPause()
{ {
if (localMediaPlayer.playerState == PlayerState.IDLE) autoPlayStart = true; if (localMediaPlayer.playerState == PlayerState.IDLE) autoPlayStart = true;
MediaPlayerService.executeOnStartedMediaPlayerService(context,new Consumer<MediaPlayerService>() { MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> {
@Override
public void accept(MediaPlayerService mediaPlayerService) {
mediaPlayerService.togglePlayPause(); mediaPlayerService.togglePlayPause();
} return null;
}); }
);
} }
@Override @Override
public synchronized void start() public synchronized void start()
{ {
MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer<MediaPlayerService>() { MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> {
@Override
public void accept(MediaPlayerService mediaPlayerService) {
mediaPlayerService.start(); mediaPlayerService.start();
} return null;
}); }
);
} }
@Override @Override
@ -612,19 +605,14 @@ public class MediaPlayerControllerImpl implements MediaPlayerController
final Entry song = localMediaPlayer.currentPlaying.getSong(); final Entry song = localMediaPlayer.currentPlaying.getSong();
song.setUserRating(rating); song.setUserRating(rating);
new Thread(new Runnable() new Thread(() -> {
{ try
@Override
public void run()
{ {
try MusicServiceFactory.getMusicService(context).setRating(song.getId(), rating, context);
{ }
MusicServiceFactory.getMusicService(context).setRating(song.getId(), rating, context); catch (Exception e)
} {
catch (Exception e) Timber.e(e);
{
Timber.e(e);
}
} }
}).start(); }).start();

View File

@ -869,10 +869,13 @@ class MediaPlayerService : Service() {
synchronized(instanceLock) { return instance } synchronized(instanceLock) { return instance }
} }
@JvmStatic @JvmStatic
fun executeOnStartedMediaPlayerService( fun executeOnStartedMediaPlayerService(
context: Context, context: Context,
taskToExecute: Consumer<MediaPlayerService?> taskToExecute: (MediaPlayerService?) -> Unit
) { ) {
val t: Thread = object : Thread() { val t: Thread = object : Thread() {
@ -882,7 +885,7 @@ class MediaPlayerService : Service() {
Timber.e("ExecuteOnStarted.. failed to get a MediaPlayerService instance!") Timber.e("ExecuteOnStarted.. failed to get a MediaPlayerService instance!")
return return
} }
taskToExecute.accept(instance) taskToExecute(instance)
} }
} }
t.start() t.start()