Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- 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
2026-02-18 15:48:36 -08:00

852 lines
44 KiB
Java

package androidx.credentials.provider;
import android.annotation.SuppressLint;
import android.app.PendingIntent;
import android.app.slice.Slice;
import android.app.slice.SliceItem;
import android.app.slice.SliceSpec;
import android.content.Context;
import android.graphics.drawable.Icon;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Parcelable;
import androidx.annotation.RequiresApi;
import androidx.annotation.RestrictTo;
import androidx.credentials.CredentialOption;
import androidx.credentials.PublicKeyCredential;
import androidx.credentials.R;
import androidx.credentials.provider.BeginGetPublicKeyCredentialOption;
import androidx.credentials.provider.utils.CryptoObjectUtils;
import java.time.Instant;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import kotlin.collections.CollectionsKt__CollectionsJVMKt;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.SourceDebugExtension;
@RequiresApi(23)
@SourceDebugExtension({"SMAP\nPublicKeyCredentialEntry.kt\nKotlin\n*S Kotlin\n*F\n+ 1 PublicKeyCredentialEntry.kt\nandroidx/credentials/provider/PublicKeyCredentialEntry\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,866:1\n1#2:867\n*E\n"})
/* loaded from: classes.dex */
public final class PublicKeyCredentialEntry extends CredentialEntry {
public static final Companion Companion = new Companion(null);
private static final String TAG = "PublicKeyCredEntry";
private final CharSequence displayName;
private final Icon icon;
private final boolean isAutoSelectAllowed;
private final boolean isAutoSelectAllowedFromOption;
private final boolean isCreatedFromSlice;
private final boolean isDefaultIconFromSlice;
private final Instant lastUsedTime;
private final PendingIntent pendingIntent;
private final CharSequence typeDisplayName;
private final CharSequence username;
public static final PublicKeyCredentialEntry fromCredentialEntry(android.service.credentials.CredentialEntry credentialEntry) {
return Companion.fromCredentialEntry(credentialEntry);
}
@SuppressLint({"WrongConstant"})
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final PublicKeyCredentialEntry fromSlice(Slice slice) {
return Companion.fromSlice(slice);
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final Slice toSlice(PublicKeyCredentialEntry publicKeyCredentialEntry) {
return Companion.toSlice(publicKeyCredentialEntry);
}
public final CharSequence getDisplayName() {
return this.displayName;
}
public final Icon getIcon() {
return this.icon;
}
public final Instant getLastUsedTime() {
return this.lastUsedTime;
}
public final PendingIntent getPendingIntent() {
return this.pendingIntent;
}
public final CharSequence getTypeDisplayName() {
return this.typeDisplayName;
}
public final CharSequence getUsername() {
return this.username;
}
public final boolean isAutoSelectAllowed() {
return this.isAutoSelectAllowed;
}
public final boolean isAutoSelectAllowedFromOption() {
return this.isAutoSelectAllowedFromOption;
}
public /* synthetic */ PublicKeyCredentialEntry(CharSequence charSequence, CharSequence charSequence2, CharSequence charSequence3, PendingIntent pendingIntent, Icon icon, Instant instant, boolean z, BeginGetPublicKeyCredentialOption beginGetPublicKeyCredentialOption, boolean z2, CharSequence charSequence4, CharSequence charSequence5, BiometricPromptData biometricPromptData, boolean z3, boolean z4, boolean z5, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(charSequence, charSequence2, charSequence3, pendingIntent, icon, instant, z, beginGetPublicKeyCredentialOption, z2, (i & 512) != 0 ? charSequence : charSequence4, (i & 1024) != 0 ? null : charSequence5, (i & 2048) != 0 ? null : biometricPromptData, (i & 4096) != 0 ? CredentialOption.Companion.extractAutoSelectValue$credentials_release(beginGetPublicKeyCredentialOption.getCandidateQueryData()) : z3, (i & 8192) != 0 ? false : z4, (i & 16384) != 0 ? false : z5);
}
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
public PublicKeyCredentialEntry(CharSequence username, CharSequence charSequence, CharSequence typeDisplayName, PendingIntent pendingIntent, Icon icon, Instant instant, boolean z, BeginGetPublicKeyCredentialOption beginGetPublicKeyCredentialOption, boolean z2, CharSequence charSequence2, CharSequence charSequence3, BiometricPromptData biometricPromptData, boolean z3, boolean z4, boolean z5) {
super(PublicKeyCredential.TYPE_PUBLIC_KEY_CREDENTIAL, beginGetPublicKeyCredentialOption, charSequence2 == null ? username : charSequence2, z2, charSequence3, biometricPromptData);
Intrinsics.checkNotNullParameter(username, "username");
Intrinsics.checkNotNullParameter(typeDisplayName, "typeDisplayName");
Intrinsics.checkNotNullParameter(pendingIntent, "pendingIntent");
Intrinsics.checkNotNullParameter(icon, "icon");
Intrinsics.checkNotNullParameter(beginGetPublicKeyCredentialOption, "beginGetPublicKeyCredentialOption");
this.username = username;
this.displayName = charSequence;
this.typeDisplayName = typeDisplayName;
this.pendingIntent = pendingIntent;
this.icon = icon;
this.lastUsedTime = instant;
this.isAutoSelectAllowed = z;
this.isCreatedFromSlice = z4;
this.isDefaultIconFromSlice = z5;
this.isAutoSelectAllowedFromOption = z3;
if (username.length() <= 0) {
throw new IllegalArgumentException("username must not be empty".toString());
}
if (typeDisplayName.length() <= 0) {
throw new IllegalArgumentException("typeDisplayName must not be empty".toString());
}
}
public final boolean hasDefaultIcon() {
if (Build.VERSION.SDK_INT >= 28) {
return Api28Impl.isDefaultIcon(this);
}
return false;
}
/* JADX WARN: Illegal instructions before constructor call */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public /* synthetic */ PublicKeyCredentialEntry(android.content.Context r14, java.lang.CharSequence r15, android.app.PendingIntent r16, androidx.credentials.provider.BeginGetPublicKeyCredentialOption r17, java.lang.CharSequence r18, java.time.Instant r19, android.graphics.drawable.Icon r20, boolean r21, boolean r22, int r23, kotlin.jvm.internal.DefaultConstructorMarker r24) {
/*
r13 = this;
r0 = r23
r1 = r0 & 16
r2 = 0
if (r1 == 0) goto L9
r8 = r2
goto Lb
L9:
r8 = r18
Lb:
r1 = r0 & 32
if (r1 == 0) goto L11
r9 = r2
goto L13
L11:
r9 = r19
L13:
r1 = r0 & 64
if (r1 == 0) goto L25
int r1 = androidx.credentials.R.drawable.ic_passkey
r2 = r14
android.graphics.drawable.Icon r1 = android.graphics.drawable.Icon.createWithResource(r14, r1)
java.lang.String r3 = "createWithResource(context, R.drawable.ic_passkey)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r1, r3)
r10 = r1
goto L28
L25:
r2 = r14
r10 = r20
L28:
r1 = r0 & 128(0x80, float:1.8E-43)
r3 = 0
if (r1 == 0) goto L2f
r11 = r3
goto L31
L2f:
r11 = r21
L31:
r0 = r0 & 256(0x100, float:3.59E-43)
if (r0 == 0) goto L37
r12 = r3
goto L39
L37:
r12 = r22
L39:
r3 = r13
r4 = r14
r5 = r15
r6 = r16
r7 = r17
r3.<init>(r4, r5, r6, r7, r8, r9, r10, r11, r12)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.credentials.provider.PublicKeyCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetPublicKeyCredentialOption, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker):void");
}
/* JADX WARN: Illegal instructions before constructor call */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public PublicKeyCredentialEntry(android.content.Context r20, java.lang.CharSequence r21, android.app.PendingIntent r22, androidx.credentials.provider.BeginGetPublicKeyCredentialOption r23, java.lang.CharSequence r24, java.time.Instant r25, android.graphics.drawable.Icon r26, boolean r27, boolean r28) {
/*
r19 = this;
r0 = r20
r1 = r19
r2 = r21
r5 = r22
r9 = r23
r3 = r24
r7 = r25
r6 = r26
r8 = r27
r10 = r28
java.lang.String r4 = "context"
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r0, r4)
java.lang.String r4 = "username"
r11 = r21
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r11, r4)
java.lang.String r4 = "pendingIntent"
r11 = r22
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r11, r4)
java.lang.String r4 = "beginGetPublicKeyCredentialOption"
r11 = r23
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r11, r4)
java.lang.String r4 = "icon"
r11 = r26
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r11, r4)
int r4 = androidx.credentials.R.string.androidx_credentials_TYPE_PUBLIC_KEY_CREDENTIAL
java.lang.String r0 = r0.getString(r4)
r4 = r0
java.lang.String r11 = "context.getString(R.stri…PE_PUBLIC_KEY_CREDENTIAL)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r0, r11)
r11 = 0
r12 = 0
r13 = 0
r14 = 0
r15 = 0
r16 = 0
r17 = 32256(0x7e00, float:4.52E-41)
r18 = 0
r1.<init>(r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.credentials.provider.PublicKeyCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetPublicKeyCredentialOption, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean, boolean):void");
}
/* JADX WARN: Illegal instructions before constructor call */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public /* synthetic */ PublicKeyCredentialEntry(android.content.Context r15, java.lang.CharSequence r16, android.app.PendingIntent r17, androidx.credentials.provider.BeginGetPublicKeyCredentialOption r18, java.lang.CharSequence r19, java.time.Instant r20, android.graphics.drawable.Icon r21, boolean r22, boolean r23, androidx.credentials.provider.BiometricPromptData r24, int r25, kotlin.jvm.internal.DefaultConstructorMarker r26) {
/*
r14 = this;
r0 = r25
r1 = r0 & 16
r2 = 0
if (r1 == 0) goto L9
r8 = r2
goto Lb
L9:
r8 = r19
Lb:
r1 = r0 & 32
if (r1 == 0) goto L11
r9 = r2
goto L13
L11:
r9 = r20
L13:
r1 = r0 & 64
if (r1 == 0) goto L25
int r1 = androidx.credentials.R.drawable.ic_passkey
r4 = r15
android.graphics.drawable.Icon r1 = android.graphics.drawable.Icon.createWithResource(r15, r1)
java.lang.String r3 = "createWithResource(context, R.drawable.ic_passkey)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r1, r3)
r10 = r1
goto L28
L25:
r4 = r15
r10 = r21
L28:
r1 = r0 & 128(0x80, float:1.8E-43)
r3 = 0
if (r1 == 0) goto L2f
r11 = r3
goto L31
L2f:
r11 = r22
L31:
r1 = r0 & 256(0x100, float:3.59E-43)
if (r1 == 0) goto L37
r12 = r3
goto L39
L37:
r12 = r23
L39:
r0 = r0 & 512(0x200, float:7.17E-43)
if (r0 == 0) goto L3f
r13 = r2
goto L41
L3f:
r13 = r24
L41:
r3 = r14
r4 = r15
r5 = r16
r6 = r17
r7 = r18
r3.<init>(r4, r5, r6, r7, r8, r9, r10, r11, r12, r13)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.credentials.provider.PublicKeyCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetPublicKeyCredentialOption, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean, boolean, androidx.credentials.provider.BiometricPromptData, int, kotlin.jvm.internal.DefaultConstructorMarker):void");
}
/* JADX WARN: Illegal instructions before constructor call */
@androidx.annotation.RequiresApi(35)
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public PublicKeyCredentialEntry(android.content.Context r20, java.lang.CharSequence r21, android.app.PendingIntent r22, androidx.credentials.provider.BeginGetPublicKeyCredentialOption r23, java.lang.CharSequence r24, java.time.Instant r25, android.graphics.drawable.Icon r26, boolean r27, boolean r28, androidx.credentials.provider.BiometricPromptData r29) {
/*
r19 = this;
r0 = r20
r1 = r19
r2 = r21
r5 = r22
r9 = r23
r3 = r24
r7 = r25
r6 = r26
r8 = r27
r10 = r28
r13 = r29
java.lang.String r4 = "context"
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r0, r4)
java.lang.String r4 = "username"
r11 = r21
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r11, r4)
java.lang.String r4 = "pendingIntent"
r11 = r22
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r11, r4)
java.lang.String r4 = "beginGetPublicKeyCredentialOption"
r11 = r23
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r11, r4)
java.lang.String r4 = "icon"
r11 = r26
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r11, r4)
int r4 = androidx.credentials.R.string.androidx_credentials_TYPE_PUBLIC_KEY_CREDENTIAL
java.lang.String r0 = r0.getString(r4)
r4 = r0
java.lang.String r11 = "context.getString(R.stri…PE_PUBLIC_KEY_CREDENTIAL)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r0, r11)
r11 = 0
r12 = 0
r14 = 0
r15 = 0
r16 = 0
r17 = 30208(0x7600, float:4.233E-41)
r18 = 0
r1.<init>(r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.credentials.provider.PublicKeyCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetPublicKeyCredentialOption, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean, boolean, androidx.credentials.provider.BiometricPromptData):void");
}
/* JADX WARN: Illegal instructions before constructor call */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public /* synthetic */ PublicKeyCredentialEntry(android.content.Context r13, java.lang.CharSequence r14, android.app.PendingIntent r15, androidx.credentials.provider.BeginGetPublicKeyCredentialOption r16, java.lang.CharSequence r17, java.time.Instant r18, android.graphics.drawable.Icon r19, boolean r20, int r21, kotlin.jvm.internal.DefaultConstructorMarker r22) {
/*
r12 = this;
r0 = r21
r1 = r0 & 16
r2 = 0
if (r1 == 0) goto L9
r8 = r2
goto Lb
L9:
r8 = r17
Lb:
r1 = r0 & 32
if (r1 == 0) goto L11
r9 = r2
goto L13
L11:
r9 = r18
L13:
r1 = r0 & 64
if (r1 == 0) goto L25
int r1 = androidx.credentials.R.drawable.ic_passkey
r2 = r13
android.graphics.drawable.Icon r1 = android.graphics.drawable.Icon.createWithResource(r13, r1)
java.lang.String r3 = "createWithResource(context, R.drawable.ic_passkey)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r1, r3)
r10 = r1
goto L28
L25:
r2 = r13
r10 = r19
L28:
r0 = r0 & 128(0x80, float:1.8E-43)
if (r0 == 0) goto L2f
r0 = 0
r11 = r0
goto L31
L2f:
r11 = r20
L31:
r3 = r12
r4 = r13
r5 = r14
r6 = r15
r7 = r16
r3.<init>(r4, r5, r6, r7, r8, r9, r10, r11)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.credentials.provider.PublicKeyCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetPublicKeyCredentialOption, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker):void");
}
/* JADX WARN: Illegal instructions before constructor call */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public /* synthetic */ PublicKeyCredentialEntry(android.content.Context r20, java.lang.CharSequence r21, android.app.PendingIntent r22, androidx.credentials.provider.BeginGetPublicKeyCredentialOption r23, java.lang.CharSequence r24, java.time.Instant r25, android.graphics.drawable.Icon r26, boolean r27) {
/*
r19 = this;
r0 = r20
r1 = r19
r2 = r21
r5 = r22
r9 = r23
r3 = r24
r7 = r25
r6 = r26
r8 = r27
java.lang.String r4 = "context"
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r0, r4)
java.lang.String r4 = "username"
r10 = r21
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r10, r4)
java.lang.String r4 = "pendingIntent"
r10 = r22
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r10, r4)
java.lang.String r4 = "beginGetPublicKeyCredentialOption"
r10 = r23
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r10, r4)
java.lang.String r4 = "icon"
r10 = r26
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r10, r4)
int r4 = androidx.credentials.R.string.androidx_credentials_TYPE_PUBLIC_KEY_CREDENTIAL
java.lang.String r0 = r0.getString(r4)
r4 = r0
java.lang.String r10 = "context.getString(R.stri…PE_PUBLIC_KEY_CREDENTIAL)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r0, r10)
r10 = 0
r11 = 0
r12 = 0
r13 = 0
r14 = 0
r15 = 0
r16 = 0
r17 = 32256(0x7e00, float:4.52E-41)
r18 = 0
r1.<init>(r2, r3, r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.credentials.provider.PublicKeyCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetPublicKeyCredentialOption, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean):void");
}
@RequiresApi(34)
public static final class Api34Impl {
public static final Api34Impl INSTANCE = new Api34Impl();
private Api34Impl() {
}
public static final PublicKeyCredentialEntry fromCredentialEntry(android.service.credentials.CredentialEntry credentialEntry) {
Intrinsics.checkNotNullParameter(credentialEntry, "credentialEntry");
Slice slice = credentialEntry.getSlice();
Intrinsics.checkNotNullExpressionValue(slice, "credentialEntry.slice");
return PublicKeyCredentialEntry.Companion.fromSlice(slice);
}
}
@RequiresApi(35)
@SourceDebugExtension({"SMAP\nPublicKeyCredentialEntry.kt\nKotlin\n*S Kotlin\n*F\n+ 1 PublicKeyCredentialEntry.kt\nandroidx/credentials/provider/PublicKeyCredentialEntry$Api35Impl\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,866:1\n1855#2,2:867\n*S KotlinDebug\n*F\n+ 1 PublicKeyCredentialEntry.kt\nandroidx/credentials/provider/PublicKeyCredentialEntry$Api35Impl\n*L\n370#1:867,2\n*E\n"})
public static final class Api35Impl {
public static final Api35Impl INSTANCE = new Api35Impl();
private Api35Impl() {
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final Slice toSlice(PublicKeyCredentialEntry entry) {
Slice build;
Intrinsics.checkNotNullParameter(entry, "entry");
String type = entry.getType();
Action$Companion$$ExternalSyntheticApiModelOutline12.m();
Slice.Builder m = Action$Companion$$ExternalSyntheticApiModelOutline10.m(Uri.EMPTY, Action$Companion$$ExternalSyntheticApiModelOutline9.m(type, 1));
Api28Impl.INSTANCE.addToSlice(entry, m);
INSTANCE.addToSlice(entry, m);
build = m.build();
Intrinsics.checkNotNullExpressionValue(build, "sliceBuilder.build()");
return build;
}
public final void addToSlice(PublicKeyCredentialEntry entry, Slice.Builder sliceBuilder) {
Intrinsics.checkNotNullParameter(entry, "entry");
Intrinsics.checkNotNullParameter(sliceBuilder, "sliceBuilder");
BiometricPromptData biometricPromptData = entry.getBiometricPromptData();
if (biometricPromptData != null) {
sliceBuilder.addInt(biometricPromptData.getAllowedAuthenticators(), null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_ALLOWED_AUTHENTICATORS));
if (biometricPromptData.getCryptoObject() != null) {
sliceBuilder.addLong(CryptoObjectUtils.INSTANCE.getOperationHandle(biometricPromptData.getCryptoObject()), null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_CRYPTO_OP_ID));
}
sliceBuilder.addBundle(BiometricPromptData.Companion.toBundle(biometricPromptData), null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_BIOMETRIC_PROMPT_DATA));
}
}
@SuppressLint({"WrongConstant"})
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final PublicKeyCredentialEntry fromSlice(Slice slice) {
List items;
boolean hasHint;
Intrinsics.checkNotNullParameter(slice, "slice");
PublicKeyCredentialEntry fromSlice = Api28Impl.fromSlice(slice);
if (fromSlice == null) {
return null;
}
items = slice.getItems();
Intrinsics.checkNotNullExpressionValue(items, "slice.items");
Iterator it = items.iterator();
Bundle bundle = null;
while (it.hasNext()) {
SliceItem m = Action$Companion$$ExternalSyntheticApiModelOutline5.m(it.next());
hasHint = m.hasHint(CredentialEntry.SLICE_HINT_BIOMETRIC_PROMPT_DATA);
if (hasHint) {
bundle = m.getBundle();
}
}
try {
CharSequence username = fromSlice.getUsername();
CharSequence displayName = fromSlice.getDisplayName();
CharSequence typeDisplayName = fromSlice.getTypeDisplayName();
PendingIntent pendingIntent = fromSlice.getPendingIntent();
Icon icon = fromSlice.getIcon();
Instant lastUsedTime = fromSlice.getLastUsedTime();
boolean isAutoSelectAllowed = fromSlice.isAutoSelectAllowed();
BeginGetCredentialOption beginGetCredentialOption = fromSlice.getBeginGetCredentialOption();
Intrinsics.checkNotNull(beginGetCredentialOption, "null cannot be cast to non-null type androidx.credentials.provider.BeginGetPublicKeyCredentialOption");
return new PublicKeyCredentialEntry(username, displayName, typeDisplayName, pendingIntent, icon, lastUsedTime, isAutoSelectAllowed, (BeginGetPublicKeyCredentialOption) beginGetCredentialOption, fromSlice.isDefaultIconPreferredAsSingleProvider(), fromSlice.getEntryGroupId(), fromSlice.getAffiliatedDomain(), bundle != null ? BiometricPromptData.Companion.fromBundle(bundle) : null, fromSlice.isAutoSelectAllowedFromOption(), true, fromSlice.isDefaultIconFromSlice);
} catch (Exception e) {
StringBuilder sb = new StringBuilder();
sb.append("fromSlice failed with: ");
sb.append(e.getMessage());
return null;
}
}
}
@RequiresApi(28)
@SourceDebugExtension({"SMAP\nPublicKeyCredentialEntry.kt\nKotlin\n*S Kotlin\n*F\n+ 1 PublicKeyCredentialEntry.kt\nandroidx/credentials/provider/PublicKeyCredentialEntry$Api28Impl\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,866:1\n1855#2,2:867\n*S KotlinDebug\n*F\n+ 1 PublicKeyCredentialEntry.kt\nandroidx/credentials/provider/PublicKeyCredentialEntry$Api28Impl\n*L\n531#1:867,2\n*E\n"})
public static final class Api28Impl {
public static final Api28Impl INSTANCE = new Api28Impl();
private Api28Impl() {
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final boolean isDefaultIcon(PublicKeyCredentialEntry entry) {
Intrinsics.checkNotNullParameter(entry, "entry");
if (entry.isCreatedFromSlice) {
return entry.isDefaultIconFromSlice;
}
return entry.getIcon().getType() == 2 && entry.getIcon().getResId() == R.drawable.ic_passkey;
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final Slice toSlice(PublicKeyCredentialEntry entry) {
Intrinsics.checkNotNullParameter(entry, "entry");
Slice.Builder builder = new Slice.Builder(Uri.EMPTY, new SliceSpec(entry.getType(), 1));
INSTANCE.addToSlice(entry, builder);
Slice build = builder.build();
Intrinsics.checkNotNullExpressionValue(build, "sliceBuilder.build()");
return build;
}
public final void addToSlice(PublicKeyCredentialEntry entry, Slice.Builder sliceBuilder) {
Intrinsics.checkNotNullParameter(entry, "entry");
Intrinsics.checkNotNullParameter(sliceBuilder, "sliceBuilder");
BeginGetCredentialOption beginGetCredentialOption = entry.getBeginGetCredentialOption();
sliceBuilder.addText(beginGetCredentialOption.getId(), null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_OPTION_ID)).addText(entry.getEntryGroupId(), null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_DEDUPLICATION_ID)).addText(entry.isDefaultIconPreferredAsSingleProvider() ? "true" : "false", null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_IS_DEFAULT_ICON_PREFERRED)).addText(entry.getAffiliatedDomain(), null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_AFFILIATED_DOMAIN));
CharSequence username = entry.getUsername();
CharSequence displayName = entry.getDisplayName();
PendingIntent pendingIntent = entry.getPendingIntent();
CharSequence typeDisplayName = entry.getTypeDisplayName();
Instant lastUsedTime = entry.getLastUsedTime();
sliceBuilder.addText(typeDisplayName, null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_TYPE_DISPLAY_NAME)).addText(username, null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_TITLE)).addText(displayName, null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_SUBTITLE)).addText(entry.isAutoSelectAllowed() ? "true" : "false", null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_AUTO_ALLOWED)).addIcon(entry.getIcon(), null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_ICON));
try {
if (entry.hasDefaultIcon()) {
sliceBuilder.addInt(1, null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_DEFAULT_ICON_RES_ID));
}
} catch (IllegalStateException unused) {
}
if (entry.isAutoSelectAllowedFromOption()) {
sliceBuilder.addInt(1, null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_AUTO_SELECT_FROM_OPTION));
}
if (lastUsedTime != null) {
sliceBuilder.addLong(lastUsedTime.toEpochMilli(), null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_LAST_USED_TIME_MILLIS));
}
sliceBuilder.addAction(pendingIntent, new Slice.Builder(sliceBuilder).addHints(Collections.singletonList(CredentialEntry.SLICE_HINT_PENDING_INTENT)).build(), null);
}
@SuppressLint({"WrongConstant"})
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final PublicKeyCredentialEntry fromSlice(Slice slice) {
Intrinsics.checkNotNullParameter(slice, "slice");
List<SliceItem> items = slice.getItems();
Intrinsics.checkNotNullExpressionValue(items, "slice.items");
CharSequence charSequence = null;
CharSequence charSequence2 = null;
CharSequence charSequence3 = null;
PendingIntent pendingIntent = null;
Icon icon = null;
Instant instant = null;
CharSequence charSequence4 = null;
CharSequence charSequence5 = null;
boolean z = false;
boolean z2 = false;
boolean z3 = false;
boolean z4 = false;
CharSequence charSequence6 = null;
for (SliceItem sliceItem : items) {
if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_OPTION_ID)) {
charSequence6 = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_DEDUPLICATION_ID)) {
charSequence4 = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_IS_DEFAULT_ICON_PREFERRED)) {
if (Intrinsics.areEqual(sliceItem.getText(), "true")) {
z2 = true;
}
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_AFFILIATED_DOMAIN)) {
charSequence5 = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_TYPE_DISPLAY_NAME)) {
charSequence3 = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_TITLE)) {
charSequence = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_SUBTITLE)) {
charSequence2 = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_ICON)) {
icon = sliceItem.getIcon();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_PENDING_INTENT)) {
pendingIntent = sliceItem.getAction();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_LAST_USED_TIME_MILLIS)) {
instant = Instant.ofEpochMilli(sliceItem.getLong());
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_AUTO_ALLOWED)) {
if (Intrinsics.areEqual(sliceItem.getText(), "true")) {
z = true;
}
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_AUTO_SELECT_FROM_OPTION)) {
z3 = true;
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_DEFAULT_ICON_RES_ID)) {
z4 = true;
}
}
try {
Intrinsics.checkNotNull(charSequence);
Intrinsics.checkNotNull(charSequence3);
Intrinsics.checkNotNull(pendingIntent);
Intrinsics.checkNotNull(icon);
BeginGetPublicKeyCredentialOption.Companion companion = BeginGetPublicKeyCredentialOption.Companion;
Bundle bundle = new Bundle();
Intrinsics.checkNotNull(charSequence6);
return new PublicKeyCredentialEntry(charSequence, charSequence2, charSequence3, pendingIntent, icon, instant, z, companion.createFromEntrySlice$credentials_release(bundle, charSequence6.toString()), z2, charSequence4, charSequence5, null, z3, true, z4, 2048, null);
} catch (Exception e) {
StringBuilder sb = new StringBuilder();
sb.append("fromSlice failed with: ");
sb.append(e.getMessage());
return null;
}
}
}
public static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final Slice toSlice(PublicKeyCredentialEntry entry) {
Intrinsics.checkNotNullParameter(entry, "entry");
int i = Build.VERSION.SDK_INT;
if (i >= 35) {
return Api35Impl.toSlice(entry);
}
if (i >= 28) {
return Api28Impl.toSlice(entry);
}
return null;
}
@SuppressLint({"WrongConstant"})
@RestrictTo({RestrictTo.Scope.LIBRARY})
public final PublicKeyCredentialEntry fromSlice(Slice slice) {
Intrinsics.checkNotNullParameter(slice, "slice");
int i = Build.VERSION.SDK_INT;
if (i >= 35) {
return Api35Impl.fromSlice(slice);
}
if (i >= 28) {
return Api28Impl.fromSlice(slice);
}
return null;
}
public final PublicKeyCredentialEntry fromCredentialEntry(android.service.credentials.CredentialEntry credentialEntry) {
Intrinsics.checkNotNullParameter(credentialEntry, "credentialEntry");
if (Build.VERSION.SDK_INT >= 34) {
return Api34Impl.fromCredentialEntry(credentialEntry);
}
return null;
}
public final void marshall$credentials_release(PublicKeyCredentialEntry publicKeyCredentialEntry, Bundle bundle, int i) {
Intrinsics.checkNotNullParameter(publicKeyCredentialEntry, "<this>");
Intrinsics.checkNotNullParameter(bundle, "bundle");
CredentialEntry.Companion.marshallCommonProperties$credentials_release(publicKeyCredentialEntry, bundle, i);
bundle.putParcelable(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_PENDING_INTENT_PREFIX + i, publicKeyCredentialEntry.getPendingIntent());
bundle.putBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_IS_AUTO_SELECT_ALLOWED_PREFIX + i, publicKeyCredentialEntry.isAutoSelectAllowed());
bundle.putBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_IS_AUTO_SELECT_ALLOWED_FROM_OPTION_PREFIX + i, publicKeyCredentialEntry.isAutoSelectAllowedFromOption());
bundle.putBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_HAS_DEFAULT_ICON_PREFIX + i, publicKeyCredentialEntry.hasDefaultIcon());
bundle.putCharSequence(CredentialEntry.EXTRA_CREDENTIAL_TITLE_PREFIX + i, publicKeyCredentialEntry.getUsername());
bundle.putCharSequence(CredentialEntry.EXTRA_CREDENTIAL_TYPE_DISPLAY_NAME_PREFIX + i, publicKeyCredentialEntry.getTypeDisplayName());
bundle.putParcelable(CredentialEntry.EXTRA_CREDENTIAL_TYPE_ICON_PREFIX + i, publicKeyCredentialEntry.getIcon());
CharSequence displayName = publicKeyCredentialEntry.getDisplayName();
if (displayName != null) {
bundle.putCharSequence(CredentialEntry.EXTRA_CREDENTIAL_SUBTITLE_PREFIX + i, displayName);
}
Instant lastUsedTime = publicKeyCredentialEntry.getLastUsedTime();
if (lastUsedTime != null) {
bundle.putSerializable(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_LAST_USED_TIME_PREFIX + i, lastUsedTime);
}
}
public final PublicKeyCredentialEntry unmarshall$credentials_release(Bundle bundle, int i) {
Intrinsics.checkNotNullParameter(bundle, "bundle");
try {
String string = bundle.getString(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_OPTION_ID_PREFIX + i);
Intrinsics.checkNotNull(string);
Bundle bundle2 = bundle.getBundle(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_OPTION_DATA_PREFIX + i);
Intrinsics.checkNotNull(bundle2);
CharSequence charSequence = bundle.getCharSequence(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_ENTRY_GROUP_ID_PREFIX + i);
boolean z = bundle.getBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_IS_DEFAULT_ICON_PREFERRED_AS_SINGLE_PROV_PREFIX + i, false);
CharSequence charSequence2 = bundle.getCharSequence(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_AFFILIATED_DOMAIN_PREFIX + i);
Parcelable parcelable = bundle.getParcelable(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_PENDING_INTENT_PREFIX + i);
Intrinsics.checkNotNull(parcelable);
PendingIntent pendingIntent = (PendingIntent) parcelable;
boolean z2 = bundle.getBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_IS_AUTO_SELECT_ALLOWED_PREFIX + i, false);
boolean z3 = bundle.getBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_IS_AUTO_SELECT_ALLOWED_FROM_OPTION_PREFIX + i, false);
boolean z4 = bundle.getBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_HAS_DEFAULT_ICON_PREFIX + i, false);
CharSequence charSequence3 = bundle.getCharSequence(CredentialEntry.EXTRA_CREDENTIAL_TITLE_PREFIX + i);
Intrinsics.checkNotNull(charSequence3);
CharSequence charSequence4 = bundle.getCharSequence(CredentialEntry.EXTRA_CREDENTIAL_TYPE_DISPLAY_NAME_PREFIX + i);
Intrinsics.checkNotNull(charSequence4);
Parcelable parcelable2 = bundle.getParcelable(CredentialEntry.EXTRA_CREDENTIAL_TYPE_ICON_PREFIX + i);
Intrinsics.checkNotNull(parcelable2);
Icon icon = (Icon) parcelable2;
return new PublicKeyCredentialEntry(charSequence3, bundle.getCharSequence(CredentialEntry.EXTRA_CREDENTIAL_SUBTITLE_PREFIX + i), charSequence4, pendingIntent, icon, (Instant) bundle.getSerializable(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_LAST_USED_TIME_PREFIX + i), z2, BeginGetPublicKeyCredentialOption.Companion.createFrom$credentials_release(bundle2, string), z, charSequence, charSequence2, null, z3, true, z4, 2048, null);
} catch (Exception unused) {
return null;
}
}
}
public static final class Builder {
private boolean autoSelectAllowed;
private final BeginGetPublicKeyCredentialOption beginGetPublicKeyCredentialOption;
private BiometricPromptData biometricPromptData;
private final Context context;
private CharSequence displayName;
private Icon icon;
private boolean isDefaultIconPreferredAsSingleProvider;
private Instant lastUsedTime;
private final PendingIntent pendingIntent;
private final CharSequence username;
public final Builder setAutoSelectAllowed(boolean z) {
this.autoSelectAllowed = z;
return this;
}
@RequiresApi(35)
public final Builder setBiometricPromptData(BiometricPromptData biometricPromptData) {
this.biometricPromptData = biometricPromptData;
return this;
}
public final Builder setDefaultIconPreferredAsSingleProvider(boolean z) {
this.isDefaultIconPreferredAsSingleProvider = z;
return this;
}
public final Builder setDisplayName(CharSequence charSequence) {
this.displayName = charSequence;
return this;
}
public final Builder setIcon(Icon icon) {
Intrinsics.checkNotNullParameter(icon, "icon");
this.icon = icon;
return this;
}
public final Builder setLastUsedTime(Instant instant) {
this.lastUsedTime = instant;
return this;
}
public Builder(Context context, CharSequence username, PendingIntent pendingIntent, BeginGetPublicKeyCredentialOption beginGetPublicKeyCredentialOption) {
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(username, "username");
Intrinsics.checkNotNullParameter(pendingIntent, "pendingIntent");
Intrinsics.checkNotNullParameter(beginGetPublicKeyCredentialOption, "beginGetPublicKeyCredentialOption");
this.context = context;
this.username = username;
this.pendingIntent = pendingIntent;
this.beginGetPublicKeyCredentialOption = beginGetPublicKeyCredentialOption;
}
public final PublicKeyCredentialEntry build() {
if (this.icon == null) {
this.icon = Icon.createWithResource(this.context, R.drawable.ic_passkey);
}
String string = this.context.getString(R.string.androidx_credentials_TYPE_PUBLIC_KEY_CREDENTIAL);
Intrinsics.checkNotNullExpressionValue(string, "context.getString(R.stri…PE_PUBLIC_KEY_CREDENTIAL)");
CharSequence charSequence = this.username;
CharSequence charSequence2 = this.displayName;
PendingIntent pendingIntent = this.pendingIntent;
Icon icon = this.icon;
Intrinsics.checkNotNull(icon);
return new PublicKeyCredentialEntry(charSequence, charSequence2, string, pendingIntent, icon, this.lastUsedTime, this.autoSelectAllowed, this.beginGetPublicKeyCredentialOption, this.isDefaultIconPreferredAsSingleProvider, null, null, this.biometricPromptData, false, false, false, 30208, null);
}
}
}