Files

64 lines
1.9 KiB
Java

package com.google.firebase.components;
import com.google.firebase.inject.Provider;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes3.dex */
public class LazySet<T> implements Provider<Set<T>> {
private volatile Set<T> actualSet = null;
private volatile Set<Provider<T>> providers = Collections.newSetFromMap(new ConcurrentHashMap());
public LazySet(Collection<Provider<T>> collection) {
this.providers.addAll(collection);
}
public static LazySet<?> fromCollection(Collection<Provider<?>> collection) {
return new LazySet<>((Set) collection);
}
private synchronized void updateSet() {
try {
Iterator<Provider<T>> it = this.providers.iterator();
while (it.hasNext()) {
this.actualSet.add(it.next().get());
}
this.providers = null;
} catch (Throwable th) {
throw th;
}
}
public synchronized void add(Provider<T> provider) {
try {
if (this.actualSet == null) {
this.providers.add(provider);
} else {
this.actualSet.add(provider.get());
}
} catch (Throwable th) {
throw th;
}
}
@Override // com.google.firebase.inject.Provider
public Set<T> get() {
if (this.actualSet == null) {
synchronized (this) {
try {
if (this.actualSet == null) {
this.actualSet = Collections.newSetFromMap(new ConcurrentHashMap());
updateSet();
}
} finally {
}
}
}
return Collections.unmodifiableSet(this.actualSet);
}
}