- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
810 lines
27 KiB
Java
810 lines
27 KiB
Java
package com.google.android.gms.common.internal;
|
|
|
|
import android.accounts.Account;
|
|
import android.app.PendingIntent;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.os.DeadObjectException;
|
|
import android.os.Handler;
|
|
import android.os.IBinder;
|
|
import android.os.IInterface;
|
|
import android.os.Looper;
|
|
import android.os.RemoteException;
|
|
import android.text.TextUtils;
|
|
import android.util.Log;
|
|
import androidx.annotation.CallSuper;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.VisibleForTesting;
|
|
import androidx.annotation.WorkerThread;
|
|
import com.google.android.gms.common.ConnectionResult;
|
|
import com.google.android.gms.common.Feature;
|
|
import com.google.android.gms.common.GoogleApiAvailabilityLight;
|
|
import com.google.android.gms.common.annotation.KeepForSdk;
|
|
import com.google.android.gms.common.api.CommonStatusCodes;
|
|
import com.google.android.gms.common.api.Scope;
|
|
import java.io.FileDescriptor;
|
|
import java.io.PrintWriter;
|
|
import java.text.SimpleDateFormat;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
import java.util.Locale;
|
|
import java.util.Set;
|
|
import java.util.concurrent.Executor;
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
|
@KeepForSdk
|
|
/* loaded from: classes2.dex */
|
|
public abstract class BaseGmsClient<T extends IInterface> {
|
|
|
|
@KeepForSdk
|
|
public static final int CONNECT_STATE_CONNECTED = 4;
|
|
|
|
@KeepForSdk
|
|
public static final int CONNECT_STATE_DISCONNECTED = 1;
|
|
|
|
@KeepForSdk
|
|
public static final int CONNECT_STATE_DISCONNECTING = 5;
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public static final String DEFAULT_ACCOUNT = "<<default account>>";
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public static final String KEY_PENDING_INTENT = "pendingIntent";
|
|
|
|
@Nullable
|
|
private volatile String zzA;
|
|
|
|
@Nullable
|
|
private ConnectionResult zzB;
|
|
private boolean zzC;
|
|
|
|
@Nullable
|
|
private volatile zzk zzD;
|
|
|
|
@VisibleForTesting
|
|
zzv zza;
|
|
final Handler zzb;
|
|
|
|
@NonNull
|
|
@VisibleForTesting
|
|
protected ConnectionProgressReportCallbacks zzc;
|
|
|
|
@NonNull
|
|
@VisibleForTesting
|
|
protected AtomicInteger zzd;
|
|
private int zzf;
|
|
private long zzg;
|
|
private long zzh;
|
|
private int zzi;
|
|
private long zzj;
|
|
|
|
@Nullable
|
|
private volatile String zzk;
|
|
private final Context zzl;
|
|
private final Looper zzm;
|
|
private final GmsClientSupervisor zzn;
|
|
private final GoogleApiAvailabilityLight zzo;
|
|
private final Object zzp;
|
|
private final Object zzq;
|
|
|
|
@Nullable
|
|
private IGmsServiceBroker zzr;
|
|
|
|
@Nullable
|
|
private IInterface zzs;
|
|
private final ArrayList zzt;
|
|
|
|
@Nullable
|
|
private zze zzu;
|
|
private int zzv;
|
|
|
|
@Nullable
|
|
private final BaseConnectionCallbacks zzw;
|
|
|
|
@Nullable
|
|
private final BaseOnConnectionFailedListener zzx;
|
|
private final int zzy;
|
|
|
|
@Nullable
|
|
private final String zzz;
|
|
private static final Feature[] zze = new Feature[0];
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public static final String[] GOOGLE_PLUS_REQUIRED_FEATURES = {"service_esmobile", "service_googleme"};
|
|
|
|
@KeepForSdk
|
|
public interface BaseConnectionCallbacks {
|
|
|
|
@KeepForSdk
|
|
public static final int CAUSE_DEAD_OBJECT_EXCEPTION = 3;
|
|
|
|
@KeepForSdk
|
|
public static final int CAUSE_SERVICE_DISCONNECTED = 1;
|
|
|
|
@KeepForSdk
|
|
void onConnected(@Nullable Bundle bundle);
|
|
|
|
@KeepForSdk
|
|
void onConnectionSuspended(int i);
|
|
}
|
|
|
|
@KeepForSdk
|
|
public interface BaseOnConnectionFailedListener {
|
|
@KeepForSdk
|
|
void onConnectionFailed(@NonNull ConnectionResult connectionResult);
|
|
}
|
|
|
|
@KeepForSdk
|
|
public interface ConnectionProgressReportCallbacks {
|
|
@KeepForSdk
|
|
void onReportServiceBinding(@NonNull ConnectionResult connectionResult);
|
|
}
|
|
|
|
public class LegacyClientCallbackAdapter implements ConnectionProgressReportCallbacks {
|
|
@KeepForSdk
|
|
public LegacyClientCallbackAdapter() {
|
|
}
|
|
|
|
@Override // com.google.android.gms.common.internal.BaseGmsClient.ConnectionProgressReportCallbacks
|
|
public final void onReportServiceBinding(@NonNull ConnectionResult connectionResult) {
|
|
if (connectionResult.isSuccess()) {
|
|
BaseGmsClient baseGmsClient = BaseGmsClient.this;
|
|
baseGmsClient.getRemoteService(null, baseGmsClient.getScopes());
|
|
} else if (BaseGmsClient.this.zzx != null) {
|
|
BaseGmsClient.this.zzx.onConnectionFailed(connectionResult);
|
|
}
|
|
}
|
|
}
|
|
|
|
@KeepForSdk
|
|
public interface SignOutCallbacks {
|
|
@KeepForSdk
|
|
void onSignOutComplete();
|
|
}
|
|
|
|
@KeepForSdk
|
|
@VisibleForTesting
|
|
public BaseGmsClient(@NonNull Context context, @NonNull Handler handler, @NonNull GmsClientSupervisor gmsClientSupervisor, @NonNull GoogleApiAvailabilityLight googleApiAvailabilityLight, int i, @Nullable BaseConnectionCallbacks baseConnectionCallbacks, @Nullable BaseOnConnectionFailedListener baseOnConnectionFailedListener) {
|
|
this.zzk = null;
|
|
this.zzp = new Object();
|
|
this.zzq = new Object();
|
|
this.zzt = new ArrayList();
|
|
this.zzv = 1;
|
|
this.zzB = null;
|
|
this.zzC = false;
|
|
this.zzD = null;
|
|
this.zzd = new AtomicInteger(0);
|
|
Preconditions.checkNotNull(context, "Context must not be null");
|
|
this.zzl = context;
|
|
Preconditions.checkNotNull(handler, "Handler must not be null");
|
|
this.zzb = handler;
|
|
this.zzm = handler.getLooper();
|
|
Preconditions.checkNotNull(gmsClientSupervisor, "Supervisor must not be null");
|
|
this.zzn = gmsClientSupervisor;
|
|
Preconditions.checkNotNull(googleApiAvailabilityLight, "API availability must not be null");
|
|
this.zzo = googleApiAvailabilityLight;
|
|
this.zzy = i;
|
|
this.zzw = baseConnectionCallbacks;
|
|
this.zzx = baseOnConnectionFailedListener;
|
|
this.zzz = null;
|
|
}
|
|
|
|
public static /* bridge */ /* synthetic */ void zzj(BaseGmsClient baseGmsClient, zzk zzkVar) {
|
|
baseGmsClient.zzD = zzkVar;
|
|
if (baseGmsClient.usesClientTelemetry()) {
|
|
ConnectionTelemetryConfiguration connectionTelemetryConfiguration = zzkVar.zzd;
|
|
RootTelemetryConfigManager.getInstance().zza(connectionTelemetryConfiguration == null ? null : connectionTelemetryConfiguration.zza());
|
|
}
|
|
}
|
|
|
|
public static /* bridge */ /* synthetic */ void zzk(BaseGmsClient baseGmsClient, int i) {
|
|
int i2;
|
|
int i3;
|
|
synchronized (baseGmsClient.zzp) {
|
|
i2 = baseGmsClient.zzv;
|
|
}
|
|
if (i2 == 3) {
|
|
baseGmsClient.zzC = true;
|
|
i3 = 5;
|
|
} else {
|
|
i3 = 4;
|
|
}
|
|
Handler handler = baseGmsClient.zzb;
|
|
handler.sendMessage(handler.obtainMessage(i3, baseGmsClient.zzd.get(), 16));
|
|
}
|
|
|
|
public static /* bridge */ /* synthetic */ boolean zzn(BaseGmsClient baseGmsClient, int i, int i2, IInterface iInterface) {
|
|
synchronized (baseGmsClient.zzp) {
|
|
try {
|
|
if (baseGmsClient.zzv != i) {
|
|
return false;
|
|
}
|
|
baseGmsClient.zzp(i2, iInterface);
|
|
return true;
|
|
} finally {
|
|
}
|
|
}
|
|
}
|
|
|
|
public static /* bridge */ /* synthetic */ boolean zzo(BaseGmsClient baseGmsClient) {
|
|
if (baseGmsClient.zzC || TextUtils.isEmpty(baseGmsClient.getServiceDescriptor()) || TextUtils.isEmpty(baseGmsClient.getLocalStartServiceAction())) {
|
|
return false;
|
|
}
|
|
try {
|
|
Class.forName(baseGmsClient.getServiceDescriptor());
|
|
return true;
|
|
} catch (ClassNotFoundException unused) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
public final void zzp(int i, @Nullable IInterface iInterface) {
|
|
zzv zzvVar;
|
|
Preconditions.checkArgument((i == 4) == (iInterface != 0));
|
|
synchronized (this.zzp) {
|
|
try {
|
|
this.zzv = i;
|
|
this.zzs = iInterface;
|
|
if (i == 1) {
|
|
zze zzeVar = this.zzu;
|
|
if (zzeVar != null) {
|
|
GmsClientSupervisor gmsClientSupervisor = this.zzn;
|
|
String zzb = this.zza.zzb();
|
|
Preconditions.checkNotNull(zzb);
|
|
gmsClientSupervisor.zzb(zzb, this.zza.zza(), 4225, zzeVar, zze(), this.zza.zzc());
|
|
this.zzu = null;
|
|
}
|
|
} else if (i == 2 || i == 3) {
|
|
zze zzeVar2 = this.zzu;
|
|
if (zzeVar2 != null && (zzvVar = this.zza) != null) {
|
|
Log.e("GmsClient", "Calling connect() while still connected, missing disconnect() for " + zzvVar.zzb() + " on " + zzvVar.zza());
|
|
GmsClientSupervisor gmsClientSupervisor2 = this.zzn;
|
|
String zzb2 = this.zza.zzb();
|
|
Preconditions.checkNotNull(zzb2);
|
|
gmsClientSupervisor2.zzb(zzb2, this.zza.zza(), 4225, zzeVar2, zze(), this.zza.zzc());
|
|
this.zzd.incrementAndGet();
|
|
}
|
|
zze zzeVar3 = new zze(this, this.zzd.get());
|
|
this.zzu = zzeVar3;
|
|
zzv zzvVar2 = (this.zzv != 3 || getLocalStartServiceAction() == null) ? new zzv(getStartServicePackage(), getStartServiceAction(), false, 4225, getUseDynamicLookup()) : new zzv(getContext().getPackageName(), getLocalStartServiceAction(), true, 4225, false);
|
|
this.zza = zzvVar2;
|
|
if (zzvVar2.zzc() && getMinApkVersion() < 17895000) {
|
|
throw new IllegalStateException("Internal Error, the minimum apk version of this BaseGmsClient is too low to support dynamic lookup. Start service action: ".concat(String.valueOf(this.zza.zzb())));
|
|
}
|
|
GmsClientSupervisor gmsClientSupervisor3 = this.zzn;
|
|
String zzb3 = this.zza.zzb();
|
|
Preconditions.checkNotNull(zzb3);
|
|
if (!gmsClientSupervisor3.zzc(new zzo(zzb3, this.zza.zza(), 4225, this.zza.zzc()), zzeVar3, zze(), getBindServiceExecutor())) {
|
|
Log.w("GmsClient", "unable to connect to service: " + this.zza.zzb() + " on " + this.zza.zza());
|
|
zzl(16, null, this.zzd.get());
|
|
}
|
|
} else if (i == 4) {
|
|
Preconditions.checkNotNull(iInterface);
|
|
onConnectedLocked(iInterface);
|
|
}
|
|
} finally {
|
|
}
|
|
}
|
|
}
|
|
|
|
@KeepForSdk
|
|
public void checkAvailabilityAndConnect() {
|
|
int isGooglePlayServicesAvailable = this.zzo.isGooglePlayServicesAvailable(this.zzl, getMinApkVersion());
|
|
if (isGooglePlayServicesAvailable == 0) {
|
|
connect(new LegacyClientCallbackAdapter());
|
|
} else {
|
|
zzp(1, null);
|
|
triggerNotAvailable(new LegacyClientCallbackAdapter(), isGooglePlayServicesAvailable, null);
|
|
}
|
|
}
|
|
|
|
@KeepForSdk
|
|
public final void checkConnected() {
|
|
if (!isConnected()) {
|
|
throw new IllegalStateException("Not connected. Call connect() and wait for onConnected() to be called.");
|
|
}
|
|
}
|
|
|
|
@KeepForSdk
|
|
public void connect(@NonNull ConnectionProgressReportCallbacks connectionProgressReportCallbacks) {
|
|
Preconditions.checkNotNull(connectionProgressReportCallbacks, "Connection progress callbacks cannot be null.");
|
|
this.zzc = connectionProgressReportCallbacks;
|
|
zzp(2, null);
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public abstract T createServiceInterface(@NonNull IBinder iBinder);
|
|
|
|
@KeepForSdk
|
|
public void disconnect() {
|
|
this.zzd.incrementAndGet();
|
|
synchronized (this.zzt) {
|
|
try {
|
|
int size = this.zzt.size();
|
|
for (int i = 0; i < size; i++) {
|
|
((zzc) this.zzt.get(i)).zzf();
|
|
}
|
|
this.zzt.clear();
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
synchronized (this.zzq) {
|
|
this.zzr = null;
|
|
}
|
|
zzp(1, null);
|
|
}
|
|
|
|
@KeepForSdk
|
|
public void dump(@NonNull String str, @NonNull FileDescriptor fileDescriptor, @NonNull PrintWriter printWriter, @NonNull String[] strArr) {
|
|
int i;
|
|
IInterface iInterface;
|
|
IGmsServiceBroker iGmsServiceBroker;
|
|
synchronized (this.zzp) {
|
|
i = this.zzv;
|
|
iInterface = this.zzs;
|
|
}
|
|
synchronized (this.zzq) {
|
|
iGmsServiceBroker = this.zzr;
|
|
}
|
|
printWriter.append((CharSequence) str).append("mConnectState=");
|
|
if (i == 1) {
|
|
printWriter.print("DISCONNECTED");
|
|
} else if (i == 2) {
|
|
printWriter.print("REMOTE_CONNECTING");
|
|
} else if (i == 3) {
|
|
printWriter.print("LOCAL_CONNECTING");
|
|
} else if (i == 4) {
|
|
printWriter.print("CONNECTED");
|
|
} else if (i != 5) {
|
|
printWriter.print("UNKNOWN");
|
|
} else {
|
|
printWriter.print("DISCONNECTING");
|
|
}
|
|
printWriter.append(" mService=");
|
|
if (iInterface == null) {
|
|
printWriter.append("null");
|
|
} else {
|
|
printWriter.append((CharSequence) getServiceDescriptor()).append("@").append((CharSequence) Integer.toHexString(System.identityHashCode(iInterface.asBinder())));
|
|
}
|
|
printWriter.append(" mServiceBroker=");
|
|
if (iGmsServiceBroker == null) {
|
|
printWriter.println("null");
|
|
} else {
|
|
printWriter.append("IGmsServiceBroker@").println(Integer.toHexString(System.identityHashCode(iGmsServiceBroker.asBinder())));
|
|
}
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US);
|
|
if (this.zzh > 0) {
|
|
PrintWriter append = printWriter.append((CharSequence) str).append("lastConnectedTime=");
|
|
long j = this.zzh;
|
|
append.println(j + " " + simpleDateFormat.format(new Date(j)));
|
|
}
|
|
if (this.zzg > 0) {
|
|
printWriter.append((CharSequence) str).append("lastSuspendedCause=");
|
|
int i2 = this.zzf;
|
|
if (i2 == 1) {
|
|
printWriter.append("CAUSE_SERVICE_DISCONNECTED");
|
|
} else if (i2 == 2) {
|
|
printWriter.append("CAUSE_NETWORK_LOST");
|
|
} else if (i2 != 3) {
|
|
printWriter.append((CharSequence) String.valueOf(i2));
|
|
} else {
|
|
printWriter.append("CAUSE_DEAD_OBJECT_EXCEPTION");
|
|
}
|
|
PrintWriter append2 = printWriter.append(" lastSuspendedTime=");
|
|
long j2 = this.zzg;
|
|
append2.println(j2 + " " + simpleDateFormat.format(new Date(j2)));
|
|
}
|
|
if (this.zzj > 0) {
|
|
printWriter.append((CharSequence) str).append("lastFailedStatus=").append((CharSequence) CommonStatusCodes.getStatusCodeString(this.zzi));
|
|
PrintWriter append3 = printWriter.append(" lastFailedTime=");
|
|
long j3 = this.zzj;
|
|
append3.println(j3 + " " + simpleDateFormat.format(new Date(j3)));
|
|
}
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean enableLocalFallback() {
|
|
return false;
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public Account getAccount() {
|
|
return null;
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public Feature[] getApiFeatures() {
|
|
return zze;
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public final Feature[] getAvailableFeatures() {
|
|
zzk zzkVar = this.zzD;
|
|
if (zzkVar == null) {
|
|
return null;
|
|
}
|
|
return zzkVar.zzb;
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public Executor getBindServiceExecutor() {
|
|
return null;
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public Bundle getConnectionHint() {
|
|
return null;
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public final Context getContext() {
|
|
return this.zzl;
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public String getEndpointPackageName() {
|
|
zzv zzvVar;
|
|
if (!isConnected() || (zzvVar = this.zza) == null) {
|
|
throw new RuntimeException("Failed to connect when checking package");
|
|
}
|
|
return zzvVar.zza();
|
|
}
|
|
|
|
@KeepForSdk
|
|
public int getGCoreServiceId() {
|
|
return this.zzy;
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public Bundle getGetServiceRequestExtraArgs() {
|
|
return new Bundle();
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public String getLastDisconnectMessage() {
|
|
return this.zzk;
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public String getLocalStartServiceAction() {
|
|
return null;
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public final Looper getLooper() {
|
|
return this.zzm;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public int getMinApkVersion() {
|
|
return GoogleApiAvailabilityLight.GOOGLE_PLAY_SERVICES_VERSION_CODE;
|
|
}
|
|
|
|
@KeepForSdk
|
|
@WorkerThread
|
|
public void getRemoteService(@Nullable IAccountAccessor iAccountAccessor, @NonNull Set<Scope> set) {
|
|
Bundle getServiceRequestExtraArgs = getGetServiceRequestExtraArgs();
|
|
String str = this.zzA;
|
|
int i = GoogleApiAvailabilityLight.GOOGLE_PLAY_SERVICES_VERSION_CODE;
|
|
Scope[] scopeArr = GetServiceRequest.zza;
|
|
Bundle bundle = new Bundle();
|
|
int i2 = this.zzy;
|
|
Feature[] featureArr = GetServiceRequest.zzb;
|
|
GetServiceRequest getServiceRequest = new GetServiceRequest(6, i2, i, null, null, scopeArr, bundle, null, featureArr, featureArr, true, 0, false, str);
|
|
getServiceRequest.zzf = this.zzl.getPackageName();
|
|
getServiceRequest.zzi = getServiceRequestExtraArgs;
|
|
if (set != null) {
|
|
getServiceRequest.zzh = (Scope[]) set.toArray(new Scope[0]);
|
|
}
|
|
if (requiresSignIn()) {
|
|
Account account = getAccount();
|
|
if (account == null) {
|
|
account = new Account("<<default account>>", "com.google");
|
|
}
|
|
getServiceRequest.zzj = account;
|
|
if (iAccountAccessor != null) {
|
|
getServiceRequest.zzg = iAccountAccessor.asBinder();
|
|
}
|
|
} else if (requiresAccount()) {
|
|
getServiceRequest.zzj = getAccount();
|
|
}
|
|
getServiceRequest.zzk = zze;
|
|
getServiceRequest.zzl = getApiFeatures();
|
|
if (usesClientTelemetry()) {
|
|
getServiceRequest.zzo = true;
|
|
}
|
|
try {
|
|
synchronized (this.zzq) {
|
|
try {
|
|
IGmsServiceBroker iGmsServiceBroker = this.zzr;
|
|
if (iGmsServiceBroker != null) {
|
|
iGmsServiceBroker.getService(new zzd(this, this.zzd.get()), getServiceRequest);
|
|
} else {
|
|
Log.w("GmsClient", "mServiceBroker is null, client disconnected");
|
|
}
|
|
} finally {
|
|
}
|
|
}
|
|
} catch (DeadObjectException e) {
|
|
Log.w("GmsClient", "IGmsServiceBroker.getService failed", e);
|
|
triggerConnectionSuspended(3);
|
|
} catch (RemoteException e2) {
|
|
e = e2;
|
|
Log.w("GmsClient", "IGmsServiceBroker.getService failed", e);
|
|
onPostInitHandler(8, null, null, this.zzd.get());
|
|
} catch (SecurityException e3) {
|
|
throw e3;
|
|
} catch (RuntimeException e4) {
|
|
e = e4;
|
|
Log.w("GmsClient", "IGmsServiceBroker.getService failed", e);
|
|
onPostInitHandler(8, null, null, this.zzd.get());
|
|
}
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public Set<Scope> getScopes() {
|
|
return Collections.emptySet();
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public final T getService() throws DeadObjectException {
|
|
T t;
|
|
synchronized (this.zzp) {
|
|
try {
|
|
if (this.zzv == 5) {
|
|
throw new DeadObjectException();
|
|
}
|
|
checkConnected();
|
|
t = (T) this.zzs;
|
|
Preconditions.checkNotNull(t, "Client is connected but service is null");
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
return t;
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public abstract String getServiceDescriptor();
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public Intent getSignInIntent() {
|
|
throw new UnsupportedOperationException("Not a sign in API");
|
|
}
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public abstract String getStartServiceAction();
|
|
|
|
@NonNull
|
|
@KeepForSdk
|
|
public String getStartServicePackage() {
|
|
return "com.google.android.gms";
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public ConnectionTelemetryConfiguration getTelemetryConfiguration() {
|
|
zzk zzkVar = this.zzD;
|
|
if (zzkVar == null) {
|
|
return null;
|
|
}
|
|
return zzkVar.zzd;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean getUseDynamicLookup() {
|
|
return getMinApkVersion() >= 211700000;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean hasConnectionInfo() {
|
|
return this.zzD != null;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean isConnected() {
|
|
boolean z;
|
|
synchronized (this.zzp) {
|
|
z = this.zzv == 4;
|
|
}
|
|
return z;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean isConnecting() {
|
|
boolean z;
|
|
synchronized (this.zzp) {
|
|
int i = this.zzv;
|
|
z = true;
|
|
if (i != 2 && i != 3) {
|
|
z = false;
|
|
}
|
|
}
|
|
return z;
|
|
}
|
|
|
|
@KeepForSdk
|
|
@CallSuper
|
|
public void onConnectedLocked(@NonNull T t) {
|
|
this.zzh = System.currentTimeMillis();
|
|
}
|
|
|
|
@KeepForSdk
|
|
@CallSuper
|
|
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
|
|
this.zzi = connectionResult.getErrorCode();
|
|
this.zzj = System.currentTimeMillis();
|
|
}
|
|
|
|
@KeepForSdk
|
|
@CallSuper
|
|
public void onConnectionSuspended(int i) {
|
|
this.zzf = i;
|
|
this.zzg = System.currentTimeMillis();
|
|
}
|
|
|
|
@KeepForSdk
|
|
public void onPostInitHandler(int i, @Nullable IBinder iBinder, @Nullable Bundle bundle, int i2) {
|
|
this.zzb.sendMessage(this.zzb.obtainMessage(1, i2, -1, new zzf(this, i, iBinder, bundle)));
|
|
}
|
|
|
|
@KeepForSdk
|
|
public void onUserSignOut(@NonNull SignOutCallbacks signOutCallbacks) {
|
|
signOutCallbacks.onSignOutComplete();
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean providesSignIn() {
|
|
return false;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean requiresAccount() {
|
|
return false;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean requiresGooglePlayServices() {
|
|
return true;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean requiresSignIn() {
|
|
return false;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public void setAttributionTag(@NonNull String str) {
|
|
this.zzA = str;
|
|
}
|
|
|
|
@KeepForSdk
|
|
public void triggerConnectionSuspended(int i) {
|
|
this.zzb.sendMessage(this.zzb.obtainMessage(6, this.zzd.get(), i));
|
|
}
|
|
|
|
@KeepForSdk
|
|
@VisibleForTesting
|
|
public void triggerNotAvailable(@NonNull ConnectionProgressReportCallbacks connectionProgressReportCallbacks, int i, @Nullable PendingIntent pendingIntent) {
|
|
Preconditions.checkNotNull(connectionProgressReportCallbacks, "Connection progress callbacks cannot be null.");
|
|
this.zzc = connectionProgressReportCallbacks;
|
|
this.zzb.sendMessage(this.zzb.obtainMessage(3, this.zzd.get(), i, pendingIntent));
|
|
}
|
|
|
|
@KeepForSdk
|
|
public boolean usesClientTelemetry() {
|
|
return false;
|
|
}
|
|
|
|
@NonNull
|
|
public final String zze() {
|
|
String str = this.zzz;
|
|
return str == null ? this.zzl.getClass().getName() : str;
|
|
}
|
|
|
|
public final void zzl(int i, @Nullable Bundle bundle, int i2) {
|
|
this.zzb.sendMessage(this.zzb.obtainMessage(7, i2, -1, new zzg(this, i, null)));
|
|
}
|
|
|
|
@Nullable
|
|
@KeepForSdk
|
|
public IBinder getServiceBrokerBinder() {
|
|
synchronized (this.zzq) {
|
|
try {
|
|
IGmsServiceBroker iGmsServiceBroker = this.zzr;
|
|
if (iGmsServiceBroker == null) {
|
|
return null;
|
|
}
|
|
return iGmsServiceBroker.asBinder();
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* JADX WARN: Illegal instructions before constructor call */
|
|
@com.google.android.gms.common.annotation.KeepForSdk
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
public BaseGmsClient(@androidx.annotation.NonNull android.content.Context r10, @androidx.annotation.NonNull android.os.Looper r11, int r12, @androidx.annotation.Nullable com.google.android.gms.common.internal.BaseGmsClient.BaseConnectionCallbacks r13, @androidx.annotation.Nullable com.google.android.gms.common.internal.BaseGmsClient.BaseOnConnectionFailedListener r14, @androidx.annotation.Nullable java.lang.String r15) {
|
|
/*
|
|
r9 = this;
|
|
com.google.android.gms.common.internal.GmsClientSupervisor r3 = com.google.android.gms.common.internal.GmsClientSupervisor.getInstance(r10)
|
|
com.google.android.gms.common.GoogleApiAvailabilityLight r4 = com.google.android.gms.common.GoogleApiAvailabilityLight.getInstance()
|
|
com.google.android.gms.common.internal.Preconditions.checkNotNull(r13)
|
|
com.google.android.gms.common.internal.Preconditions.checkNotNull(r14)
|
|
r0 = r9
|
|
r1 = r10
|
|
r2 = r11
|
|
r5 = r12
|
|
r6 = r13
|
|
r7 = r14
|
|
r8 = r15
|
|
r0.<init>(r1, r2, r3, r4, r5, r6, r7, r8)
|
|
return
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.common.internal.BaseGmsClient.<init>(android.content.Context, android.os.Looper, int, com.google.android.gms.common.internal.BaseGmsClient$BaseConnectionCallbacks, com.google.android.gms.common.internal.BaseGmsClient$BaseOnConnectionFailedListener, java.lang.String):void");
|
|
}
|
|
|
|
@KeepForSdk
|
|
public void disconnect(@NonNull String str) {
|
|
this.zzk = str;
|
|
disconnect();
|
|
}
|
|
|
|
@KeepForSdk
|
|
@VisibleForTesting
|
|
public BaseGmsClient(@NonNull Context context, @NonNull Looper looper, @NonNull GmsClientSupervisor gmsClientSupervisor, @NonNull GoogleApiAvailabilityLight googleApiAvailabilityLight, int i, @Nullable BaseConnectionCallbacks baseConnectionCallbacks, @Nullable BaseOnConnectionFailedListener baseOnConnectionFailedListener, @Nullable String str) {
|
|
this.zzk = null;
|
|
this.zzp = new Object();
|
|
this.zzq = new Object();
|
|
this.zzt = new ArrayList();
|
|
this.zzv = 1;
|
|
this.zzB = null;
|
|
this.zzC = false;
|
|
this.zzD = null;
|
|
this.zzd = new AtomicInteger(0);
|
|
Preconditions.checkNotNull(context, "Context must not be null");
|
|
this.zzl = context;
|
|
Preconditions.checkNotNull(looper, "Looper must not be null");
|
|
this.zzm = looper;
|
|
Preconditions.checkNotNull(gmsClientSupervisor, "Supervisor must not be null");
|
|
this.zzn = gmsClientSupervisor;
|
|
Preconditions.checkNotNull(googleApiAvailabilityLight, "API availability must not be null");
|
|
this.zzo = googleApiAvailabilityLight;
|
|
this.zzb = new zzb(this, looper);
|
|
this.zzy = i;
|
|
this.zzw = baseConnectionCallbacks;
|
|
this.zzx = baseOnConnectionFailedListener;
|
|
this.zzz = str;
|
|
}
|
|
}
|