导航菜单

页面标题

页面副标题

Barstool v5.21.2 - PodcastSessionService.java 源代码

正在查看: Barstool v5.21.2 应用的 PodcastSessionService.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.barstoolsports.podcast;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.util.Log;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.media3.common.Player;
import androidx.media3.common.util.Util;
import androidx.media3.datasource.DataSource;
import androidx.media3.datasource.DefaultDataSourceFactory;
import androidx.media3.exoplayer.ExoPlayer;
import androidx.media3.exoplayer.source.DefaultMediaSourceFactory;
import androidx.media3.exoplayer.source.MediaSource;
import androidx.media3.session.MediaController;
import androidx.media3.session.MediaSession;
import androidx.media3.session.SessionToken;
import com.barstoolsports.components.MediaPauseReceiver;
import com.barstoolsports.components.MediaPauseReceiverKt;
import com.google.common.util.concurrent.ListenableFuture;
import dagger.hilt.android.AndroidEntryPoint;
import kotlin.Lazy;
import kotlin.LazyKt;
import kotlin.Metadata;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;

@Metadata(d1 = {"\u0000H\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\b\u0007\u0018\u0000 \"2\u00020\u0001:\u0001\"B\u0007¢\u0006\u0004\b\u0002\u0010\u0003J\b\u0010\u0019\u001a\u00020\u001aH\u0016J\b\u0010\u001b\u001a\u00020\u001aH\u0016J\u0012\u0010\u001c\u001a\u0004\u0018\u00010\u000b2\u0006\u0010\u001d\u001a\u00020\u001eH\u0016J\u0012\u0010\u001f\u001a\u00020\u001a2\b\u0010 \u001a\u0004\u0018\u00010!H\u0016R\u001a\u0010\u0004\u001a\u00020\u0005X\u0086.¢\u0006\u000e\n\u0000\u001a\u0004\b\u0006\u0010\u0007\"\u0004\b\b\u0010\tR\u0010\u0010\n\u001a\u0004\u0018\u00010\u000bX\u0082\u000e¢\u0006\u0002\n\u0000R\u001b\u0010\f\u001a\u00020\r8BX\u0082\u0084\u0002¢\u0006\f\n\u0004\b\u0010\u0010\u0011\u001a\u0004\b\u000e\u0010\u000fR\u001b\u0010\u0012\u001a\u00020\u00138BX\u0082\u0084\u0002¢\u0006\f\n\u0004\b\u0016\u0010\u0011\u001a\u0004\b\u0014\u0010\u0015R\u000e\u0010\u0017\u001a\u00020\u0018X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006#"}, d2 = {"Lcom/barstoolsports/podcast/PodcastSessionService;", "Landroidx/media3/session/MediaSessionService;", "<init>", "()V", "exoPlayer", "Landroidx/media3/exoplayer/ExoPlayer;", "getExoPlayer", "()Landroidx/media3/exoplayer/ExoPlayer;", "setExoPlayer", "(Landroidx/media3/exoplayer/ExoPlayer;)V", "mediaSession", "Landroidx/media3/session/MediaSession;", "dataSourceFactory", "Landroidx/media3/datasource/DataSource$Factory;", "getDataSourceFactory", "()Landroidx/media3/datasource/DataSource$Factory;", "dataSourceFactory$delegate", "Lkotlin/Lazy;", "mediaSourceFactory", "Landroidx/media3/exoplayer/source/MediaSource$Factory;", "getMediaSourceFactory", "()Landroidx/media3/exoplayer/source/MediaSource$Factory;", "mediaSourceFactory$delegate", "pauseReceiver", "Lcom/barstoolsports/components/MediaPauseReceiver;", "onCreate", "", "onDestroy", "onGetSession", "controllerInfo", "Landroidx/media3/session/MediaSession$ControllerInfo;", "onTaskRemoved", "rootIntent", "Landroid/content/Intent;", "Companion", "podcast_release"}, k = 1, mv = {2, 0, 0}, xi = 48)
@AndroidEntryPoint
public final class PodcastSessionService extends Hilt_PodcastSessionService {

    public static final Companion INSTANCE = new Companion(null);
    public ExoPlayer exoPlayer;
    private MediaSession mediaSession;

    private final Lazy dataSourceFactory = LazyKt.lazy(new Function0() {
        public final Object invoke() {
            DefaultDataSourceFactory dataSourceFactory_delegate$lambda$0;
            dataSourceFactory_delegate$lambda$0 = PodcastSessionService.dataSourceFactory_delegate$lambda$0(PodcastSessionService.this);
            return dataSourceFactory_delegate$lambda$0;
        }
    });

    private final Lazy mediaSourceFactory = LazyKt.lazy(new Function0() {
        public final Object invoke() {
            DefaultMediaSourceFactory mediaSourceFactory_delegate$lambda$1;
            mediaSourceFactory_delegate$lambda$1 = PodcastSessionService.mediaSourceFactory_delegate$lambda$1(PodcastSessionService.this);
            return mediaSourceFactory_delegate$lambda$1;
        }
    });
    private final MediaPauseReceiver pauseReceiver = new MediaPauseReceiver(2, new Function0() {
        public final Object invoke() {
            Unit pauseReceiver$lambda$2;
            pauseReceiver$lambda$2 = PodcastSessionService.pauseReceiver$lambda$2(PodcastSessionService.this);
            return pauseReceiver$lambda$2;
        }
    });

    public final ExoPlayer getExoPlayer() {
        ExoPlayer exoPlayer = this.exoPlayer;
        if (exoPlayer != null) {
            return exoPlayer;
        }
        Intrinsics.throwUninitializedPropertyAccessException("exoPlayer");
        return null;
    }

    public final void setExoPlayer(ExoPlayer exoPlayer) {
        Intrinsics.checkNotNullParameter(exoPlayer, "<set-?>");
        this.exoPlayer = exoPlayer;
    }

    private final DataSource.Factory getDataSourceFactory() {
        return (DataSource.Factory) this.dataSourceFactory.getValue();
    }

    public static final DefaultDataSourceFactory dataSourceFactory_delegate$lambda$0(PodcastSessionService podcastSessionService) {
        Context context = (Context) podcastSessionService;
        return new DefaultDataSourceFactory(context, Util.getUserAgent(context, podcastSessionService.getString(R.string.app_name)));
    }

    private final MediaSource.Factory getMediaSourceFactory() {
        return (MediaSource.Factory) this.mediaSourceFactory.getValue();
    }

    public static final DefaultMediaSourceFactory mediaSourceFactory_delegate$lambda$1(PodcastSessionService podcastSessionService) {
        return new DefaultMediaSourceFactory(podcastSessionService.getDataSourceFactory());
    }

    public static final Unit pauseReceiver$lambda$2(PodcastSessionService podcastSessionService) {
        podcastSessionService.getExoPlayer().setPlayWhenReady(false);
        return Unit.INSTANCE;
    }

    @Override
    public void onCreate() {
        super.onCreate();
        Context context = (Context) this;
        setExoPlayer(new ExoPlayer.Builder(context).setMediaSourceFactory(getMediaSourceFactory()).build());
        this.mediaSession = new MediaSession.Builder(context, getExoPlayer()).setId("podcast").build();
        getExoPlayer().addListener(new Player.Listener() {
            public void onPlayWhenReadyChanged(boolean playWhenReady, int reason) {
                if (playWhenReady) {
                    PodcastSessionService podcastSessionService = PodcastSessionService.this;
                    Intent intent = new Intent(MediaPauseReceiverKt.ACTION_REQUEST_MEDIA_PRIORITY);
                    PodcastSessionService podcastSessionService2 = PodcastSessionService.this;
                    Log.d("BarstoolMedia", "Sending intent to pause video");
                    intent.setPackage(podcastSessionService2.getPackageName());
                    intent.putExtra(MediaPauseReceiverKt.EXTRA_REQUESTER_ORDINAL, 2);
                    podcastSessionService.sendBroadcast(intent);
                }
            }
        });
        ContextCompat.registerReceiver(context, this.pauseReceiver, new IntentFilter(MediaPauseReceiverKt.ACTION_REQUEST_MEDIA_PRIORITY), 4);
    }

    public void onDestroy() {
        super.onDestroy();
        MediaSession mediaSession = this.mediaSession;
        if (mediaSession != null) {
            mediaSession.release();
        }
        this.mediaSession = null;
    }

    public MediaSession onGetSession(MediaSession.ControllerInfo controllerInfo) {
        Intrinsics.checkNotNullParameter(controllerInfo, "controllerInfo");
        return this.mediaSession;
    }

    public void onTaskRemoved(Intent rootIntent) {
        MediaSession mediaSession = this.mediaSession;
        Player player = mediaSession != null ? mediaSession.getPlayer() : null;
        Intrinsics.checkNotNull(player);
        if (!player.getPlayWhenReady() || player.getMediaItemCount() == 0 || player.getPlaybackState() == 4) {
            stopSelf();
        }
    }

    @Metadata(d1 = {"\u0000\u001a\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\t\b\u0002¢\u0006\u0004\b\u0002\u0010\u0003J\u0010\u0010\u0004\u001a\b\u0012\u0004\u0012\u00020\u00060\u0005*\u00020\u0007¨\u0006\b"}, d2 = {"Lcom/barstoolsports/podcast/PodcastSessionService$Companion;", "", "<init>", "()V", "createSession", "Lcom/google/common/util/concurrent/ListenableFuture;", "Landroidx/media3/session/MediaController;", "Landroidx/fragment/app/Fragment;", "podcast_release"}, k = 1, mv = {2, 0, 0}, xi = 48)
    public static final class Companion {
        public Companion(DefaultConstructorMarker defaultConstructorMarker) {
            this();
        }

        private Companion() {
        }

        public final ListenableFuture<MediaController> createSession(Fragment fragment) {
            Intrinsics.checkNotNullParameter(fragment, "<this>");
            ListenableFuture<MediaController> buildAsync = new MediaController.Builder(fragment.requireContext(), new SessionToken(fragment.requireContext(), new ComponentName(fragment.requireContext(), (Class<?>) PodcastSessionService.class))).buildAsync();
            Intrinsics.checkNotNullExpressionValue(buildAsync, "buildAsync(...)");
            return buildAsync;
        }
    }
}