package com.google.firebase.components; import com.google.firebase.events.Event; import com.google.firebase.events.Publisher; import com.google.firebase.inject.Deferred; import com.google.firebase.inject.Provider; import java.util.Collections; import java.util.HashSet; import java.util.Set; /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes3.dex */ public final class RestrictedComponentContainer implements ComponentContainer { private final Set> allowedDeferredInterfaces; private final Set> allowedDirectInterfaces; private final Set> allowedProviderInterfaces; private final Set> allowedPublishedEvents; private final Set> allowedSetDirectInterfaces; private final Set> allowedSetProviderInterfaces; private final ComponentContainer delegateContainer; /* loaded from: classes3.dex */ public static class RestrictedPublisher implements Publisher { private final Set> allowedPublishedEvents; private final Publisher delegate; public RestrictedPublisher(Set> set, Publisher publisher) { this.allowedPublishedEvents = set; this.delegate = publisher; } @Override // com.google.firebase.events.Publisher public void publish(Event event) { if (!this.allowedPublishedEvents.contains(event.getType())) { throw new DependencyException(String.format("Attempting to publish an undeclared event %s.", event)); } this.delegate.publish(event); } } public RestrictedComponentContainer(Component component, ComponentContainer componentContainer) { HashSet hashSet = new HashSet(); HashSet hashSet2 = new HashSet(); HashSet hashSet3 = new HashSet(); HashSet hashSet4 = new HashSet(); HashSet hashSet5 = new HashSet(); for (Dependency dependency : component.getDependencies()) { if (dependency.isDirectInjection()) { if (dependency.isSet()) { hashSet4.add(dependency.getInterface()); } else { hashSet.add(dependency.getInterface()); } } else if (dependency.isDeferred()) { hashSet3.add(dependency.getInterface()); } else if (dependency.isSet()) { hashSet5.add(dependency.getInterface()); } else { hashSet2.add(dependency.getInterface()); } } if (!component.getPublishedEvents().isEmpty()) { hashSet.add(Qualified.unqualified(Publisher.class)); } this.allowedDirectInterfaces = Collections.unmodifiableSet(hashSet); this.allowedProviderInterfaces = Collections.unmodifiableSet(hashSet2); this.allowedDeferredInterfaces = Collections.unmodifiableSet(hashSet3); this.allowedSetDirectInterfaces = Collections.unmodifiableSet(hashSet4); this.allowedSetProviderInterfaces = Collections.unmodifiableSet(hashSet5); this.allowedPublishedEvents = component.getPublishedEvents(); this.delegateContainer = componentContainer; } @Override // com.google.firebase.components.ComponentContainer public T get(Class cls) { if (this.allowedDirectInterfaces.contains(Qualified.unqualified(cls))) { T t2 = (T) this.delegateContainer.get(cls); return !cls.equals(Publisher.class) ? t2 : (T) new RestrictedPublisher(this.allowedPublishedEvents, (Publisher) t2); } throw new DependencyException("Attempting to request an undeclared dependency " + cls + "."); } @Override // com.google.firebase.components.ComponentContainer public Deferred getDeferred(Class cls) { return getDeferred(Qualified.unqualified(cls)); } @Override // com.google.firebase.components.ComponentContainer public Provider getProvider(Class cls) { return getProvider(Qualified.unqualified(cls)); } @Override // com.google.firebase.components.ComponentContainer public Set setOf(Qualified qualified) { if (this.allowedSetDirectInterfaces.contains(qualified)) { return this.delegateContainer.setOf(qualified); } throw new DependencyException("Attempting to request an undeclared dependency Set<" + qualified + ">."); } @Override // com.google.firebase.components.ComponentContainer public Provider> setOfProvider(Class cls) { return setOfProvider(Qualified.unqualified(cls)); } @Override // com.google.firebase.components.ComponentContainer public Deferred getDeferred(Qualified qualified) { if (this.allowedDeferredInterfaces.contains(qualified)) { return this.delegateContainer.getDeferred(qualified); } throw new DependencyException("Attempting to request an undeclared dependency Deferred<" + qualified + ">."); } @Override // com.google.firebase.components.ComponentContainer public Provider getProvider(Qualified qualified) { if (this.allowedProviderInterfaces.contains(qualified)) { return this.delegateContainer.getProvider(qualified); } throw new DependencyException("Attempting to request an undeclared dependency Provider<" + qualified + ">."); } @Override // com.google.firebase.components.ComponentContainer public Provider> setOfProvider(Qualified qualified) { if (this.allowedSetProviderInterfaces.contains(qualified)) { return this.delegateContainer.setOfProvider(qualified); } throw new DependencyException("Attempting to request an undeclared dependency Provider>."); } @Override // com.google.firebase.components.ComponentContainer public T get(Qualified qualified) { if (this.allowedDirectInterfaces.contains(qualified)) { return (T) this.delegateContainer.get(qualified); } throw new DependencyException("Attempting to request an undeclared dependency " + qualified + "."); } }