what-the-bank/sources/com/google/firebase/firestore/remote/GrpcCallProvider.java

229 lines
10 KiB
Java
Raw Permalink Normal View History

2024-07-27 18:17:47 +07:00
package com.google.firebase.firestore.remote;
import android.content.Context;
import com.google.android.gms.common.GooglePlayServicesNotAvailableException;
import com.google.android.gms.common.GooglePlayServicesRepairableException;
import com.google.android.gms.security.ProviderInstaller;
import com.google.android.gms.tasks.Continuation;
import com.google.android.gms.tasks.Task;
import com.google.android.gms.tasks.Tasks;
import com.google.firebase.firestore.core.DatabaseInfo;
import com.google.firebase.firestore.util.AsyncQueue;
import com.google.firebase.firestore.util.Executors;
import com.google.firebase.firestore.util.Logger;
import com.google.firebase.firestore.util.Supplier;
import io.grpc.CallCredentials;
import io.grpc.CallOptions;
import io.grpc.ClientCall;
import io.grpc.ConnectivityState;
import io.grpc.ManagedChannel;
import io.grpc.ManagedChannelBuilder;
import io.grpc.MethodDescriptor;
import io.grpc.android.AndroidChannelBuilder;
import java.util.concurrent.Callable;
import java.util.concurrent.TimeUnit;
import o.GMq;
/* loaded from: classes2.dex */
public class GrpcCallProvider {
private static Supplier<ManagedChannelBuilder<?>> overrideChannelBuilderSupplier;
private final AsyncQueue asyncQueue;
private CallOptions callOptions;
private Task<ManagedChannel> channelTask;
private AsyncQueue.DelayedTask connectivityAttemptTimer;
private final Context context;
private final DatabaseInfo databaseInfo;
private final CallCredentials firestoreHeaders;
/* JADX INFO: Access modifiers changed from: package-private */
public GrpcCallProvider(AsyncQueue asyncQueue, Context context, DatabaseInfo databaseInfo, CallCredentials callCredentials) {
this.asyncQueue = asyncQueue;
this.context = context;
this.databaseInfo = databaseInfo;
this.firestoreHeaders = callCredentials;
initChannelTask();
}
private ManagedChannel initChannel(Context context, DatabaseInfo databaseInfo) {
ManagedChannelBuilder<?> managedChannelBuilder;
try {
ProviderInstaller.installIfNeeded(context);
} catch (GooglePlayServicesNotAvailableException | GooglePlayServicesRepairableException | IllegalStateException e) {
Logger.warn("GrpcCallProvider", "Failed to update ssl context: %s", e);
}
Supplier<ManagedChannelBuilder<?>> supplier = overrideChannelBuilderSupplier;
if (supplier != null) {
managedChannelBuilder = supplier.get();
} else {
ManagedChannelBuilder<?> forTarget = ManagedChannelBuilder.forTarget(databaseInfo.getHost());
if (!databaseInfo.isSslEnabled()) {
forTarget.usePlaintext();
}
managedChannelBuilder = forTarget;
}
managedChannelBuilder.keepAliveTime(30L, TimeUnit.SECONDS);
return AndroidChannelBuilder.usingBuilder(managedChannelBuilder).context(context).build();
}
/* JADX INFO: Access modifiers changed from: package-private */
public <ReqT, RespT> Task<ClientCall<ReqT, RespT>> createClientCall(final MethodDescriptor<ReqT, RespT> methodDescriptor) {
return (Task<ClientCall<ReqT, RespT>>) this.channelTask.continueWithTask(this.asyncQueue.getExecutor(), new Continuation(this, methodDescriptor) { // from class: com.google.firebase.firestore.remote.GrpcCallProvider$$ExternalSyntheticLambda6
public final GrpcCallProvider f$0;
public final MethodDescriptor f$1;
@Override // com.google.android.gms.tasks.Continuation
public final Object then(Task task) {
return this.f$0.m245x1673c39e(this.f$1, task);
}
{
this.f$0 = this;
this.f$1 = methodDescriptor;
}
});
}
/* JADX INFO: Access modifiers changed from: package-private */
/* renamed from: lambda$createClientCall$0$com-google-firebase-firestore-remote-GrpcCallProvider, reason: not valid java name */
public /* synthetic */ Task m245x1673c39e(MethodDescriptor methodDescriptor, Task task) throws Exception {
return Tasks.forResult(((ManagedChannel) task.getResult()).newCall(methodDescriptor, this.callOptions));
}
/* JADX INFO: Access modifiers changed from: private */
/* renamed from: onConnectivityStateChange, reason: merged with bridge method [inline-methods] and merged with bridge method [inline-methods] */
public void m249x2cfc29ec(final ManagedChannel managedChannel) {
ConnectivityState state = managedChannel.getState(true);
Logger.debug("GrpcCallProvider", "Current gRPC connectivity state: ".concat(String.valueOf(state)), new Object[0]);
clearConnectivityAttemptTimer();
if (state == ConnectivityState.CONNECTING) {
Logger.debug("GrpcCallProvider", "Setting the connectivityAttemptTimer", new Object[0]);
this.connectivityAttemptTimer = this.asyncQueue.enqueueAfterDelay(AsyncQueue.TimerId.CONNECTIVITY_ATTEMPT_TIMER, 15000L, new Runnable(this, managedChannel) { // from class: com.google.firebase.firestore.remote.GrpcCallProvider$$ExternalSyntheticLambda3
public final GrpcCallProvider f$0;
public final ManagedChannel f$1;
@Override // java.lang.Runnable
public final void run() {
this.f$0.m248x3a7d4ab(this.f$1);
}
{
this.f$0 = this;
this.f$1 = managedChannel;
}
});
}
managedChannel.notifyWhenStateChanged(state, new Runnable(this, managedChannel) { // from class: com.google.firebase.firestore.remote.GrpcCallProvider$$ExternalSyntheticLambda4
public final GrpcCallProvider f$0;
public final ManagedChannel f$1;
@Override // java.lang.Runnable
public final void run() {
this.f$0.m250x56507f2d(this.f$1);
}
{
this.f$0 = this;
this.f$1 = managedChannel;
}
});
}
/* JADX INFO: Access modifiers changed from: package-private */
/* renamed from: lambda$onConnectivityStateChange$1$com-google-firebase-firestore-remote-GrpcCallProvider, reason: not valid java name */
public /* synthetic */ void m248x3a7d4ab(ManagedChannel managedChannel) {
Logger.debug("GrpcCallProvider", "connectivityAttemptTimer elapsed. Resetting the channel.", new Object[0]);
clearConnectivityAttemptTimer();
resetChannel(managedChannel);
}
/* JADX INFO: Access modifiers changed from: package-private */
/* renamed from: lambda$onConnectivityStateChange$3$com-google-firebase-firestore-remote-GrpcCallProvider, reason: not valid java name */
public /* synthetic */ void m250x56507f2d(final ManagedChannel managedChannel) {
this.asyncQueue.enqueueAndForget(new Runnable(this, managedChannel) { // from class: com.google.firebase.firestore.remote.GrpcCallProvider$$ExternalSyntheticLambda5
public final GrpcCallProvider f$0;
public final ManagedChannel f$1;
@Override // java.lang.Runnable
public final void run() {
this.f$0.m249x2cfc29ec(this.f$1);
}
{
this.f$0 = this;
this.f$1 = managedChannel;
}
});
}
private void resetChannel(final ManagedChannel managedChannel) {
this.asyncQueue.enqueueAndForget(new Runnable(this, managedChannel) { // from class: com.google.firebase.firestore.remote.GrpcCallProvider$$ExternalSyntheticLambda0
public final GrpcCallProvider f$0;
public final ManagedChannel f$1;
@Override // java.lang.Runnable
public final void run() {
this.f$0.m251xfb8fbff1(this.f$1);
}
{
this.f$0 = this;
this.f$1 = managedChannel;
}
});
}
/* JADX INFO: Access modifiers changed from: package-private */
/* renamed from: lambda$resetChannel$4$com-google-firebase-firestore-remote-GrpcCallProvider, reason: not valid java name */
public /* synthetic */ void m251xfb8fbff1(ManagedChannel managedChannel) {
managedChannel.shutdownNow();
initChannelTask();
}
private void initChannelTask() {
this.channelTask = Tasks.call(Executors.BACKGROUND_EXECUTOR, new Callable(this) { // from class: com.google.firebase.firestore.remote.GrpcCallProvider$$ExternalSyntheticLambda1
public final GrpcCallProvider f$0;
@Override // java.util.concurrent.Callable
public final Object call() {
return this.f$0.m247xa80a811d();
}
{
this.f$0 = this;
}
});
}
/* JADX INFO: Access modifiers changed from: package-private */
/* JADX WARN: Multi-variable type inference failed */
/* renamed from: lambda$initChannelTask$6$com-google-firebase-firestore-remote-GrpcCallProvider, reason: not valid java name */
public /* synthetic */ ManagedChannel m247xa80a811d() throws Exception {
final ManagedChannel initChannel = initChannel(this.context, this.databaseInfo);
this.asyncQueue.enqueueAndForget(new Runnable(this, initChannel) { // from class: com.google.firebase.firestore.remote.GrpcCallProvider$$ExternalSyntheticLambda2
public final GrpcCallProvider f$0;
public final ManagedChannel f$1;
@Override // java.lang.Runnable
public final void run() {
this.f$0.m246x7eb62bdc(this.f$1);
}
{
this.f$0 = this;
this.f$1 = initChannel;
}
});
this.callOptions = ((GMq.RVV) ((GMq.RVV) GMq.e(initChannel).withCallCredentials(this.firestoreHeaders)).withExecutor(this.asyncQueue.getExecutor())).getCallOptions();
Logger.debug("GrpcCallProvider", "Channel successfully reset.", new Object[0]);
return initChannel;
}
private void clearConnectivityAttemptTimer() {
if (this.connectivityAttemptTimer != null) {
Logger.debug("GrpcCallProvider", "Clearing the connectivityAttemptTimer", new Object[0]);
this.connectivityAttemptTimer.cancel();
this.connectivityAttemptTimer = null;
}
}
}