// 
// Decompiled by Procyon v0.6.0
// 

package io.sentry;

import java.util.Iterator;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.List;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.ApiStatus;

@ApiStatus.Internal
public final class FullyDisplayedReporter
{
    @NotNull
    private static final FullyDisplayedReporter instance;
    @NotNull
    private final List<FullyDisplayedReporterListener> listeners;
    
    private FullyDisplayedReporter() {
        this.listeners = new CopyOnWriteArrayList<FullyDisplayedReporterListener>();
    }
    
    @NotNull
    public static FullyDisplayedReporter getInstance() {
        return FullyDisplayedReporter.instance;
    }
    
    public void registerFullyDrawnListener(@NotNull final FullyDisplayedReporterListener listener) {
        this.listeners.add(listener);
    }
    
    public void reportFullyDrawn() {
        final Iterator<FullyDisplayedReporterListener> listenerIterator = this.listeners.iterator();
        this.listeners.clear();
        while (listenerIterator.hasNext()) {
            listenerIterator.next().onFullyDrawn();
        }
    }
    
    static {
        instance = new FullyDisplayedReporter();
    }
    
    @ApiStatus.Internal
    public interface FullyDisplayedReporterListener
    {
        void onFullyDrawn();
    }
}
