jimu-decompiled/sources/com/google/firebase/components/zzf.java
2025-05-13 19:24:51 +02:00

73 lines
2.5 KiB
Java

package com.google.firebase.components;
import com.google.android.gms.common.internal.Preconditions;
import com.google.firebase.components.Component;
import com.google.firebase.events.Publisher;
import com.google.firebase.events.Subscriber;
import com.google.firebase.inject.Provider;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.Executor;
/* compiled from: com.google.firebase:firebase-common@@16.0.2 */
/* loaded from: classes.dex */
public final class zzf extends zza {
private final List<Component<?>> a;
private final Map<Class<?>, zzj<?>> b = new HashMap();
private final zzh c;
public zzf(Executor executor, Iterable<ComponentRegistrar> iterable, Component<?>... componentArr) {
this.c = new zzh(executor);
ArrayList arrayList = new ArrayList();
arrayList.add(Component.a(this.c, zzh.class, Subscriber.class, Publisher.class));
Iterator<ComponentRegistrar> it = iterable.iterator();
while (it.hasNext()) {
arrayList.addAll(it.next().getComponents());
}
Collections.addAll(arrayList, componentArr);
this.a = Collections.unmodifiableList(Component.AnonymousClass1.a(arrayList));
Iterator<Component<?>> it2 = this.a.iterator();
while (it2.hasNext()) {
a(it2.next());
}
a();
}
@Override // com.google.firebase.components.ComponentContainer
public final <T> Provider<T> b(Class<T> cls) {
Preconditions.a(cls, "Null interface requested.");
return this.b.get(cls);
}
public final void a(boolean z) {
for (Component<?> component : this.a) {
if (component.e() || (component.f() && z)) {
a(component.a().iterator().next());
}
}
this.c.a();
}
private <T> void a(Component<T> component) {
zzj<?> zzjVar = new zzj<>(component.c(), new zzl(component, this));
Iterator<Class<? super T>> it = component.a().iterator();
while (it.hasNext()) {
this.b.put(it.next(), zzjVar);
}
}
private void a() {
for (Component<?> component : this.a) {
for (Dependency dependency : component.b()) {
if (dependency.b() && !this.b.containsKey(dependency.a())) {
throw new MissingDependencyException(String.format("Unsatisfied dependency for component %s: %s", component, dependency.a()));
}
}
}
}
}