package androidx.media3.session;

import android.os.Handler;
import android.os.Looper;
import androidx.media3.common.util.Util;
import androidx.media3.session.MediaController;
import defpackage.rq6;

/* JADX INFO: loaded from: classes.dex */
class MediaControllerHolder<T extends MediaController> extends defpackage.ca<T> implements MediaController.ConnectionCallback {
    private boolean accepted;

    @rq6
    private T controller;
    private final Handler handler;

    public MediaControllerHolder(Looper looper) {
        this.handler = new Handler(looper);
    }

    /* JADX INFO: Access modifiers changed from: private */
    public /* synthetic */ void lambda$setController$0(MediaController mediaController) {
        if (isCancelled()) {
            mediaController.release();
        }
    }

    /* JADX INFO: Access modifiers changed from: private */
    public /* synthetic */ void lambda$setController$1(Runnable runnable) {
        Util.postOrRun(this.handler, runnable);
    }

    private void maybeSetException() {
        setException(new SecurityException("Session rejected the connection request."));
    }

    private void maybeSetFutureResult() {
        T t = this.controller;
        if (t == null || !this.accepted) {
            return;
        }
        set(t);
    }

    @Override // androidx.media3.session.MediaController.ConnectionCallback
    public void onAccepted() {
        this.accepted = true;
        maybeSetFutureResult();
    }

    @Override // androidx.media3.session.MediaController.ConnectionCallback
    public void onRejected() {
        maybeSetException();
    }

    public void setController(T t) {
        this.controller = t;
        maybeSetFutureResult();
        addListener(new l(this, t, 1), new m(this, 0));
    }
}
