what-the-bank/sources/com/google/firebase/FirebaseApp.java

394 lines
16 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package com.google.firebase;
import android.app.Application;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Handler;
import android.os.Looper;
import android.text.TextUtils;
import com.google.android.gms.common.api.internal.BackgroundDetector;
import com.google.android.gms.common.internal.Objects;
import com.google.android.gms.common.internal.Preconditions;
import com.google.android.gms.common.util.Base64Utils;
import com.google.android.gms.common.util.PlatformVersion;
import com.google.android.gms.common.util.ProcessUtils;
import com.google.firebase.components.Component;
import com.google.firebase.components.ComponentDiscovery;
import com.google.firebase.components.ComponentDiscoveryService;
import com.google.firebase.components.ComponentRegistrar;
import com.google.firebase.components.ComponentRuntime;
import com.google.firebase.components.Lazy;
import com.google.firebase.events.Publisher;
import com.google.firebase.heartbeatinfo.DefaultHeartBeatController;
import com.google.firebase.inject.Provider;
import com.google.firebase.internal.DataCollectionConfigStorage;
import com.google.firebase.tracing.ComponentMonitor;
import com.google.firebase.tracing.FirebaseTrace;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.Executor;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import o.VMo;
import o.nyh;
/* loaded from: classes.dex */
public class FirebaseApp {
private final Context applicationContext;
private final ComponentRuntime componentRuntime;
private final Lazy<DataCollectionConfigStorage> dataCollectionConfigStorage;
private final Provider<DefaultHeartBeatController> defaultHeartBeatController;
private final String name;
private final FirebaseOptions options;
private static final Object LOCK = new Object();
private static final Executor UI_EXECUTOR = new UiExecutor();
static final Map<String, FirebaseApp> INSTANCES = new nyh();
private final AtomicBoolean automaticResourceManagementEnabled = new AtomicBoolean(false);
private final AtomicBoolean deleted = new AtomicBoolean();
private final List<BackgroundStateChangeListener> backgroundStateChangeListeners = new CopyOnWriteArrayList();
private final List<FirebaseAppLifecycleListener> lifecycleListeners = new CopyOnWriteArrayList();
/* loaded from: classes.dex */
public interface BackgroundStateChangeListener {
void onBackgroundStateChanged(boolean z);
}
public Context getApplicationContext() {
checkNotDeleted();
return this.applicationContext;
}
public String getName() {
checkNotDeleted();
return this.name;
}
public FirebaseOptions getOptions() {
checkNotDeleted();
return this.options;
}
public boolean equals(Object obj) {
if (obj instanceof FirebaseApp) {
return this.name.equals(((FirebaseApp) obj).getName());
}
return false;
}
public int hashCode() {
return this.name.hashCode();
}
public String toString() {
return Objects.toStringHelper(this).add("name", this.name).add("options", this.options).toString();
}
public static FirebaseApp getInstance() {
FirebaseApp firebaseApp;
synchronized (LOCK) {
firebaseApp = INSTANCES.get("[DEFAULT]");
if (firebaseApp == null) {
StringBuilder sb = new StringBuilder("Default FirebaseApp is not initialized in this process ");
sb.append(ProcessUtils.getMyProcessName());
sb.append(". Make sure to call FirebaseApp.initializeApp(Context) first.");
throw new IllegalStateException(sb.toString());
}
}
return firebaseApp;
}
public static FirebaseApp getInstance(String str) {
FirebaseApp firebaseApp;
String obj;
synchronized (LOCK) {
firebaseApp = INSTANCES.get(normalize(str));
if (firebaseApp != null) {
firebaseApp.defaultHeartBeatController.get().registerHeartBeat();
} else {
List<String> allAppNames = getAllAppNames();
if (allAppNames.isEmpty()) {
obj = "";
} else {
StringBuilder sb = new StringBuilder("Available app names: ");
sb.append(TextUtils.join(", ", allAppNames));
obj = sb.toString();
}
throw new IllegalStateException(String.format("FirebaseApp with name %s doesn't exist. %s", str, obj));
}
}
return firebaseApp;
}
public static FirebaseApp initializeApp(Context context) {
synchronized (LOCK) {
if (INSTANCES.containsKey("[DEFAULT]")) {
return getInstance();
}
FirebaseOptions fromResource = FirebaseOptions.fromResource(context);
if (fromResource == null) {
return null;
}
return initializeApp(context, fromResource);
}
}
public static FirebaseApp initializeApp(Context context, FirebaseOptions firebaseOptions) {
return initializeApp(context, firebaseOptions, "[DEFAULT]");
}
public static FirebaseApp initializeApp(Context context, FirebaseOptions firebaseOptions, String str) {
FirebaseApp firebaseApp;
GlobalBackgroundStateListener.ensureBackgroundStateListenerRegistered(context);
String normalize = normalize(str);
if (context.getApplicationContext() != null) {
context = context.getApplicationContext();
}
synchronized (LOCK) {
Map<String, FirebaseApp> map = INSTANCES;
boolean containsKey = map.containsKey(normalize);
StringBuilder sb = new StringBuilder("FirebaseApp name ");
sb.append(normalize);
sb.append(" already exists!");
Preconditions.checkState(!containsKey, sb.toString());
Preconditions.checkNotNull(context, "Application context cannot be null.");
firebaseApp = new FirebaseApp(context, normalize, firebaseOptions);
map.put(normalize, firebaseApp);
}
firebaseApp.initializeAllApis();
return firebaseApp;
}
public <T> T get(Class<T> cls) {
checkNotDeleted();
return (T) this.componentRuntime.get(cls);
}
public boolean isDataCollectionDefaultEnabled() {
checkNotDeleted();
return this.dataCollectionConfigStorage.get().isEnabled();
}
protected FirebaseApp(final Context context, String str, FirebaseOptions firebaseOptions) {
this.applicationContext = (Context) Preconditions.checkNotNull(context);
this.name = Preconditions.checkNotEmpty(str);
this.options = (FirebaseOptions) Preconditions.checkNotNull(firebaseOptions);
FirebaseTrace.pushTrace("Firebase");
FirebaseTrace.pushTrace("ComponentDiscovery");
List<Provider<ComponentRegistrar>> discoverLazy = ComponentDiscovery.forContext(context, ComponentDiscoveryService.class).discoverLazy();
FirebaseTrace.popTrace();
FirebaseTrace.pushTrace("Runtime");
ComponentRuntime build = ComponentRuntime.builder(UI_EXECUTOR).addLazyComponentRegistrars(discoverLazy).addComponentRegistrar(new FirebaseCommonRegistrar()).addComponent(Component.of(context, Context.class, new Class[0])).addComponent(Component.of(this, FirebaseApp.class, new Class[0])).addComponent(Component.of(firebaseOptions, FirebaseOptions.class, new Class[0])).setProcessor(new ComponentMonitor()).build();
this.componentRuntime = build;
FirebaseTrace.popTrace();
this.dataCollectionConfigStorage = new Lazy<>(new Provider(this, context) { // from class: com.google.firebase.FirebaseApp$$ExternalSyntheticLambda0
public final FirebaseApp f$0;
public final Context f$1;
@Override // com.google.firebase.inject.Provider
public final Object get() {
return this.f$0.m165lambda$new$0$comgooglefirebaseFirebaseApp(this.f$1);
}
{
this.f$0 = this;
this.f$1 = context;
}
});
this.defaultHeartBeatController = build.getProvider(DefaultHeartBeatController.class);
addBackgroundStateChangeListener(new BackgroundStateChangeListener(this) { // from class: com.google.firebase.FirebaseApp$$ExternalSyntheticLambda1
public final FirebaseApp f$0;
@Override // com.google.firebase.FirebaseApp.BackgroundStateChangeListener
public final void onBackgroundStateChanged(boolean z) {
this.f$0.m166lambda$new$1$comgooglefirebaseFirebaseApp(z);
}
{
this.f$0 = this;
}
});
FirebaseTrace.popTrace();
}
/* JADX INFO: Access modifiers changed from: package-private */
/* renamed from: lambda$new$0$com-google-firebase-FirebaseApp, reason: not valid java name */
public /* synthetic */ DataCollectionConfigStorage m165lambda$new$0$comgooglefirebaseFirebaseApp(Context context) {
return new DataCollectionConfigStorage(context, getPersistenceKey(), (Publisher) this.componentRuntime.get(Publisher.class));
}
/* JADX INFO: Access modifiers changed from: package-private */
/* renamed from: lambda$new$1$com-google-firebase-FirebaseApp, reason: not valid java name */
public /* synthetic */ void m166lambda$new$1$comgooglefirebaseFirebaseApp(boolean z) {
if (z) {
return;
}
this.defaultHeartBeatController.get().registerHeartBeat();
}
private void checkNotDeleted() {
Preconditions.checkState(!this.deleted.get(), "FirebaseApp was deleted");
}
public boolean isDefaultApp() {
return "[DEFAULT]".equals(getName());
}
/* JADX INFO: Access modifiers changed from: private */
public void notifyBackgroundStateChangeListeners(boolean z) {
Iterator<BackgroundStateChangeListener> it = this.backgroundStateChangeListeners.iterator();
while (it.hasNext()) {
it.next().onBackgroundStateChanged(z);
}
}
public void addBackgroundStateChangeListener(BackgroundStateChangeListener backgroundStateChangeListener) {
checkNotDeleted();
if (this.automaticResourceManagementEnabled.get() && BackgroundDetector.getInstance().isInBackground()) {
backgroundStateChangeListener.onBackgroundStateChanged(true);
}
this.backgroundStateChangeListeners.add(backgroundStateChangeListener);
}
public String getPersistenceKey() {
StringBuilder sb = new StringBuilder();
sb.append(Base64Utils.encodeUrlSafeNoPadding(getName().getBytes(Charset.defaultCharset())));
sb.append("+");
sb.append(Base64Utils.encodeUrlSafeNoPadding(getOptions().getApplicationId().getBytes(Charset.defaultCharset())));
return sb.toString();
}
public void addLifecycleEventListener(FirebaseAppLifecycleListener firebaseAppLifecycleListener) {
checkNotDeleted();
Preconditions.checkNotNull(firebaseAppLifecycleListener);
this.lifecycleListeners.add(firebaseAppLifecycleListener);
}
private static List<String> getAllAppNames() {
ArrayList arrayList = new ArrayList();
synchronized (LOCK) {
Iterator<FirebaseApp> it = INSTANCES.values().iterator();
while (it.hasNext()) {
arrayList.add(it.next().getName());
}
}
Collections.sort(arrayList);
return arrayList;
}
/* JADX INFO: Access modifiers changed from: private */
public void initializeAllApis() {
if (!VMo.d(this.applicationContext)) {
getName();
UserUnlockReceiver.ensureReceiverRegistered(this.applicationContext);
} else {
getName();
this.componentRuntime.initializeEagerComponents(isDefaultApp());
this.defaultHeartBeatController.get().registerHeartBeat();
}
}
private static String normalize(String str) {
return str.trim();
}
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes.dex */
public static class UserUnlockReceiver extends BroadcastReceiver {
private static AtomicReference<UserUnlockReceiver> INSTANCE = new AtomicReference<>();
private final Context applicationContext;
public UserUnlockReceiver(Context context) {
this.applicationContext = context;
}
/* JADX INFO: Access modifiers changed from: private */
public static void ensureReceiverRegistered(Context context) {
if (INSTANCE.get() == null) {
UserUnlockReceiver userUnlockReceiver = new UserUnlockReceiver(context);
AtomicReference<UserUnlockReceiver> atomicReference = INSTANCE;
while (!atomicReference.compareAndSet(null, userUnlockReceiver)) {
if (atomicReference.get() != null) {
return;
}
}
context.registerReceiver(userUnlockReceiver, new IntentFilter("android.intent.action.USER_UNLOCKED"));
}
}
@Override // android.content.BroadcastReceiver
public void onReceive(Context context, Intent intent) {
synchronized (FirebaseApp.LOCK) {
Iterator<FirebaseApp> it = FirebaseApp.INSTANCES.values().iterator();
while (it.hasNext()) {
it.next().initializeAllApis();
}
}
unregister();
}
public void unregister() {
this.applicationContext.unregisterReceiver(this);
}
}
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes.dex */
public static class GlobalBackgroundStateListener implements BackgroundDetector.BackgroundStateChangeListener {
private static AtomicReference<GlobalBackgroundStateListener> INSTANCE = new AtomicReference<>();
private GlobalBackgroundStateListener() {
}
/* JADX INFO: Access modifiers changed from: private */
public static void ensureBackgroundStateListenerRegistered(Context context) {
if (PlatformVersion.isAtLeastIceCreamSandwich() && (context.getApplicationContext() instanceof Application)) {
Application application = (Application) context.getApplicationContext();
if (INSTANCE.get() == null) {
GlobalBackgroundStateListener globalBackgroundStateListener = new GlobalBackgroundStateListener();
AtomicReference<GlobalBackgroundStateListener> atomicReference = INSTANCE;
while (!atomicReference.compareAndSet(null, globalBackgroundStateListener)) {
if (atomicReference.get() != null) {
return;
}
}
BackgroundDetector.initialize(application);
BackgroundDetector.getInstance().addListener(globalBackgroundStateListener);
}
}
}
@Override // com.google.android.gms.common.api.internal.BackgroundDetector.BackgroundStateChangeListener
public void onBackgroundStateChanged(boolean z) {
synchronized (FirebaseApp.LOCK) {
Iterator it = new ArrayList(FirebaseApp.INSTANCES.values()).iterator();
while (it.hasNext()) {
FirebaseApp firebaseApp = (FirebaseApp) it.next();
if (firebaseApp.automaticResourceManagementEnabled.get()) {
firebaseApp.notifyBackgroundStateChangeListeners(z);
}
}
}
}
}
/* loaded from: classes.dex */
static class UiExecutor implements Executor {
private static final Handler HANDLER = new Handler(Looper.getMainLooper());
private UiExecutor() {
}
@Override // java.util.concurrent.Executor
public void execute(Runnable runnable) {
HANDLER.post(runnable);
}
}
}