103 lines
3.7 KiB
Java
103 lines
3.7 KiB
Java
package com.google.android.gms.common.api;
|
|
|
|
import android.app.Activity;
|
|
import android.app.PendingIntent;
|
|
import android.content.Context;
|
|
import android.content.DialogInterface;
|
|
import android.content.Intent;
|
|
import android.content.IntentSender;
|
|
import android.os.Bundle;
|
|
import android.util.Log;
|
|
import com.google.android.gms.common.ConnectionResult;
|
|
import com.google.android.gms.common.GoogleApiAvailability;
|
|
import com.google.android.gms.common.annotation.KeepName;
|
|
import com.google.android.gms.common.api.internal.GoogleApiManager;
|
|
|
|
@KeepName
|
|
/* loaded from: classes.dex */
|
|
public class GoogleApiActivity extends Activity implements DialogInterface.OnCancelListener {
|
|
private int a = 0;
|
|
|
|
public static PendingIntent a(Context context, PendingIntent pendingIntent, int i) {
|
|
return PendingIntent.getActivity(context, 0, a(context, pendingIntent, i, true), 134217728);
|
|
}
|
|
|
|
@Override // android.app.Activity
|
|
protected void onActivityResult(int i, int i2, Intent intent) {
|
|
super.onActivityResult(i, i2, intent);
|
|
if (i == 1) {
|
|
boolean booleanExtra = getIntent().getBooleanExtra("notify_manager", true);
|
|
this.a = 0;
|
|
setResult(i2, intent);
|
|
if (booleanExtra) {
|
|
GoogleApiManager a = GoogleApiManager.a(this);
|
|
if (i2 == -1) {
|
|
a.a();
|
|
} else if (i2 == 0) {
|
|
a.a(new ConnectionResult(13, null), getIntent().getIntExtra("failing_client_id", -1));
|
|
}
|
|
}
|
|
} else if (i == 2) {
|
|
this.a = 0;
|
|
setResult(i2, intent);
|
|
}
|
|
finish();
|
|
}
|
|
|
|
@Override // android.content.DialogInterface.OnCancelListener
|
|
public void onCancel(DialogInterface dialogInterface) {
|
|
this.a = 0;
|
|
setResult(0);
|
|
finish();
|
|
}
|
|
|
|
@Override // android.app.Activity
|
|
protected void onCreate(Bundle bundle) {
|
|
super.onCreate(bundle);
|
|
if (bundle != null) {
|
|
this.a = bundle.getInt("resolution");
|
|
}
|
|
if (this.a != 1) {
|
|
Bundle extras = getIntent().getExtras();
|
|
if (extras == null) {
|
|
Log.e("GoogleApiActivity", "Activity started without extras");
|
|
finish();
|
|
return;
|
|
}
|
|
PendingIntent pendingIntent = (PendingIntent) extras.get("pending_intent");
|
|
Integer num = (Integer) extras.get("error_code");
|
|
if (pendingIntent == null && num == null) {
|
|
Log.e("GoogleApiActivity", "Activity started without resolution");
|
|
finish();
|
|
} else {
|
|
if (pendingIntent == null) {
|
|
GoogleApiAvailability.a().b(this, num.intValue(), 2, this);
|
|
this.a = 1;
|
|
return;
|
|
}
|
|
try {
|
|
startIntentSenderForResult(pendingIntent.getIntentSender(), 1, null, 0, 0, 0);
|
|
this.a = 1;
|
|
} catch (IntentSender.SendIntentException e) {
|
|
Log.e("GoogleApiActivity", "Failed to launch pendingIntent", e);
|
|
finish();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // android.app.Activity
|
|
protected void onSaveInstanceState(Bundle bundle) {
|
|
bundle.putInt("resolution", this.a);
|
|
super.onSaveInstanceState(bundle);
|
|
}
|
|
|
|
public static Intent a(Context context, PendingIntent pendingIntent, int i, boolean z) {
|
|
Intent intent = new Intent(context, (Class<?>) GoogleApiActivity.class);
|
|
intent.putExtra("pending_intent", pendingIntent);
|
|
intent.putExtra("failing_client_id", i);
|
|
intent.putExtra("notify_manager", z);
|
|
return intent;
|
|
}
|
|
}
|