package androidx.compose.runtime.retain;

import androidx.compose.runtime.RememberObserver;
import androidx.compose.runtime.internal.StabilityInferred;

/* JADX INFO: loaded from: classes.dex */
@StabilityInferred(parameters = 0)
public final class RetainedValueHolder<T> implements RememberObserver {
    public static final int $stable = 8;
    private boolean isNewlyRetained;
    private final Object key;
    private RetainedValuesStore owner;
    private final T value;

    public RetainedValueHolder(Object obj, T t6, RetainedValuesStore retainedValuesStore, boolean z6) {
        this.key = obj;
        this.value = t6;
        this.isNewlyRetained = z6;
        this.owner = retainedValuesStore;
        if (!(t6 instanceof RememberObserver) || (t6 instanceof RetainObserver)) {
            return;
        }
        throw new IllegalArgumentException("Retained a value that implements RememberObserver but not RetainObserver. To receive the correct callbacks, the retained value '" + t6 + "' must also implement RetainObserver.");
    }

    public final Object getKey() {
        return this.key;
    }

    public final RetainedValuesStore getOwner() {
        return this.owner;
    }

    public final T getValue() {
        return this.value;
    }

    @Override // androidx.compose.runtime.RememberObserver
    public void onAbandoned() {
        T t6 = this.value;
        if (t6 instanceof RetainObserver) {
            ((RetainObserver) t6).onUnused();
        }
    }

    @Override // androidx.compose.runtime.RememberObserver
    public void onForgotten() {
        T t6 = this.value;
        if (t6 instanceof RetainObserver) {
            ((RetainObserver) t6).onExitedComposition();
        }
        this.owner.saveExitingValue(this.key, this.value);
    }

    @Override // androidx.compose.runtime.RememberObserver
    public void onRemembered() {
        T t6 = this.value;
        if (t6 instanceof RetainObserver) {
            if (this.isNewlyRetained) {
                this.isNewlyRetained = false;
                ((RetainObserver) t6).onRetained();
            }
            ((RetainObserver) this.value).onEnteredComposition();
        }
    }

    public final void readoptUnder$runtime_retain(RetainedValuesStore retainedValuesStore) {
        this.owner = retainedValuesStore;
    }
}
