package com.google.android.gms.common.api.internal; import android.app.Application; import android.content.Context; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; import androidx.collection.ArraySet; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.GoogleApiAvailability; import com.google.android.gms.common.api.GoogleApi; import com.google.android.gms.common.api.Status; import com.google.android.gms.common.api.internal.BaseImplementation; import com.google.android.gms.common.api.internal.ListenerHolder; import com.google.android.gms.common.internal.GmsClientSupervisor; import com.google.android.gms.common.internal.MethodInvocation; import com.google.android.gms.common.internal.Preconditions; import com.google.android.gms.common.internal.RootTelemetryConfigManager; import com.google.android.gms.common.internal.RootTelemetryConfiguration; import com.google.android.gms.common.internal.TelemetryData; import com.google.android.gms.common.internal.TelemetryLogging; import com.google.android.gms.common.internal.TelemetryLoggingClient; import com.google.android.gms.common.util.DeviceProperties; import com.google.android.gms.location.DeviceOrientationRequest; import com.google.android.gms.tasks.Task; import com.google.android.gms.tasks.TaskCompletionSource; import com.google.errorprone.annotations.ResultIgnorabilityUnspecified; import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executor; import java.util.concurrent.atomic.AtomicInteger; import org.checkerframework.checker.initialization.qual.NotOnlyInitialized; /* JADX INFO: compiled from: com.google.android.gms:play-services-base@@18.4.0 */ /* JADX INFO: loaded from: classes2.dex */ public class GoogleApiManager implements Handler.Callback { public static final Status zaa = new Status(4, "Sign-out occurred while this API call was in progress."); private static final Status zab = new Status(4, "The user must be signed in to make this API call."); private static final Object zac = new Object(); private static GoogleApiManager zad; private TelemetryData zag; private TelemetryLoggingClient zah; private final Context zai; private final GoogleApiAvailability zaj; private final com.google.android.gms.common.internal.zal zak; @NotOnlyInitialized private final Handler zar; private volatile boolean zas; private long zae = DeviceOrientationRequest.OUTPUT_PERIOD_MEDIUM; private boolean zaf = false; private final AtomicInteger zal = new AtomicInteger(1); private final AtomicInteger zam = new AtomicInteger(0); private final Map zan = new ConcurrentHashMap(5, 0.75f, 1); private zaae zao = null; private final Set zap = new ArraySet(); private final Set zaq = new ArraySet(); private GoogleApiManager(Context context, Looper looper, GoogleApiAvailability googleApiAvailability) { this.zas = true; this.zai = context; com.google.android.gms.internal.base.zau zauVar = new com.google.android.gms.internal.base.zau(looper, this); this.zar = zauVar; this.zaj = googleApiAvailability; this.zak = new com.google.android.gms.common.internal.zal(googleApiAvailability); if (DeviceProperties.isAuto(context)) { this.zas = false; } zauVar.sendMessage(zauVar.obtainMessage(6)); } public static void reportSignOut() { synchronized (zac) { GoogleApiManager googleApiManager = zad; if (googleApiManager != null) { googleApiManager.zam.incrementAndGet(); Handler handler = googleApiManager.zar; handler.sendMessageAtFrontOfQueue(handler.obtainMessage(10)); } } } /* JADX INFO: Access modifiers changed from: private */ public static Status zaF(ApiKey apiKey, ConnectionResult connectionResult) { return new Status(connectionResult, "API: " + apiKey.zaa() + " is not available on this device. Connection failed with: " + String.valueOf(connectionResult)); } @ResultIgnorabilityUnspecified private final zabq zaG(GoogleApi googleApi) { Map map = this.zan; ApiKey apiKey = googleApi.getApiKey(); zabq zabqVar = (zabq) map.get(apiKey); if (zabqVar == null) { zabqVar = new zabq(this, googleApi); this.zan.put(apiKey, zabqVar); } if (zabqVar.zaA()) { this.zaq.add(apiKey); } zabqVar.zao(); return zabqVar; } private final TelemetryLoggingClient zaH() { if (this.zah == null) { this.zah = TelemetryLogging.getClient(this.zai); } return this.zah; } private final void zaI() { TelemetryData telemetryData = this.zag; if (telemetryData != null) { if (telemetryData.zaa() > 0 || zaD()) { zaH().log(telemetryData); } this.zag = null; } } private final void zaJ(TaskCompletionSource taskCompletionSource, int i, GoogleApi googleApi) { zacd zacdVarZaa; if (i == 0 || (zacdVarZaa = zacd.zaa(this, i, googleApi.getApiKey())) == null) { return; } Task task = taskCompletionSource.getTask(); final Handler handler = this.zar; handler.getClass(); task.addOnCompleteListener(new Executor() { // from class: com.google.android.gms.common.api.internal.zabk @Override // java.util.concurrent.Executor public final void execute(Runnable runnable) { handler.post(runnable); } }, zacdVarZaa); } public static GoogleApiManager zaj() { GoogleApiManager googleApiManager; synchronized (zac) { Preconditions.checkNotNull(zad, "Must guarantee manager is non-null before using getInstance"); googleApiManager = zad; } return googleApiManager; } @ResultIgnorabilityUnspecified public static GoogleApiManager zak(Context context) { GoogleApiManager googleApiManager; synchronized (zac) { if (zad == null) { zad = new GoogleApiManager(context.getApplicationContext(), GmsClientSupervisor.getOrStartHandlerThread().getLooper(), GoogleApiAvailability.getInstance()); } googleApiManager = zad; } return googleApiManager; } @Override // android.os.Handler.Callback public final boolean handleMessage(Message message) { zabq zabqVar = null; switch (message.what) { case 1: this.zae = true == ((Boolean) message.obj).booleanValue() ? DeviceOrientationRequest.OUTPUT_PERIOD_MEDIUM : 300000L; this.zar.removeMessages(12); for (ApiKey apiKey : this.zan.keySet()) { Handler handler = this.zar; handler.sendMessageDelayed(handler.obtainMessage(12, apiKey), this.zae); } return true; case 2: zal zalVar = (zal) message.obj; Iterator it = zalVar.zab().iterator(); while (true) { if (it.hasNext()) { ApiKey apiKey2 = (ApiKey) it.next(); zabq zabqVar2 = (zabq) this.zan.get(apiKey2); if (zabqVar2 == null) { zalVar.zac(apiKey2, new ConnectionResult(13), null); } else if (zabqVar2.zaz()) { zalVar.zac(apiKey2, ConnectionResult.RESULT_SUCCESS, zabqVar2.zaf().getEndpointPackageName()); } else { ConnectionResult connectionResultZad = zabqVar2.zad(); if (connectionResultZad != null) { zalVar.zac(apiKey2, connectionResultZad, null); } else { zabqVar2.zat(zalVar); zabqVar2.zao(); } } } } return true; case 3: for (zabq zabqVar3 : this.zan.values()) { zabqVar3.zan(); zabqVar3.zao(); } return true; case 4: case 8: case 13: zach zachVar = (zach) message.obj; zabq zabqVarZaG = (zabq) this.zan.get(zachVar.zac.getApiKey()); if (zabqVarZaG == null) { zabqVarZaG = zaG(zachVar.zac); } if (!zabqVarZaG.zaA() || this.zam.get() == zachVar.zab) { zabqVarZaG.zap(zachVar.zaa); } else { zachVar.zaa.zad(zaa); zabqVarZaG.zav(); } return true; case 5: int i = message.arg1; ConnectionResult connectionResult = (ConnectionResult) message.obj; Iterator it2 = this.zan.values().iterator(); while (true) { if (it2.hasNext()) { zabq zabqVar4 = (zabq) it2.next(); if (zabqVar4.zab() == i) { zabqVar = zabqVar4; } } } if (zabqVar == null) { Log.wtf("GoogleApiManager", "Could not find API instance " + i + " while trying to fail enqueued calls.", new Exception()); } else if (connectionResult.getErrorCode() == 13) { zabqVar.zaE(new Status(17, "Error resolution was canceled by the user, original error message: " + this.zaj.getErrorString(connectionResult.getErrorCode()) + ": " + connectionResult.getErrorMessage())); } else { zabqVar.zaE(zaF(zabqVar.zad, connectionResult)); } return true; case 6: if (this.zai.getApplicationContext() instanceof Application) { BackgroundDetector.initialize((Application) this.zai.getApplicationContext()); BackgroundDetector.getInstance().addListener(new zabl(this)); if (!BackgroundDetector.getInstance().readCurrentStateIfPossible(true)) { this.zae = 300000L; } } return true; case 7: zaG((GoogleApi) message.obj); return true; case 9: if (this.zan.containsKey(message.obj)) { ((zabq) this.zan.get(message.obj)).zau(); } return true; case 10: Iterator it3 = this.zaq.iterator(); while (it3.hasNext()) { zabq zabqVar5 = (zabq) this.zan.remove((ApiKey) it3.next()); if (zabqVar5 != null) { zabqVar5.zav(); } } this.zaq.clear(); return true; case 11: if (this.zan.containsKey(message.obj)) { ((zabq) this.zan.get(message.obj)).zaw(); } return true; case 12: if (this.zan.containsKey(message.obj)) { ((zabq) this.zan.get(message.obj)).zaB(); } return true; case 14: zaaf zaafVar = (zaaf) message.obj; ApiKey apiKeyZaa = zaafVar.zaa(); if (this.zan.containsKey(apiKeyZaa)) { zaafVar.zab().setResult(Boolean.valueOf(((zabq) this.zan.get(apiKeyZaa)).zaO(false))); } else { zaafVar.zab().setResult(false); } return true; case 15: zabs zabsVar = (zabs) message.obj; if (this.zan.containsKey(zabsVar.zaa)) { zabq.zal((zabq) this.zan.get(zabsVar.zaa), zabsVar); } return true; case 16: zabs zabsVar2 = (zabs) message.obj; if (this.zan.containsKey(zabsVar2.zaa)) { zabq.zam((zabq) this.zan.get(zabsVar2.zaa), zabsVar2); } return true; case 17: zaI(); return true; case 18: zace zaceVar = (zace) message.obj; if (zaceVar.zac == 0) { zaH().log(new TelemetryData(zaceVar.zab, Arrays.asList(zaceVar.zaa))); } else { TelemetryData telemetryData = this.zag; if (telemetryData != null) { List listZab = telemetryData.zab(); if (telemetryData.zaa() != zaceVar.zab || (listZab != null && listZab.size() >= zaceVar.zad)) { this.zar.removeMessages(17); zaI(); } else { this.zag.zac(zaceVar.zaa); } } if (this.zag == null) { ArrayList arrayList = new ArrayList(); arrayList.add(zaceVar.zaa); this.zag = new TelemetryData(zaceVar.zab, arrayList); Handler handler2 = this.zar; handler2.sendMessageDelayed(handler2.obtainMessage(17), zaceVar.zac); } } return true; case 19: this.zaf = false; return true; default: Log.w("GoogleApiManager", "Unknown message id: " + message.what); return false; } } public final void zaA(zaae zaaeVar) { synchronized (zac) { if (this.zao != zaaeVar) { this.zao = zaaeVar; this.zap.clear(); } this.zap.addAll(zaaeVar.zaa()); } } final void zaB(zaae zaaeVar) { synchronized (zac) { if (this.zao == zaaeVar) { this.zao = null; this.zap.clear(); } } } final boolean zaD() { if (this.zaf) { return false; } RootTelemetryConfiguration config = RootTelemetryConfigManager.getInstance().getConfig(); if (config != null && !config.getMethodInvocationTelemetryEnabled()) { return false; } int iZaa = this.zak.zaa(this.zai, 203400000); return iZaa == -1 || iZaa == 0; } @ResultIgnorabilityUnspecified final boolean zaE(ConnectionResult connectionResult, int i) { return this.zaj.zah(this.zai, connectionResult, i); } public final int zaa() { return this.zal.getAndIncrement(); } final zabq zai(ApiKey apiKey) { return (zabq) this.zan.get(apiKey); } public final Task zam(Iterable iterable) { zal zalVar = new zal(iterable); this.zar.sendMessage(this.zar.obtainMessage(2, zalVar)); return zalVar.zaa(); } @ResultIgnorabilityUnspecified public final Task zan(GoogleApi googleApi) { zaaf zaafVar = new zaaf(googleApi.getApiKey()); this.zar.sendMessage(this.zar.obtainMessage(14, zaafVar)); return zaafVar.zab().getTask(); } public final Task zao(GoogleApi googleApi, RegisterListenerMethod registerListenerMethod, UnregisterListenerMethod unregisterListenerMethod, Runnable runnable) { TaskCompletionSource taskCompletionSource = new TaskCompletionSource(); zaJ(taskCompletionSource, registerListenerMethod.zaa(), googleApi); this.zar.sendMessage(this.zar.obtainMessage(8, new zach(new zaf(new zaci(registerListenerMethod, unregisterListenerMethod, runnable), taskCompletionSource), this.zam.get(), googleApi))); return taskCompletionSource.getTask(); } public final Task zap(GoogleApi googleApi, ListenerHolder.ListenerKey listenerKey, int i) { TaskCompletionSource taskCompletionSource = new TaskCompletionSource(); zaJ(taskCompletionSource, i, googleApi); this.zar.sendMessage(this.zar.obtainMessage(13, new zach(new zah(listenerKey, taskCompletionSource), this.zam.get(), googleApi))); return taskCompletionSource.getTask(); } public final void zau(GoogleApi googleApi, int i, BaseImplementation.ApiMethodImpl apiMethodImpl) { this.zar.sendMessage(this.zar.obtainMessage(4, new zach(new zae(i, apiMethodImpl), this.zam.get(), googleApi))); } public final void zav(GoogleApi googleApi, int i, TaskApiCall taskApiCall, TaskCompletionSource taskCompletionSource, StatusExceptionMapper statusExceptionMapper) { zaJ(taskCompletionSource, taskApiCall.zaa(), googleApi); this.zar.sendMessage(this.zar.obtainMessage(4, new zach(new zag(i, taskApiCall, taskCompletionSource, statusExceptionMapper), this.zam.get(), googleApi))); } final void zaw(MethodInvocation methodInvocation, int i, long j, int i2) { this.zar.sendMessage(this.zar.obtainMessage(18, new zace(methodInvocation, i, j, i2))); } public final void zax(ConnectionResult connectionResult, int i) { if (zaE(connectionResult, i)) { return; } Handler handler = this.zar; handler.sendMessage(handler.obtainMessage(5, i, 0, connectionResult)); } public final void zay() { Handler handler = this.zar; handler.sendMessage(handler.obtainMessage(3)); } public final void zaz(GoogleApi googleApi) { Handler handler = this.zar; handler.sendMessage(handler.obtainMessage(7, googleApi)); } }