mirror of
https://gitlab.com/ultrasonic/ultrasonic.git
synced 2025-04-27 22:22:17 +03:00
Make MediaPlayerLifecycleSupport context-free
This commit is contained in:
parent
7922d6caad
commit
f596dc77c1
@ -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)
|
||||||
|
@ -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()) }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user