373 lines
16 KiB
Java
373 lines
16 KiB
Java
|
package com.google.android.gms.common.api;
|
||
|
|
||
|
import android.accounts.Account;
|
||
|
import android.app.Activity;
|
||
|
import android.content.Context;
|
||
|
import android.os.Handler;
|
||
|
import android.os.Looper;
|
||
|
import android.view.View;
|
||
|
import androidx.fragment.app.FragmentActivity;
|
||
|
import com.google.android.gms.common.ConnectionResult;
|
||
|
import com.google.android.gms.common.GoogleApiAvailability;
|
||
|
import com.google.android.gms.common.api.Api;
|
||
|
import com.google.android.gms.common.api.internal.BaseImplementation;
|
||
|
import com.google.android.gms.common.api.internal.LifecycleActivity;
|
||
|
import com.google.android.gms.common.api.internal.ListenerHolder;
|
||
|
import com.google.android.gms.common.api.internal.SignInConnectionListener;
|
||
|
import com.google.android.gms.common.api.internal.zabe;
|
||
|
import com.google.android.gms.common.api.internal.zada;
|
||
|
import com.google.android.gms.common.api.internal.zak;
|
||
|
import com.google.android.gms.common.api.internal.zat;
|
||
|
import com.google.android.gms.common.internal.ClientSettings;
|
||
|
import com.google.android.gms.common.internal.Preconditions;
|
||
|
import com.google.android.gms.signin.SignInOptions;
|
||
|
import java.io.FileDescriptor;
|
||
|
import java.io.PrintWriter;
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.Collections;
|
||
|
import java.util.HashSet;
|
||
|
import java.util.List;
|
||
|
import java.util.Map;
|
||
|
import java.util.Set;
|
||
|
import java.util.WeakHashMap;
|
||
|
import java.util.concurrent.TimeUnit;
|
||
|
import java.util.concurrent.locks.ReentrantLock;
|
||
|
import o.nyh;
|
||
|
|
||
|
@Deprecated
|
||
|
/* loaded from: classes.dex */
|
||
|
public abstract class GoogleApiClient {
|
||
|
public static final String DEFAULT_ACCOUNT = "<<default account>>";
|
||
|
public static final int SIGN_IN_MODE_OPTIONAL = 2;
|
||
|
public static final int SIGN_IN_MODE_REQUIRED = 1;
|
||
|
private static final Set<GoogleApiClient> zaa = Collections.newSetFromMap(new WeakHashMap());
|
||
|
|
||
|
@Deprecated
|
||
|
/* loaded from: classes.dex */
|
||
|
public interface ConnectionCallbacks extends com.google.android.gms.common.api.internal.ConnectionCallbacks {
|
||
|
public static final int CAUSE_NETWORK_LOST = 2;
|
||
|
public static final int CAUSE_SERVICE_DISCONNECTED = 1;
|
||
|
}
|
||
|
|
||
|
@Deprecated
|
||
|
/* loaded from: classes.dex */
|
||
|
public interface OnConnectionFailedListener extends com.google.android.gms.common.api.internal.OnConnectionFailedListener {
|
||
|
}
|
||
|
|
||
|
public static void dumpAll(String str, FileDescriptor fileDescriptor, PrintWriter printWriter, String[] strArr) {
|
||
|
Set<GoogleApiClient> set = zaa;
|
||
|
synchronized (set) {
|
||
|
String concat = String.valueOf(str).concat(" ");
|
||
|
int i = 0;
|
||
|
for (GoogleApiClient googleApiClient : set) {
|
||
|
printWriter.append((CharSequence) str).append("GoogleApiClient#").println(i);
|
||
|
googleApiClient.dump(concat, fileDescriptor, printWriter, strArr);
|
||
|
i++;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public static Set<GoogleApiClient> getAllClients() {
|
||
|
Set<GoogleApiClient> set = zaa;
|
||
|
synchronized (set) {
|
||
|
}
|
||
|
return set;
|
||
|
}
|
||
|
|
||
|
public abstract ConnectionResult blockingConnect();
|
||
|
|
||
|
public abstract ConnectionResult blockingConnect(long j, TimeUnit timeUnit);
|
||
|
|
||
|
public abstract PendingResult<Status> clearDefaultAccountAndReconnect();
|
||
|
|
||
|
public abstract void connect();
|
||
|
|
||
|
public void connect(int i) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public abstract void disconnect();
|
||
|
|
||
|
public abstract void dump(String str, FileDescriptor fileDescriptor, PrintWriter printWriter, String[] strArr);
|
||
|
|
||
|
public <A extends Api.AnyClient, R extends Result, T extends BaseImplementation.ApiMethodImpl<R, A>> T enqueue(T t) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public <A extends Api.AnyClient, T extends BaseImplementation.ApiMethodImpl<? extends Result, A>> T execute(T t) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public <C extends Api.Client> C getClient(Api.AnyClientKey<C> anyClientKey) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public abstract ConnectionResult getConnectionResult(Api<?> api);
|
||
|
|
||
|
public Context getContext() {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public Looper getLooper() {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public boolean hasApi(Api<?> api) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public abstract boolean hasConnectedApi(Api<?> api);
|
||
|
|
||
|
public abstract boolean isConnected();
|
||
|
|
||
|
public abstract boolean isConnecting();
|
||
|
|
||
|
public abstract boolean isConnectionCallbacksRegistered(ConnectionCallbacks connectionCallbacks);
|
||
|
|
||
|
public abstract boolean isConnectionFailedListenerRegistered(OnConnectionFailedListener onConnectionFailedListener);
|
||
|
|
||
|
public boolean maybeSignIn(SignInConnectionListener signInConnectionListener) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public void maybeSignOut() {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public abstract void reconnect();
|
||
|
|
||
|
public abstract void registerConnectionCallbacks(ConnectionCallbacks connectionCallbacks);
|
||
|
|
||
|
public abstract void registerConnectionFailedListener(OnConnectionFailedListener onConnectionFailedListener);
|
||
|
|
||
|
public <L> ListenerHolder<L> registerListener(L l) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public abstract void stopAutoManage(FragmentActivity fragmentActivity);
|
||
|
|
||
|
public abstract void unregisterConnectionCallbacks(ConnectionCallbacks connectionCallbacks);
|
||
|
|
||
|
public abstract void unregisterConnectionFailedListener(OnConnectionFailedListener onConnectionFailedListener);
|
||
|
|
||
|
public void zao(zada zadaVar) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
public void zap(zada zadaVar) {
|
||
|
throw new UnsupportedOperationException();
|
||
|
}
|
||
|
|
||
|
@Deprecated
|
||
|
/* loaded from: classes.dex */
|
||
|
public static final class Builder {
|
||
|
private Account zaa;
|
||
|
private final Set<Scope> zab;
|
||
|
private final Set<Scope> zac;
|
||
|
private int zad;
|
||
|
private View zae;
|
||
|
private String zaf;
|
||
|
private String zag;
|
||
|
private final Map<Api<?>, com.google.android.gms.common.internal.zab> zah;
|
||
|
private final Context zai;
|
||
|
private final Map<Api<?>, Api.ApiOptions> zaj;
|
||
|
private LifecycleActivity zak;
|
||
|
private int zal;
|
||
|
private OnConnectionFailedListener zam;
|
||
|
private Looper zan;
|
||
|
private GoogleApiAvailability zao;
|
||
|
private Api.AbstractClientBuilder<? extends com.google.android.gms.signin.zae, SignInOptions> zap;
|
||
|
private final ArrayList<ConnectionCallbacks> zaq;
|
||
|
private final ArrayList<OnConnectionFailedListener> zar;
|
||
|
|
||
|
public Builder(Context context) {
|
||
|
this.zab = new HashSet();
|
||
|
this.zac = new HashSet();
|
||
|
this.zah = new nyh();
|
||
|
this.zaj = new nyh();
|
||
|
this.zal = -1;
|
||
|
this.zao = GoogleApiAvailability.getInstance();
|
||
|
this.zap = com.google.android.gms.signin.zad.zac;
|
||
|
this.zaq = new ArrayList<>();
|
||
|
this.zar = new ArrayList<>();
|
||
|
this.zai = context;
|
||
|
this.zan = context.getMainLooper();
|
||
|
this.zaf = context.getPackageName();
|
||
|
this.zag = context.getClass().getName();
|
||
|
}
|
||
|
|
||
|
private final <O extends Api.ApiOptions> void zab(Api<O> api, O o2, Scope... scopeArr) {
|
||
|
HashSet hashSet = new HashSet(((Api.BaseClientBuilder) Preconditions.checkNotNull(api.zac(), "Base client builder must not be null")).getImpliedScopes(o2));
|
||
|
for (Scope scope : scopeArr) {
|
||
|
hashSet.add(scope);
|
||
|
}
|
||
|
this.zah.put(api, new com.google.android.gms.common.internal.zab(hashSet));
|
||
|
}
|
||
|
|
||
|
public final Builder addApi(Api<? extends Api.ApiOptions.NotRequiredOptions> api) {
|
||
|
Preconditions.checkNotNull(api, "Api must not be null");
|
||
|
this.zaj.put(api, null);
|
||
|
List<Scope> impliedScopes = ((Api.BaseClientBuilder) Preconditions.checkNotNull(api.zac(), "Base client builder must not be null")).getImpliedScopes(null);
|
||
|
this.zac.addAll(impliedScopes);
|
||
|
this.zab.addAll(impliedScopes);
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final <O extends Api.ApiOptions.HasOptions> Builder addApiIfAvailable(Api<O> api, O o2, Scope... scopeArr) {
|
||
|
Preconditions.checkNotNull(api, "Api must not be null");
|
||
|
Preconditions.checkNotNull(o2, "Null options are not permitted for this Api");
|
||
|
this.zaj.put(api, o2);
|
||
|
zab(api, o2, scopeArr);
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final Builder addConnectionCallbacks(ConnectionCallbacks connectionCallbacks) {
|
||
|
Preconditions.checkNotNull(connectionCallbacks, "Listener must not be null");
|
||
|
this.zaq.add(connectionCallbacks);
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final Builder addOnConnectionFailedListener(OnConnectionFailedListener onConnectionFailedListener) {
|
||
|
Preconditions.checkNotNull(onConnectionFailedListener, "Listener must not be null");
|
||
|
this.zar.add(onConnectionFailedListener);
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final Builder addScope(Scope scope) {
|
||
|
Preconditions.checkNotNull(scope, "Scope must not be null");
|
||
|
this.zab.add(scope);
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final GoogleApiClient build() {
|
||
|
Preconditions.checkArgument(!this.zaj.isEmpty(), "must call addApi() to add at least one API");
|
||
|
ClientSettings zaa = zaa();
|
||
|
Map<Api<?>, com.google.android.gms.common.internal.zab> zad = zaa.zad();
|
||
|
nyh nyhVar = new nyh();
|
||
|
nyh nyhVar2 = new nyh();
|
||
|
ArrayList arrayList = new ArrayList();
|
||
|
Api<?> api = null;
|
||
|
boolean z = false;
|
||
|
for (Api<?> api2 : this.zaj.keySet()) {
|
||
|
Api.ApiOptions apiOptions = this.zaj.get(api2);
|
||
|
boolean z2 = zad.get(api2) != null;
|
||
|
nyhVar.put(api2, Boolean.valueOf(z2));
|
||
|
zat zatVar = new zat(api2, z2);
|
||
|
arrayList.add(zatVar);
|
||
|
Api.AbstractClientBuilder abstractClientBuilder = (Api.AbstractClientBuilder) Preconditions.checkNotNull(api2.zaa());
|
||
|
Api.Client buildClient = abstractClientBuilder.buildClient(this.zai, this.zan, zaa, (ClientSettings) apiOptions, (ConnectionCallbacks) zatVar, (OnConnectionFailedListener) zatVar);
|
||
|
nyhVar2.put(api2.zab(), buildClient);
|
||
|
if (abstractClientBuilder.getPriority() == 1) {
|
||
|
z = apiOptions != null;
|
||
|
}
|
||
|
if (buildClient.providesSignIn()) {
|
||
|
if (api != null) {
|
||
|
String zad2 = api2.zad();
|
||
|
String zad3 = api.zad();
|
||
|
StringBuilder sb = new StringBuilder(String.valueOf(zad2).length() + 21 + String.valueOf(zad3).length());
|
||
|
sb.append(zad2);
|
||
|
sb.append(" cannot be used with ");
|
||
|
sb.append(zad3);
|
||
|
throw new IllegalStateException(sb.toString());
|
||
|
}
|
||
|
api = api2;
|
||
|
}
|
||
|
}
|
||
|
if (api != null) {
|
||
|
if (z) {
|
||
|
String zad4 = api.zad();
|
||
|
StringBuilder sb2 = new StringBuilder(String.valueOf(zad4).length() + 82);
|
||
|
sb2.append("With using ");
|
||
|
sb2.append(zad4);
|
||
|
sb2.append(", GamesOptions can only be specified within GoogleSignInOptions.Builder");
|
||
|
throw new IllegalStateException(sb2.toString());
|
||
|
}
|
||
|
Preconditions.checkState(this.zaa == null, "Must not set an account in GoogleApiClient.Builder when using %s. Set account in GoogleSignInOptions.Builder instead", api.zad());
|
||
|
Preconditions.checkState(this.zab.equals(this.zac), "Must not set scopes in GoogleApiClient.Builder when using %s. Set account in GoogleSignInOptions.Builder instead.", api.zad());
|
||
|
}
|
||
|
zabe zabeVar = new zabe(this.zai, new ReentrantLock(), this.zan, zaa, this.zao, this.zap, nyhVar, this.zaq, this.zar, nyhVar2, this.zal, zabe.zad(nyhVar2.values(), true), arrayList);
|
||
|
synchronized (GoogleApiClient.zaa) {
|
||
|
GoogleApiClient.zaa.add(zabeVar);
|
||
|
}
|
||
|
if (this.zal >= 0) {
|
||
|
zak.zaa(this.zak).zad(this.zal, zabeVar, this.zam);
|
||
|
}
|
||
|
return zabeVar;
|
||
|
}
|
||
|
|
||
|
public final Builder enableAutoManage(FragmentActivity fragmentActivity, int i, OnConnectionFailedListener onConnectionFailedListener) {
|
||
|
LifecycleActivity lifecycleActivity = new LifecycleActivity((Activity) fragmentActivity);
|
||
|
Preconditions.checkArgument(i >= 0, "clientId must be non-negative");
|
||
|
this.zal = i;
|
||
|
this.zam = onConnectionFailedListener;
|
||
|
this.zak = lifecycleActivity;
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final Builder setAccountName(String str) {
|
||
|
this.zaa = str == null ? null : new Account(str, "com.google");
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final Builder setHandler(Handler handler) {
|
||
|
Preconditions.checkNotNull(handler, "Handler must not be null");
|
||
|
this.zan = handler.getLooper();
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final Builder setViewForPopups(View view) {
|
||
|
Preconditions.checkNotNull(view, "View must not be null");
|
||
|
this.zae = view;
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final Builder useDefaultAccount() {
|
||
|
setAccountName("<<default account>>");
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final ClientSettings zaa() {
|
||
|
SignInOptions signInOptions = SignInOptions.zaa;
|
||
|
if (this.zaj.containsKey(com.google.android.gms.signin.zad.zag)) {
|
||
|
signInOptions = (SignInOptions) this.zaj.get(com.google.android.gms.signin.zad.zag);
|
||
|
}
|
||
|
return new ClientSettings(this.zaa, this.zab, this.zah, this.zad, this.zae, this.zaf, this.zag, signInOptions, false);
|
||
|
}
|
||
|
|
||
|
public final Builder enableAutoManage(FragmentActivity fragmentActivity, OnConnectionFailedListener onConnectionFailedListener) {
|
||
|
enableAutoManage(fragmentActivity, 0, onConnectionFailedListener);
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final <T extends Api.ApiOptions.NotRequiredOptions> Builder addApiIfAvailable(Api<? extends Api.ApiOptions.NotRequiredOptions> api, Scope... scopeArr) {
|
||
|
Preconditions.checkNotNull(api, "Api must not be null");
|
||
|
this.zaj.put(api, null);
|
||
|
zab(api, null, scopeArr);
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public final <O extends Api.ApiOptions.HasOptions> Builder addApi(Api<O> api, O o2) {
|
||
|
Preconditions.checkNotNull(api, "Api must not be null");
|
||
|
Preconditions.checkNotNull(o2, "Null options are not permitted for this Api");
|
||
|
this.zaj.put(api, o2);
|
||
|
List<Scope> impliedScopes = ((Api.BaseClientBuilder) Preconditions.checkNotNull(api.zac(), "Base client builder must not be null")).getImpliedScopes(o2);
|
||
|
this.zac.addAll(impliedScopes);
|
||
|
this.zab.addAll(impliedScopes);
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
public Builder(Context context, ConnectionCallbacks connectionCallbacks, OnConnectionFailedListener onConnectionFailedListener) {
|
||
|
this(context);
|
||
|
Preconditions.checkNotNull(connectionCallbacks, "Must provide a connected listener");
|
||
|
this.zaq.add(connectionCallbacks);
|
||
|
Preconditions.checkNotNull(onConnectionFailedListener, "Must provide a connection failed listener");
|
||
|
this.zar.add(onConnectionFailedListener);
|
||
|
}
|
||
|
|
||
|
public final Builder setGravityForPopups(int i) {
|
||
|
this.zad = i;
|
||
|
return this;
|
||
|
}
|
||
|
}
|
||
|
}
|