CrackMe.apk
Download file
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 com.google.android.gms.auth.api.signin.GoogleSignInAccount;
import com.google.android.gms.common.api.Api;
import com.google.android.gms.common.api.Api.ApiOptions;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.common.api.internal.ApiExceptionMapper;
import com.google.android.gms.common.api.internal.ApiKey;
import com.google.android.gms.common.api.internal.BaseImplementation;
import com.google.android.gms.common.api.internal.GoogleApiManager;
import com.google.android.gms.common.api.internal.ListenerHolder;
import com.google.android.gms.common.api.internal.ListenerHolders;
import com.google.android.gms.common.api.internal.NonGmsServiceBrokerClient;
import com.google.android.gms.common.api.internal.RegisterListenerMethod;
import com.google.android.gms.common.api.internal.RegistrationMethods;
import com.google.android.gms.common.api.internal.StatusExceptionMapper;
import com.google.android.gms.common.api.internal.TaskApiCall;
import com.google.android.gms.common.api.internal.UnregisterListenerMethod;
import com.google.android.gms.common.api.internal.zaae;
import com.google.android.gms.common.api.internal.zabq;
import com.google.android.gms.common.api.internal.zabv;
import com.google.android.gms.common.api.internal.zact;
import com.google.android.gms.common.internal.BaseGmsClient;
import com.google.android.gms.common.internal.ClientSettings;
import com.google.android.gms.common.internal.Objects;
import com.google.android.gms.common.internal.Preconditions;
import com.google.android.gms.common.util.PlatformVersion;
import com.google.android.gms.tasks.Task;
import com.google.android.gms.tasks.TaskCompletionSource;
import java.lang.reflect.InvocationTargetException;
import java.util.Collections;
import java.util.Set;
import org.checkerframework.checker.initialization.qual.NotOnlyInitialized;
/* compiled from: com.google.android.gms:play-services-base@@18.0.1 */
public abstract class GoogleApi<O extends Api.ApiOptions> implements HasApiKey<O> {
protected final GoogleApiManager zaa;
private final Context zab;
private final String zac;
private final Api<O> zad;
private final O zae;
private final ApiKey<O> zaf;
private final Looper zag;
private final int zah;
@NotOnlyInitialized
private final GoogleApiClient zai;
private final StatusExceptionMapper zaj;
/* compiled from: com.google.android.gms:play-services-base@@18.0.1 */
public static class Settings {
public static final Settings DEFAULT_SETTINGS = new Builder().build();
public final StatusExceptionMapper zaa;
public final Looper zab;
/* compiled from: com.google.android.gms:play-services-base@@18.0.1 */
public static class Builder {
private StatusExceptionMapper zaa;
private Looper zab;
public Settings build() {
if (this.zaa == null) {
this.zaa = new ApiExceptionMapper();
}
if (this.zab == null) {
this.zab = Looper.getMainLooper();
}
return new Settings(this.zaa, this.zab);
}
public Builder setLooper(Looper looper) {
Preconditions.checkNotNull(looper, "Looper must not be null.");
this.zab = looper;
return this;
}
public Builder setMapper(StatusExceptionMapper statusExceptionMapper) {
Preconditions.checkNotNull(statusExceptionMapper, "StatusExceptionMapper must not be null.");
this.zaa = statusExceptionMapper;
return this;
}
}
private Settings(StatusExceptionMapper statusExceptionMapper, Account account, Looper looper) {
this.zaa = statusExceptionMapper;
this.zab = looper;
}
}
public GoogleApi(Activity activity, Api<O> api, O o, Settings settings) {
this((Context) activity, activity, api, o, settings);
}
private final <A extends Api.AnyClient, T extends BaseImplementation.ApiMethodImpl<? extends Result, A>> T zad(int i, T t) {
t.zak();
this.zaa.zaw(this, i, t);
return t;
}
private final <TResult, A extends Api.AnyClient> Task<TResult> zae(int i, TaskApiCall<A, TResult> taskApiCall) {
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();
this.zaa.zax(this, i, taskApiCall, taskCompletionSource, this.zaj);
return taskCompletionSource.getTask();
}
public GoogleApiClient asGoogleApiClient() {
return this.zai;
}
/* access modifiers changed from: protected */
public ClientSettings.Builder createClientSettingsBuilder() {
Account account;
Set<Scope> set;
GoogleSignInAccount googleSignInAccount;
ClientSettings.Builder builder = new ClientSettings.Builder();
O o = this.zae;
if (!(o instanceof Api.ApiOptions.HasGoogleSignInAccountOptions) || (googleSignInAccount = ((Api.ApiOptions.HasGoogleSignInAccountOptions) o).getGoogleSignInAccount()) == null) {
O o2 = this.zae;
account = o2 instanceof Api.ApiOptions.HasAccountOptions ? ((Api.ApiOptions.HasAccountOptions) o2).getAccount() : null;
} else {
account = googleSignInAccount.getAccount();
}
builder.zab(account);
O o3 = this.zae;
if (o3 instanceof Api.ApiOptions.HasGoogleSignInAccountOptions) {
GoogleSignInAccount googleSignInAccount2 = ((Api.ApiOptions.HasGoogleSignInAccountOptions) o3).getGoogleSignInAccount();
if (googleSignInAccount2 == null) {
set = Collections.emptySet();
} else {
set = googleSignInAccount2.getRequestedScopes();
}
} else {
set = Collections.emptySet();
}
builder.zaa(set);
builder.zac(this.zab.getClass().getName());
builder.setRealClientPackageName(this.zab.getPackageName());
return builder;
}
/* access modifiers changed from: protected */
public Task<Boolean> disconnectService() {
return this.zaa.zap(this);
}
public <A extends Api.AnyClient, T extends BaseImplementation.ApiMethodImpl<? extends Result, A>> T doBestEffortWrite(T t) {
zad(2, t);
return t;
}
public <A extends Api.AnyClient, T extends BaseImplementation.ApiMethodImpl<? extends Result, A>> T doRead(T t) {
zad(0, t);
return t;
}
@Deprecated
public <A extends Api.AnyClient, T extends RegisterListenerMethod<A, ?>, U extends UnregisterListenerMethod<A, ?>> Task<Void> doRegisterEventListener(T t, U u) {
Preconditions.checkNotNull(t);
Preconditions.checkNotNull(u);
Preconditions.checkNotNull(t.getListenerKey(), "Listener has already been released.");
Preconditions.checkNotNull(u.getListenerKey(), "Listener has already been released.");
Preconditions.checkArgument(Objects.equal(t.getListenerKey(), u.getListenerKey()), "Listener registration and unregistration methods must be constructed with the same ListenerHolder.");
return this.zaa.zaq(this, t, u, zad.zaa);
}
public Task<Boolean> doUnregisterEventListener(ListenerHolder.ListenerKey<?> listenerKey) {
return doUnregisterEventListener(listenerKey, 0);
}
public <A extends Api.AnyClient, T extends BaseImplementation.ApiMethodImpl<? extends Result, A>> T doWrite(T t) {
zad(1, t);
return t;
}
public final ApiKey<O> getApiKey() {
return this.zaf;
}
public O getApiOptions() {
return this.zae;
}
public Context getApplicationContext() {
return this.zab;
}
/* access modifiers changed from: protected */
public String getContextAttributionTag() {
return this.zac;
}
/* access modifiers changed from: protected */
@Deprecated
public String getContextFeatureId() {
return this.zac;
}
public Looper getLooper() {
return this.zag;
}
public <L> ListenerHolder<L> registerListener(L l, String str) {
return ListenerHolders.createListenerHolder(l, this.zag, str);
}
public final int zaa() {
return this.zah;
}
public final Api.Client zab(Looper looper, zabq<O> zabq) {
Looper looper2 = looper;
Api.Client buildClient = ((Api.AbstractClientBuilder) Preconditions.checkNotNull(this.zad.zaa())).buildClient(this.zab, looper2, createClientSettingsBuilder().build(), this.zae, (GoogleApiClient.ConnectionCallbacks) zabq, (GoogleApiClient.OnConnectionFailedListener) zabq);
String contextAttributionTag = getContextAttributionTag();
if (contextAttributionTag != null && (buildClient instanceof BaseGmsClient)) {
((BaseGmsClient) buildClient).setAttributionTag(contextAttributionTag);
}
if (contextAttributionTag != null && (buildClient instanceof NonGmsServiceBrokerClient)) {
((NonGmsServiceBrokerClient) buildClient).zac(contextAttributionTag);
}
return buildClient;
}
public final zact zac(Context context, Handler handler) {
return new zact(context, handler, createClientSettingsBuilder().build());
}
/* JADX WARNING: Illegal instructions before constructor call */
@java.lang.Deprecated
/* Code decompiled incorrectly, please refer to instructions dump. */
public GoogleApi(android.app.Activity r2, com.google.android.gms.common.api.Api<O> r3, O r4, com.google.android.gms.common.api.internal.StatusExceptionMapper r5) {
/*
r1 = this;
com.google.android.gms.common.api.GoogleApi$Settings$Builder r0 = new com.google.android.gms.common.api.GoogleApi$Settings$Builder
r0.<init>()
r0.setMapper(r5)
android.os.Looper r5 = r2.getMainLooper()
r0.setLooper(r5)
com.google.android.gms.common.api.GoogleApi$Settings r5 = r0.build()
r1.<init>((android.app.Activity) r2, r3, r4, (com.google.android.gms.common.api.GoogleApi.Settings) r5)
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.common.api.GoogleApi.<init>(android.app.Activity, com.google.android.gms.common.api.Api, com.google.android.gms.common.api.Api$ApiOptions, com.google.android.gms.common.api.internal.StatusExceptionMapper):void");
}
public <TResult, A extends Api.AnyClient> Task<TResult> doBestEffortWrite(TaskApiCall<A, TResult> taskApiCall) {
return zae(2, taskApiCall);
}
public <TResult, A extends Api.AnyClient> Task<TResult> doRead(TaskApiCall<A, TResult> taskApiCall) {
return zae(0, taskApiCall);
}
public Task<Boolean> doUnregisterEventListener(ListenerHolder.ListenerKey<?> listenerKey, int i) {
Preconditions.checkNotNull(listenerKey, "Listener key cannot be null.");
return this.zaa.zar(this, listenerKey, i);
}
public <TResult, A extends Api.AnyClient> Task<TResult> doWrite(TaskApiCall<A, TResult> taskApiCall) {
return zae(1, taskApiCall);
}
private GoogleApi(Context context, Activity activity, Api<O> api, O o, Settings settings) {
Preconditions.checkNotNull(context, "Null context is not permitted.");
Preconditions.checkNotNull(api, "Api must not be null.");
Preconditions.checkNotNull(settings, "Settings must not be null; use Settings.DEFAULT_SETTINGS instead.");
this.zab = context.getApplicationContext();
String str = null;
if (PlatformVersion.isAtLeastR()) {
try {
str = (String) Context.class.getMethod("getAttributionTag", new Class[0]).invoke(context, new Object[0]);
} catch (IllegalAccessException | NoSuchMethodException | InvocationTargetException unused) {
}
}
this.zac = str;
this.zad = api;
this.zae = o;
this.zag = settings.zab;
ApiKey<O> zaa2 = ApiKey.zaa(api, o, str);
this.zaf = zaa2;
this.zai = new zabv(this);
GoogleApiManager zam = GoogleApiManager.zam(this.zab);
this.zaa = zam;
this.zah = zam.zaa();
this.zaj = settings.zaa;
if (activity != null && !(activity instanceof GoogleApiActivity) && Looper.myLooper() == Looper.getMainLooper()) {
zaae.zad(activity, zam, zaa2);
}
zam.zaB(this);
}
public <A extends Api.AnyClient> Task<Void> doRegisterEventListener(RegistrationMethods<A, ?> registrationMethods) {
Preconditions.checkNotNull(registrationMethods);
Preconditions.checkNotNull(registrationMethods.register.getListenerKey(), "Listener has already been released.");
Preconditions.checkNotNull(registrationMethods.zaa.getListenerKey(), "Listener has already been released.");
return this.zaa.zaq(this, registrationMethods.register, registrationMethods.zaa, registrationMethods.zab);
}
/* JADX WARNING: Illegal instructions before constructor call */
@java.lang.Deprecated
/* Code decompiled incorrectly, please refer to instructions dump. */
public GoogleApi(android.content.Context r2, com.google.android.gms.common.api.Api<O> r3, O r4, android.os.Looper r5, com.google.android.gms.common.api.internal.StatusExceptionMapper r6) {
/*
r1 = this;
com.google.android.gms.common.api.GoogleApi$Settings$Builder r0 = new com.google.android.gms.common.api.GoogleApi$Settings$Builder
r0.<init>()
r0.setLooper(r5)
r0.setMapper(r6)
com.google.android.gms.common.api.GoogleApi$Settings r5 = r0.build()
r1.<init>((android.content.Context) r2, r3, r4, (com.google.android.gms.common.api.GoogleApi.Settings) r5)
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.common.api.GoogleApi.<init>(android.content.Context, com.google.android.gms.common.api.Api, com.google.android.gms.common.api.Api$ApiOptions, android.os.Looper, com.google.android.gms.common.api.internal.StatusExceptionMapper):void");
}
public GoogleApi(Context context, Api<O> api, O o, Settings settings) {
this(context, (Activity) null, api, o, settings);
}
/* JADX WARNING: Illegal instructions before constructor call */
@java.lang.Deprecated
/* Code decompiled incorrectly, please refer to instructions dump. */
public GoogleApi(android.content.Context r2, com.google.android.gms.common.api.Api<O> r3, O r4, com.google.android.gms.common.api.internal.StatusExceptionMapper r5) {
/*
r1 = this;
com.google.android.gms.common.api.GoogleApi$Settings$Builder r0 = new com.google.android.gms.common.api.GoogleApi$Settings$Builder
r0.<init>()
r0.setMapper(r5)
com.google.android.gms.common.api.GoogleApi$Settings r5 = r0.build()
r1.<init>((android.content.Context) r2, r3, r4, (com.google.android.gms.common.api.GoogleApi.Settings) r5)
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.common.api.GoogleApi.<init>(android.content.Context, com.google.android.gms.common.api.Api, com.google.android.gms.common.api.Api$ApiOptions, com.google.android.gms.common.api.internal.StatusExceptionMapper):void");
}
}
Download file