- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
90 lines
5.3 KiB
Java
90 lines
5.3 KiB
Java
package androidx.credentials.playservices.controllers.BeginSignIn;
|
|
|
|
import android.content.Context;
|
|
import androidx.credentials.CredentialOption;
|
|
import androidx.credentials.GetCredentialRequest;
|
|
import androidx.credentials.GetPasswordOption;
|
|
import androidx.credentials.GetPublicKeyCredentialOption;
|
|
import androidx.credentials.playservices.controllers.CreatePublicKeyCredential.PublicKeyCredentialControllerUtility;
|
|
import com.google.android.gms.auth.api.identity.BeginSignInRequest;
|
|
import com.google.android.libraries.identity.googleid.GetGoogleIdOption;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
|
|
/* loaded from: classes.dex */
|
|
public final class BeginSignInControllerUtility {
|
|
private static final long AUTH_MIN_VERSION_JSON_PARSING = 231815000;
|
|
private static final long AUTH_MIN_VERSION_PREFER_IMME_CRED = 241217000;
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final String TAG = "BeginSignInUtility";
|
|
|
|
public static final class Companion {
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
private final boolean needsBackwardsCompatibleRequest(long j) {
|
|
return j < BeginSignInControllerUtility.AUTH_MIN_VERSION_JSON_PARSING;
|
|
}
|
|
|
|
private Companion() {
|
|
}
|
|
|
|
public final BeginSignInRequest constructBeginSignInRequest$credentials_play_services_auth_release(GetCredentialRequest request, Context context) {
|
|
Intrinsics.checkNotNullParameter(request, "request");
|
|
Intrinsics.checkNotNullParameter(context, "context");
|
|
BeginSignInRequest.Builder builder = new BeginSignInRequest.Builder();
|
|
long determineDeviceGMSVersionCode = determineDeviceGMSVersionCode(context);
|
|
boolean z = false;
|
|
boolean z2 = false;
|
|
for (CredentialOption credentialOption : request.getCredentialOptions()) {
|
|
if (credentialOption instanceof GetPasswordOption) {
|
|
builder.setPasswordRequestOptions(new BeginSignInRequest.PasswordRequestOptions.Builder().setSupported(true).build());
|
|
if (!z && !credentialOption.isAutoSelectAllowed()) {
|
|
z = false;
|
|
}
|
|
z = true;
|
|
} else if ((credentialOption instanceof GetPublicKeyCredentialOption) && !z2) {
|
|
if (needsBackwardsCompatibleRequest(determineDeviceGMSVersionCode)) {
|
|
builder.setPasskeysSignInRequestOptions(PublicKeyCredentialControllerUtility.Companion.convertToPlayAuthPasskeyRequest((GetPublicKeyCredentialOption) credentialOption));
|
|
} else {
|
|
builder.setPasskeyJsonSignInRequestOptions(PublicKeyCredentialControllerUtility.Companion.convertToPlayAuthPasskeyJsonRequest((GetPublicKeyCredentialOption) credentialOption));
|
|
}
|
|
z2 = true;
|
|
} else if (credentialOption instanceof GetGoogleIdOption) {
|
|
GetGoogleIdOption getGoogleIdOption = (GetGoogleIdOption) credentialOption;
|
|
builder.setGoogleIdTokenRequestOptions(convertToGoogleIdTokenOption(getGoogleIdOption));
|
|
if (!z && !getGoogleIdOption.getAutoSelectEnabled()) {
|
|
z = false;
|
|
}
|
|
z = true;
|
|
}
|
|
}
|
|
if (determineDeviceGMSVersionCode > BeginSignInControllerUtility.AUTH_MIN_VERSION_PREFER_IMME_CRED) {
|
|
builder.setPreferImmediatelyAvailableCredentials(request.preferImmediatelyAvailableCredentials());
|
|
}
|
|
BeginSignInRequest build = builder.setAutoSelectEnabled(z).build();
|
|
Intrinsics.checkNotNullExpressionValue(build, "build(...)");
|
|
return build;
|
|
}
|
|
|
|
private final long determineDeviceGMSVersionCode(Context context) {
|
|
Intrinsics.checkNotNullExpressionValue(context.getPackageManager(), "getPackageManager(...)");
|
|
return r3.getPackageInfo("com.google.android.gms", 0).versionCode;
|
|
}
|
|
|
|
private final BeginSignInRequest.GoogleIdTokenRequestOptions convertToGoogleIdTokenOption(GetGoogleIdOption getGoogleIdOption) {
|
|
BeginSignInRequest.GoogleIdTokenRequestOptions.Builder supported = BeginSignInRequest.GoogleIdTokenRequestOptions.builder().setFilterByAuthorizedAccounts(getGoogleIdOption.getFilterByAuthorizedAccounts()).setNonce(getGoogleIdOption.getNonce()).setRequestVerifiedPhoneNumber(getGoogleIdOption.getRequestVerifiedPhoneNumber()).setServerClientId(getGoogleIdOption.getServerClientId()).setSupported(true);
|
|
Intrinsics.checkNotNullExpressionValue(supported, "setSupported(...)");
|
|
if (getGoogleIdOption.getLinkedServiceId() != null) {
|
|
String linkedServiceId = getGoogleIdOption.getLinkedServiceId();
|
|
Intrinsics.checkNotNull(linkedServiceId);
|
|
supported.associateLinkedAccounts(linkedServiceId, getGoogleIdOption.getIdTokenDepositionScopes());
|
|
}
|
|
BeginSignInRequest.GoogleIdTokenRequestOptions build = supported.build();
|
|
Intrinsics.checkNotNullExpressionValue(build, "build(...)");
|
|
return build;
|
|
}
|
|
}
|
|
}
|