package androidx.startup; import android.content.ComponentName; import android.content.Context; import android.content.pm.PackageManager; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.tracing.Trace; import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; /* loaded from: classes.dex */ public final class AppInitializer { private static final String SECTION_NAME = "Startup"; private static volatile AppInitializer sInstance; private static final Object sLock = new Object(); @NonNull final Context mContext; @NonNull final Set>> mDiscovered = new HashSet(); @NonNull final Map, Object> mInitialized = new HashMap(); public AppInitializer(@NonNull Context context) { this.mContext = context.getApplicationContext(); } @NonNull public static AppInitializer getInstance(@NonNull Context context) { if (sInstance == null) { synchronized (sLock) { try { if (sInstance == null) { sInstance = new AppInitializer(context); } } finally { } } } return sInstance; } public static void setDelegate(@NonNull AppInitializer appInitializer) { synchronized (sLock) { sInstance = appInitializer; } } @NonNull public T initializeComponent(@NonNull Class> cls) { return (T) doInitialize(cls); } public boolean isEagerlyInitialized(@NonNull Class> cls) { return this.mDiscovered.contains(cls); } @NonNull public T doInitialize(@NonNull Class> cls) { T t; synchronized (sLock) { try { t = (T) this.mInitialized.get(cls); if (t == null) { t = (T) doInitialize(cls, new HashSet()); } } catch (Throwable th) { throw th; } } return t; } @NonNull private T doInitialize(@NonNull Class> cls, @NonNull Set> set) { T t; if (Trace.isEnabled()) { try { Trace.beginSection(cls.getSimpleName()); } catch (Throwable th) { Trace.endSection(); throw th; } } if (set.contains(cls)) { throw new IllegalStateException(String.format("Cannot initialize %s. Cycle detected.", cls.getName())); } if (!this.mInitialized.containsKey(cls)) { set.add(cls); try { Initializer newInstance = cls.getDeclaredConstructor(new Class[0]).newInstance(new Object[0]); List>> dependencies = newInstance.dependencies(); if (!dependencies.isEmpty()) { for (Class> cls2 : dependencies) { if (!this.mInitialized.containsKey(cls2)) { doInitialize(cls2, set); } } } t = (T) newInstance.create(this.mContext); set.remove(cls); this.mInitialized.put(cls, t); } catch (Throwable th2) { throw new StartupException(th2); } } else { t = (T) this.mInitialized.get(cls); } Trace.endSection(); return t; } public void discoverAndInitialize() { try { try { Trace.beginSection(SECTION_NAME); discoverAndInitialize(this.mContext.getPackageManager().getProviderInfo(new ComponentName(this.mContext.getPackageName(), InitializationProvider.class.getName()), 128).metaData); } catch (PackageManager.NameNotFoundException e) { throw new StartupException(e); } } finally { Trace.endSection(); } } /* JADX WARN: Multi-variable type inference failed */ public void discoverAndInitialize(@Nullable Bundle bundle) { String string = this.mContext.getString(R.string.androidx_startup); if (bundle != null) { try { HashSet hashSet = new HashSet(); for (String str : bundle.keySet()) { if (string.equals(bundle.getString(str, null))) { Class cls = Class.forName(str); if (Initializer.class.isAssignableFrom(cls)) { this.mDiscovered.add(cls); } } } Iterator>> it = this.mDiscovered.iterator(); while (it.hasNext()) { doInitialize(it.next(), hashSet); } } catch (ClassNotFoundException e) { throw new StartupException(e); } } } }