Make MediaPlayerLifecycleSupport context-free

This commit is contained in:
tzugen 2021-05-21 19:15:41 +02:00
parent 7922d6caad
commit f596dc77c1
No known key found for this signature in database
GPG Key ID: 61E9C34BC10EC930
2 changed files with 6 additions and 8 deletions

View File

@ -30,6 +30,7 @@ import timber.log.Timber;
import android.view.KeyEvent; import android.view.KeyEvent;
import org.moire.ultrasonic.R; import org.moire.ultrasonic.R;
import org.moire.ultrasonic.app.UApp;
import org.moire.ultrasonic.domain.PlayerState; import org.moire.ultrasonic.domain.PlayerState;
import org.moire.ultrasonic.util.CacheCleaner; import org.moire.ultrasonic.util.CacheCleaner;
import org.moire.ultrasonic.util.Constants; import org.moire.ultrasonic.util.Constants;
@ -46,16 +47,14 @@ public class MediaPlayerLifecycleSupport
private DownloadQueueSerializer downloadQueueSerializer; // From DI private DownloadQueueSerializer downloadQueueSerializer; // From DI
private final MediaPlayerController mediaPlayerController; // From DI private final MediaPlayerController mediaPlayerController; // From DI
private final Downloader downloader; // From DI private final Downloader downloader; // From DI
private Context context;
private BroadcastReceiver headsetEventReceiver; private BroadcastReceiver headsetEventReceiver;
public MediaPlayerLifecycleSupport(Context context, DownloadQueueSerializer downloadQueueSerializer, public MediaPlayerLifecycleSupport(DownloadQueueSerializer downloadQueueSerializer,
final MediaPlayerController mediaPlayerController, final Downloader downloader) final MediaPlayerController mediaPlayerController, final Downloader downloader)
{ {
this.downloadQueueSerializer = downloadQueueSerializer; this.downloadQueueSerializer = downloadQueueSerializer;
this.mediaPlayerController = mediaPlayerController; this.mediaPlayerController = mediaPlayerController;
this.context = context;
this.downloader = downloader; this.downloader = downloader;
Timber.i("LifecycleSupport constructed"); Timber.i("LifecycleSupport constructed");
@ -103,7 +102,7 @@ public class MediaPlayerLifecycleSupport
downloadQueueSerializer.serializeDownloadQueueNow(downloader.downloadList, downloadQueueSerializer.serializeDownloadQueueNow(downloader.downloadList,
downloader.getCurrentPlayingIndex(), mediaPlayerController.getPlayerPosition()); downloader.getCurrentPlayingIndex(), mediaPlayerController.getPlayerPosition());
mediaPlayerController.clear(false); mediaPlayerController.clear(false);
context.unregisterReceiver(headsetEventReceiver); UApp.Companion.applicationContext().unregisterReceiver(headsetEventReceiver);
mediaPlayerController.onDestroy(); mediaPlayerController.onDestroy();
created = false; created = false;
Timber.i("LifecycleSupport destroyed"); Timber.i("LifecycleSupport destroyed");
@ -139,6 +138,7 @@ public class MediaPlayerLifecycleSupport
*/ */
private void registerHeadsetReceiver() { private void registerHeadsetReceiver() {
final SharedPreferences sp = Util.getPreferences(); final SharedPreferences sp = Util.getPreferences();
final Context context = UApp.Companion.applicationContext();
final String spKey = context final String spKey = context
.getString(R.string.settings_playback_resume_play_on_headphones_plug); .getString(R.string.settings_playback_resume_play_on_headphones_plug);
@ -177,7 +177,7 @@ public class MediaPlayerLifecycleSupport
{ {
headsetIntentFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG); headsetIntentFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
} }
context.registerReceiver(headsetEventReceiver, headsetIntentFilter); UApp.Companion.applicationContext().registerReceiver(headsetEventReceiver, headsetIntentFilter);
} }
public void handleKeyEvent(KeyEvent event) public void handleKeyEvent(KeyEvent event)

View File

@ -16,10 +16,8 @@ import org.moire.ultrasonic.util.ShufflePlayBuffer
* This Koin module contains the registration of classes related to the media player * This Koin module contains the registration of classes related to the media player
*/ */
val mediaPlayerModule = module { val mediaPlayerModule = module {
single { MediaPlayerController(androidContext(), get(), get(), get(), get(), get()) }
single { JukeboxMediaPlayer(androidContext(), get()) } single { JukeboxMediaPlayer(androidContext(), get()) }
single { MediaPlayerLifecycleSupport(androidContext(), get(), get(), get()) } single { MediaPlayerLifecycleSupport(get(), get(), get()) }
single { DownloadQueueSerializer(androidContext()) } single { DownloadQueueSerializer(androidContext()) }
single { ExternalStorageMonitor(androidContext()) } single { ExternalStorageMonitor(androidContext()) }
single { ShufflePlayBuffer(androidContext()) } single { ShufflePlayBuffer(androidContext()) }