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()
{
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<MediaPlayerService>() {
@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<MediaPlayerService>() {
@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<MediaPlayerService>() {
@Override
public void accept(MediaPlayerService mediaPlayerService) {
MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> {
mediaPlayerService.play();
}
});
return null;
}
);
}
public synchronized void resumeOrPlay()
{
MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer<MediaPlayerService>() {
@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<MediaPlayerService>() {
@Override
public void accept(MediaPlayerService mediaPlayerService) {
MediaPlayerService.executeOnStartedMediaPlayerService(context, (mediaPlayerService) -> {
mediaPlayerService.togglePlayPause();
}
});
return null;
}
);
}
@Override
public synchronized void start()
{
MediaPlayerService.executeOnStartedMediaPlayerService(context, new Consumer<MediaPlayerService>() {
@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();

View File

@ -869,10 +869,13 @@ class MediaPlayerService : Service() {
synchronized(instanceLock) { return instance }
}
@JvmStatic
fun executeOnStartedMediaPlayerService(
context: Context,
taskToExecute: Consumer<MediaPlayerService?>
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()