Remove context from ShufflePlayBuffer

This commit is contained in:
tzugen 2021-05-21 23:08:28 +02:00
parent ed6c6c9057
commit 3d99269c41
No known key found for this signature in database
GPG Key ID: 61E9C34BC10EC930
3 changed files with 7 additions and 15 deletions

View File

@ -18,9 +18,6 @@
*/ */
package org.moire.ultrasonic.util; package org.moire.ultrasonic.util;
import android.content.Context;
import timber.log.Timber;
import org.moire.ultrasonic.data.ActiveServerProvider; import org.moire.ultrasonic.data.ActiveServerProvider;
import org.moire.ultrasonic.domain.MusicDirectory; import org.moire.ultrasonic.domain.MusicDirectory;
import org.moire.ultrasonic.service.MusicService; import org.moire.ultrasonic.service.MusicService;
@ -32,6 +29,8 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import timber.log.Timber;
/** /**
* @author Sindre Mehus * @author Sindre Mehus
* @version $Id$ * @version $Id$
@ -42,28 +41,19 @@ public class ShufflePlayBuffer
private static final int REFILL_THRESHOLD = 40; private static final int REFILL_THRESHOLD = 40;
private final List<MusicDirectory.Entry> buffer = new ArrayList<>(); private final List<MusicDirectory.Entry> buffer = new ArrayList<>();
private final Context context;
private ScheduledExecutorService executorService; private ScheduledExecutorService executorService;
private int currentServer; private int currentServer;
public boolean isEnabled = false; public boolean isEnabled = false;
public ShufflePlayBuffer(Context context) public ShufflePlayBuffer()
{ {
this.context = context;
} }
public void onCreate() public void onCreate()
{ {
executorService = Executors.newSingleThreadScheduledExecutor(); executorService = Executors.newSingleThreadScheduledExecutor();
Runnable runnable = new Runnable() Runnable runnable = this::refill;
{
@Override
public void run()
{
refill();
}
};
executorService.scheduleWithFixedDelay(runnable, 1, 10, TimeUnit.SECONDS); executorService.scheduleWithFixedDelay(runnable, 1, 10, TimeUnit.SECONDS);
Timber.i("ShufflePlayBuffer created"); Timber.i("ShufflePlayBuffer created");
} }

View File

@ -20,7 +20,7 @@ val mediaPlayerModule = module {
single { MediaPlayerLifecycleSupport(get(), get(), get()) } single { MediaPlayerLifecycleSupport(get(), get(), get()) }
single { DownloadQueueSerializer(androidContext()) } single { DownloadQueueSerializer(androidContext()) }
single { ExternalStorageMonitor() } single { ExternalStorageMonitor() }
single { ShufflePlayBuffer(androidContext()) } single { ShufflePlayBuffer() }
single { Downloader(get(), get(), get()) } single { Downloader(get(), get(), get()) }
single { LocalMediaPlayer(get(), androidContext()) } single { LocalMediaPlayer(get(), androidContext()) }
single { AudioFocusHandler(get()) } single { AudioFocusHandler(get()) }

View File

@ -20,6 +20,7 @@ import android.os.Looper
import android.os.PowerManager import android.os.PowerManager
import android.os.PowerManager.PARTIAL_WAKE_LOCK import android.os.PowerManager.PARTIAL_WAKE_LOCK
import android.os.PowerManager.WakeLock import android.os.PowerManager.WakeLock
import org.koin.core.component.KoinApiExtension
import java.io.File import java.io.File
import java.net.URLEncoder import java.net.URLEncoder
import java.util.Locale import java.util.Locale
@ -39,6 +40,7 @@ import timber.log.Timber
/** /**
* Represents a Media Player which uses the mobile's resources for playback * Represents a Media Player which uses the mobile's resources for playback
*/ */
@KoinApiExtension
class LocalMediaPlayer( class LocalMediaPlayer(
private val audioFocusHandler: AudioFocusHandler, private val audioFocusHandler: AudioFocusHandler,
private val context: Context private val context: Context