package androidx.media3.session;

import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.IBinder;
import androidx.annotation.IntRange;
import androidx.annotation.Nullable;
import androidx.media3.common.MediaItem;
import androidx.media3.common.Player;
import androidx.media3.common.util.Assertions;
import androidx.media3.common.util.UnstableApi;
import androidx.media3.common.util.Util;
import androidx.media3.datasource.DataSourceBitmapLoader;
import androidx.media3.session.MediaSession;
import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.AsyncFunction;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import java.util.List;

/* JADX INFO: loaded from: classes.dex */
public abstract class MediaLibraryService extends MediaSessionService {
    public static final String SERVICE_INTERFACE = "androidx.media3.session.MediaLibraryService";

    public static final class LibraryParams {

        @UnstableApi
        public final Bundle extras;
        public final boolean isOffline;
        public final boolean isRecent;
        public final boolean isSuggested;
        private static final String FIELD_EXTRAS = Util.intToStringMaxRadix(0);
        private static final String FIELD_RECENT = Util.intToStringMaxRadix(1);
        private static final String FIELD_OFFLINE = Util.intToStringMaxRadix(2);
        private static final String FIELD_SUGGESTED = Util.intToStringMaxRadix(3);

        public static final class Builder {
            private Bundle extras = Bundle.EMPTY;
            private boolean offline;
            private boolean recent;
            private boolean suggested;

            public LibraryParams build() {
                return new LibraryParams(this.extras, this.recent, this.offline, this.suggested);
            }

            @CanIgnoreReturnValue
            @UnstableApi
            public Builder setExtras(Bundle bundle) {
                this.extras = (Bundle) Assertions.checkNotNull(bundle);
                return this;
            }

            @CanIgnoreReturnValue
            public Builder setOffline(boolean z2) {
                this.offline = z2;
                return this;
            }

            @CanIgnoreReturnValue
            public Builder setRecent(boolean z2) {
                this.recent = z2;
                return this;
            }

            @CanIgnoreReturnValue
            public Builder setSuggested(boolean z2) {
                this.suggested = z2;
                return this;
            }
        }

        @UnstableApi
        public static LibraryParams fromBundle(Bundle bundle) {
            Bundle bundle2 = bundle.getBundle(FIELD_EXTRAS);
            boolean z2 = bundle.getBoolean(FIELD_RECENT, false);
            boolean z3 = bundle.getBoolean(FIELD_OFFLINE, false);
            boolean z4 = bundle.getBoolean(FIELD_SUGGESTED, false);
            if (bundle2 == null) {
                bundle2 = Bundle.EMPTY;
            }
            return new LibraryParams(bundle2, z2, z3, z4);
        }

        @UnstableApi
        public Bundle toBundle() {
            Bundle bundle = new Bundle();
            bundle.putBundle(FIELD_EXTRAS, this.extras);
            bundle.putBoolean(FIELD_RECENT, this.isRecent);
            bundle.putBoolean(FIELD_OFFLINE, this.isOffline);
            bundle.putBoolean(FIELD_SUGGESTED, this.isSuggested);
            return bundle;
        }

        private LibraryParams(Bundle bundle, boolean z2, boolean z3, boolean z4) {
            this.extras = new Bundle(bundle);
            this.isRecent = z2;
            this.isOffline = z3;
            this.isSuggested = z4;
        }
    }

    public static final class MediaLibrarySession extends MediaSession {

        @UnstableApi
        public static final int LIBRARY_ERROR_REPLICATION_MODE_FATAL = 1;

        @UnstableApi
        public static final int LIBRARY_ERROR_REPLICATION_MODE_NONE = 0;

        @UnstableApi
        public static final int LIBRARY_ERROR_REPLICATION_MODE_NON_FATAL = 2;

        public static final class Builder extends MediaSession.BuilderBase<MediaLibrarySession, Builder, Callback> {
            private int libraryErrorReplicationMode;

            public Builder(MediaLibraryService mediaLibraryService, Player player, Callback callback) {
                this((Context) mediaLibraryService, player, callback);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @UnstableApi
            public /* bridge */ /* synthetic */ MediaSession.BuilderBase setCommandButtonsForMediaItems(List list) {
                return setCommandButtonsForMediaItems((List<CommandButton>) list);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @CanIgnoreReturnValue
            @UnstableApi
            public /* bridge */ /* synthetic */ MediaSession.BuilderBase setCustomLayout(List list) {
                return setCustomLayout((List<CommandButton>) list);
            }

            @CanIgnoreReturnValue
            @UnstableApi
            public Builder setLibraryErrorReplicationMode(int i2) {
                this.libraryErrorReplicationMode = i2;
                return this;
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @CanIgnoreReturnValue
            @UnstableApi
            public /* bridge */ /* synthetic */ MediaSession.BuilderBase setMediaButtonPreferences(List list) {
                return setMediaButtonPreferences((List<CommandButton>) list);
            }

            @UnstableApi
            public Builder(Context context, Player player, Callback callback) {
                super(context, player, callback);
                this.libraryErrorReplicationMode = 1;
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            public MediaLibrarySession build() {
                if (this.bitmapLoader == null) {
                    this.bitmapLoader = new CacheBitmapLoader(new DataSourceBitmapLoader(this.context));
                }
                return new MediaLibrarySession(this.context, this.id, this.player, this.sessionActivity, this.customLayout, this.mediaButtonPreferences, this.commandButtonsForMediaItems, this.callback, this.tokenExtras, this.sessionExtras, (androidx.media3.common.util.BitmapLoader) Assertions.checkNotNull(this.bitmapLoader), this.playIfSuppressed, this.isPeriodicPositionUpdateEnabled, this.libraryErrorReplicationMode);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @UnstableApi
            public Builder setBitmapLoader(androidx.media3.common.util.BitmapLoader bitmapLoader) {
                return (Builder) super.setBitmapLoader(bitmapLoader);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @UnstableApi
            public Builder setCommandButtonsForMediaItems(List<CommandButton> list) {
                return (Builder) super.setCommandButtonsForMediaItems(list);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @CanIgnoreReturnValue
            @UnstableApi
            public Builder setCustomLayout(List<CommandButton> list) {
                return (Builder) super.setCustomLayout(list);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            public Builder setExtras(Bundle bundle) {
                return (Builder) super.setExtras(bundle);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            public Builder setId(String str) {
                return (Builder) super.setId(str);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @CanIgnoreReturnValue
            @UnstableApi
            public Builder setMediaButtonPreferences(List<CommandButton> list) {
                return (Builder) super.setMediaButtonPreferences(list);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @UnstableApi
            public Builder setPeriodicPositionUpdateEnabled(boolean z2) {
                return (Builder) super.setPeriodicPositionUpdateEnabled(z2);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            public Builder setSessionActivity(PendingIntent pendingIntent) {
                return (Builder) super.setSessionActivity(pendingIntent);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @UnstableApi
            public Builder setSessionExtras(Bundle bundle) {
                return (Builder) super.setSessionExtras(bundle);
            }

            @Override // androidx.media3.session.MediaSession.BuilderBase
            @UnstableApi
            public Builder setShowPlayButtonIfPlaybackIsSuppressed(boolean z2) {
                return (Builder) super.setShowPlayButtonIfPlaybackIsSuppressed(z2);
            }
        }

        public interface Callback extends MediaSession.Callback {
            private static /* synthetic */ ListenableFuture lambda$onSubscribe$0(MediaSession.ControllerInfo controllerInfo, MediaLibrarySession mediaLibrarySession, String str, LibraryParams libraryParams, LibraryResult libraryResult) throws Exception {
                V v2;
                if (libraryResult.resultCode == 0 && (v2 = libraryResult.value) != 0 && ((MediaItem) v2).mediaMetadata.isBrowsable != null && ((MediaItem) libraryResult.value).mediaMetadata.isBrowsable.booleanValue()) {
                    if (controllerInfo.getControllerVersion() != 0) {
                        mediaLibrarySession.notifyChildrenChanged(controllerInfo, str, Integer.MAX_VALUE, libraryParams);
                    }
                    return Futures.immediateFuture(LibraryResult.ofVoid());
                }
                int i2 = libraryResult.resultCode;
                if (i2 == 0) {
                    i2 = -3;
                }
                return Futures.immediateFuture(LibraryResult.ofError(i2));
            }

            default ListenableFuture onGetChildren(MediaLibrarySession mediaLibrarySession, MediaSession.ControllerInfo controllerInfo, String str, @IntRange(from = 0) int i2, @IntRange(from = 1) int i3, @Nullable LibraryParams libraryParams) {
                return Futures.immediateFuture(LibraryResult.ofError(-6));
            }

            default ListenableFuture onGetItem(MediaLibrarySession mediaLibrarySession, MediaSession.ControllerInfo controllerInfo, String str) {
                return Futures.immediateFuture(LibraryResult.ofError(-6));
            }

            default ListenableFuture onGetLibraryRoot(MediaLibrarySession mediaLibrarySession, MediaSession.ControllerInfo controllerInfo, @Nullable LibraryParams libraryParams) {
                return Futures.immediateFuture(LibraryResult.ofError(-6));
            }

            default ListenableFuture onGetSearchResult(MediaLibrarySession mediaLibrarySession, MediaSession.ControllerInfo controllerInfo, String str, @IntRange(from = 0) int i2, @IntRange(from = 1) int i3, @Nullable LibraryParams libraryParams) {
                return Futures.immediateFuture(LibraryResult.ofError(-6));
            }

            default ListenableFuture onSearch(MediaLibrarySession mediaLibrarySession, MediaSession.ControllerInfo controllerInfo, String str, @Nullable LibraryParams libraryParams) {
                return Futures.immediateFuture(LibraryResult.ofError(-6));
            }

            default ListenableFuture onSubscribe(final MediaLibrarySession mediaLibrarySession, final MediaSession.ControllerInfo controllerInfo, final String str, @Nullable final LibraryParams libraryParams) {
                return Util.transformFutureAsync(onGetItem(mediaLibrarySession, controllerInfo, str), new AsyncFunction() { // from class: androidx.media3.session.Q1
                });
            }

            default ListenableFuture onUnsubscribe(MediaLibrarySession mediaLibrarySession, MediaSession.ControllerInfo controllerInfo, String str) {
                return Futures.immediateFuture(LibraryResult.ofVoid());
            }
        }

        MediaLibrarySession(Context context, String str, Player player, @Nullable PendingIntent pendingIntent, ImmutableList<CommandButton> immutableList, ImmutableList<CommandButton> immutableList2, ImmutableList<CommandButton> immutableList3, MediaSession.Callback callback, Bundle bundle, Bundle bundle2, androidx.media3.common.util.BitmapLoader bitmapLoader, boolean z2, boolean z3, int i2) {
            super(context, str, player, pendingIntent, immutableList, immutableList2, immutableList3, callback, bundle, bundle2, bitmapLoader, z2, z3, i2);
        }

        @UnstableApi
        public void clearReplicatedLibraryError() {
            getImpl().clearReplicatedLibraryError();
        }

        @Override // androidx.media3.session.MediaSession
        /* bridge */ /* synthetic */ MediaSessionImpl createImpl(Context context, String str, Player player, @Nullable PendingIntent pendingIntent, ImmutableList immutableList, ImmutableList immutableList2, ImmutableList immutableList3, MediaSession.Callback callback, Bundle bundle, Bundle bundle2, androidx.media3.common.util.BitmapLoader bitmapLoader, boolean z2, boolean z3, int i2) {
            return createImpl(context, str, player, pendingIntent, (ImmutableList<CommandButton>) immutableList, (ImmutableList<CommandButton>) immutableList2, (ImmutableList<CommandButton>) immutableList3, callback, bundle, bundle2, bitmapLoader, z2, z3, i2);
        }

        @UnstableApi
        public ImmutableList<MediaSession.ControllerInfo> getSubscribedControllers(String str) {
            return getImpl().getSubscribedControllers(str);
        }

        public void notifyChildrenChanged(MediaSession.ControllerInfo controllerInfo, String str, @IntRange(from = 0) int i2, @Nullable LibraryParams libraryParams) {
            Assertions.checkArgument(i2 >= 0);
            getImpl().notifyChildrenChanged((MediaSession.ControllerInfo) Assertions.checkNotNull(controllerInfo), Assertions.checkNotEmpty(str), i2, libraryParams);
        }

        public void notifySearchResultChanged(MediaSession.ControllerInfo controllerInfo, String str, @IntRange(from = 0) int i2, @Nullable LibraryParams libraryParams) {
            Assertions.checkArgument(i2 >= 0);
            getImpl().notifySearchResultChanged((MediaSession.ControllerInfo) Assertions.checkNotNull(controllerInfo), Assertions.checkNotEmpty(str), i2, libraryParams);
        }

        @Override // androidx.media3.session.MediaSession
        MediaLibrarySessionImpl createImpl(Context context, String str, Player player, @Nullable PendingIntent pendingIntent, ImmutableList<CommandButton> immutableList, ImmutableList<CommandButton> immutableList2, ImmutableList<CommandButton> immutableList3, MediaSession.Callback callback, Bundle bundle, Bundle bundle2, androidx.media3.common.util.BitmapLoader bitmapLoader, boolean z2, boolean z3, int i2) {
            return new MediaLibrarySessionImpl(this, context, str, player, pendingIntent, immutableList, immutableList2, immutableList3, (Callback) callback, bundle, bundle2, bitmapLoader, z2, z3, i2);
        }

        /* JADX INFO: Access modifiers changed from: package-private */
        @Override // androidx.media3.session.MediaSession
        public MediaLibrarySessionImpl getImpl() {
            return (MediaLibrarySessionImpl) super.getImpl();
        }

        public void notifyChildrenChanged(String str, @IntRange(from = 0) int i2, @Nullable LibraryParams libraryParams) {
            Assertions.checkArgument(i2 >= 0);
            getImpl().notifyChildrenChanged(Assertions.checkNotEmpty(str), i2, libraryParams);
        }
    }

    @Override // androidx.media3.session.MediaSessionService, android.app.Service
    @Nullable
    public IBinder onBind(@Nullable Intent intent) {
        if (intent == null) {
            return null;
        }
        return SERVICE_INTERFACE.equals(intent.getAction()) ? getServiceBinder() : super.onBind(intent);
    }

    @Override // androidx.media3.session.MediaSessionService
    @Nullable
    public abstract MediaLibrarySession onGetSession(MediaSession.ControllerInfo controllerInfo);
}
