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
This commit is contained in:
2026-02-18 15:48:36 -08:00
parent c19eb3d7ff
commit c080f0d97f
26930 changed files with 2529574 additions and 0 deletions

View File

@@ -0,0 +1,791 @@
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.R;
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\nCustomCredentialEntry.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CustomCredentialEntry.kt\nandroidx/credentials/provider/CustomCredentialEntry\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,907:1\n1#2:908\n*E\n"})
/* loaded from: classes.dex */
public final class CustomCredentialEntry extends CredentialEntry {
public static final Companion Companion = new Companion(null);
private static final String TAG = "CredentialEntry";
private final Icon icon;
private final boolean isAutoSelectAllowed;
private final boolean isAutoSelectAllowedFromOption;
private boolean isCreatedFromSlice;
private boolean isDefaultIconFromSlice;
private final Instant lastUsedTime;
private final PendingIntent pendingIntent;
private final CharSequence subtitle;
private final CharSequence title;
private final String type;
private final CharSequence typeDisplayName;
public static final CustomCredentialEntry fromCredentialEntry(android.service.credentials.CredentialEntry credentialEntry) {
return Companion.fromCredentialEntry(credentialEntry);
}
@SuppressLint({"WrongConstant"})
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final CustomCredentialEntry fromSlice(Slice slice) {
return Companion.fromSlice(slice);
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final Slice toSlice(CustomCredentialEntry customCredentialEntry) {
return Companion.toSlice(customCredentialEntry);
}
public final Icon getIcon() {
return this.icon;
}
public final Instant getLastUsedTime() {
return this.lastUsedTime;
}
public final PendingIntent getPendingIntent() {
return this.pendingIntent;
}
public final CharSequence getSubtitle() {
return this.subtitle;
}
public final CharSequence getTitle() {
return this.title;
}
@Override // androidx.credentials.provider.CredentialEntry
public String getType() {
return this.type;
}
public final CharSequence getTypeDisplayName() {
return this.typeDisplayName;
}
public final boolean isAutoSelectAllowed() {
return this.isAutoSelectAllowed;
}
public final boolean isAutoSelectAllowedFromOption() {
return this.isAutoSelectAllowedFromOption;
}
public /* synthetic */ CustomCredentialEntry(String str, CharSequence charSequence, PendingIntent pendingIntent, boolean z, CharSequence charSequence2, CharSequence charSequence3, Icon icon, Instant instant, BeginGetCredentialOption beginGetCredentialOption, boolean z2, CharSequence charSequence4, CharSequence charSequence5, BiometricPromptData biometricPromptData, boolean z3, boolean z4, boolean z5, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(str, charSequence, pendingIntent, z, charSequence2, charSequence3, icon, instant, beginGetCredentialOption, z2, (i & 1024) != 0 ? charSequence : charSequence4, (i & 2048) != 0 ? null : charSequence5, (i & 4096) != 0 ? null : biometricPromptData, (i & 8192) != 0 ? CredentialOption.Companion.extractAutoSelectValue$credentials_release(beginGetCredentialOption.getCandidateQueryData()) : z3, (i & 16384) != 0 ? false : z4, (i & 32768) != 0 ? false : z5);
}
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
public CustomCredentialEntry(String type, CharSequence title, PendingIntent pendingIntent, boolean z, CharSequence charSequence, CharSequence charSequence2, Icon icon, Instant instant, BeginGetCredentialOption beginGetCredentialOption, boolean z2, CharSequence charSequence3, CharSequence charSequence4, BiometricPromptData biometricPromptData, boolean z3, boolean z4, boolean z5) {
super(type, beginGetCredentialOption, charSequence3 == null ? title : charSequence3, z2, charSequence4, biometricPromptData);
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(title, "title");
Intrinsics.checkNotNullParameter(pendingIntent, "pendingIntent");
Intrinsics.checkNotNullParameter(icon, "icon");
Intrinsics.checkNotNullParameter(beginGetCredentialOption, "beginGetCredentialOption");
this.type = type;
this.title = title;
this.pendingIntent = pendingIntent;
this.isAutoSelectAllowed = z;
this.subtitle = charSequence;
this.typeDisplayName = charSequence2;
this.icon = icon;
this.lastUsedTime = instant;
this.isCreatedFromSlice = z4;
this.isDefaultIconFromSlice = z5;
this.isAutoSelectAllowedFromOption = z3;
if (getType().length() <= 0) {
throw new IllegalArgumentException("type must not be empty".toString());
}
if (title.length() <= 0) {
throw new IllegalArgumentException("title 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 */ CustomCredentialEntry(android.content.Context r14, java.lang.CharSequence r15, android.app.PendingIntent r16, androidx.credentials.provider.BeginGetCredentialOption r17, java.lang.CharSequence r18, java.lang.CharSequence r19, java.time.Instant r20, android.graphics.drawable.Icon 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 L19
r10 = r2
goto L1b
L19:
r10 = r20
L1b:
r1 = r0 & 128(0x80, float:1.8E-43)
if (r1 == 0) goto L2d
int r1 = androidx.credentials.R.drawable.ic_other_sign_in
r2 = r14
android.graphics.drawable.Icon r1 = android.graphics.drawable.Icon.createWithResource(r14, r1)
java.lang.String r3 = "createWithResource(conte…rawable.ic_other_sign_in)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r1, r3)
r11 = r1
goto L30
L2d:
r2 = r14
r11 = r21
L30:
r0 = r0 & 256(0x100, float:3.59E-43)
if (r0 == 0) goto L37
r0 = 0
r12 = r0
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.CustomCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetCredentialOption, java.lang.CharSequence, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker):void");
}
/* JADX WARN: 'this' call moved to the top of the method (can break code semantics) */
public /* synthetic */ CustomCredentialEntry(Context context, CharSequence title, PendingIntent pendingIntent, BeginGetCredentialOption beginGetCredentialOption, CharSequence charSequence, CharSequence charSequence2, Instant instant, Icon icon, boolean z) {
this(beginGetCredentialOption.getType(), title, pendingIntent, z, charSequence, charSequence2, icon, instant, beginGetCredentialOption, false, null, null, null, false, false, false, 64512, null);
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(title, "title");
Intrinsics.checkNotNullParameter(pendingIntent, "pendingIntent");
Intrinsics.checkNotNullParameter(beginGetCredentialOption, "beginGetCredentialOption");
Intrinsics.checkNotNullParameter(icon, "icon");
}
/* 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 */ CustomCredentialEntry(android.content.Context r17, java.lang.CharSequence r18, android.app.PendingIntent r19, androidx.credentials.provider.BeginGetCredentialOption r20, java.lang.CharSequence r21, java.lang.CharSequence r22, java.time.Instant r23, android.graphics.drawable.Icon r24, boolean r25, java.lang.CharSequence r26, boolean r27, androidx.credentials.provider.BiometricPromptData r28, int r29, kotlin.jvm.internal.DefaultConstructorMarker r30) {
/*
r16 = this;
r0 = r29
r1 = r0 & 16
r2 = 0
if (r1 == 0) goto L9
r8 = r2
goto Lb
L9:
r8 = r21
Lb:
r1 = r0 & 32
if (r1 == 0) goto L11
r9 = r2
goto L13
L11:
r9 = r22
L13:
r1 = r0 & 64
if (r1 == 0) goto L19
r10 = r2
goto L1b
L19:
r10 = r23
L1b:
r1 = r0 & 128(0x80, float:1.8E-43)
if (r1 == 0) goto L2e
int r1 = androidx.credentials.R.drawable.ic_other_sign_in
r4 = r17
android.graphics.drawable.Icon r1 = android.graphics.drawable.Icon.createWithResource(r4, r1)
java.lang.String r3 = "createWithResource(conte…rawable.ic_other_sign_in)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r1, r3)
r11 = r1
goto L32
L2e:
r4 = r17
r11 = r24
L32:
r1 = r0 & 256(0x100, float:3.59E-43)
r3 = 0
if (r1 == 0) goto L39
r12 = r3
goto L3b
L39:
r12 = r25
L3b:
r1 = r0 & 512(0x200, float:7.17E-43)
if (r1 == 0) goto L42
r13 = r18
goto L44
L42:
r13 = r26
L44:
r1 = r0 & 1024(0x400, float:1.435E-42)
if (r1 == 0) goto L4a
r14 = r3
goto L4c
L4a:
r14 = r27
L4c:
r0 = r0 & 2048(0x800, float:2.87E-42)
if (r0 == 0) goto L52
r15 = r2
goto L54
L52:
r15 = r28
L54:
r3 = r16
r4 = r17
r5 = r18
r6 = r19
r7 = r20
r3.<init>(r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.credentials.provider.CustomCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetCredentialOption, java.lang.CharSequence, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean, java.lang.CharSequence, boolean, androidx.credentials.provider.BiometricPromptData, int, kotlin.jvm.internal.DefaultConstructorMarker):void");
}
/* JADX WARN: 'this' call moved to the top of the method (can break code semantics) */
@RequiresApi(35)
public CustomCredentialEntry(Context context, CharSequence title, PendingIntent pendingIntent, BeginGetCredentialOption beginGetCredentialOption, CharSequence charSequence, CharSequence charSequence2, Instant instant, Icon icon, boolean z, CharSequence entryGroupId, boolean z2, BiometricPromptData biometricPromptData) {
this(beginGetCredentialOption.getType(), title, pendingIntent, z, charSequence, charSequence2, icon, instant, beginGetCredentialOption, z2, entryGroupId.length() == 0 ? title : entryGroupId, null, biometricPromptData, false, false, false, 59392, null);
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(title, "title");
Intrinsics.checkNotNullParameter(pendingIntent, "pendingIntent");
Intrinsics.checkNotNullParameter(beginGetCredentialOption, "beginGetCredentialOption");
Intrinsics.checkNotNullParameter(icon, "icon");
Intrinsics.checkNotNullParameter(entryGroupId, "entryGroupId");
}
/* 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 */ CustomCredentialEntry(android.content.Context r16, java.lang.CharSequence r17, android.app.PendingIntent r18, androidx.credentials.provider.BeginGetCredentialOption r19, java.lang.CharSequence r20, java.lang.CharSequence r21, java.time.Instant r22, android.graphics.drawable.Icon r23, boolean r24, java.lang.CharSequence r25, boolean r26, int r27, kotlin.jvm.internal.DefaultConstructorMarker r28) {
/*
r15 = this;
r0 = r27
r1 = r0 & 16
r2 = 0
if (r1 == 0) goto L9
r8 = r2
goto Lb
L9:
r8 = r20
Lb:
r1 = r0 & 32
if (r1 == 0) goto L11
r9 = r2
goto L13
L11:
r9 = r21
L13:
r1 = r0 & 64
if (r1 == 0) goto L19
r10 = r2
goto L1b
L19:
r10 = r22
L1b:
r1 = r0 & 128(0x80, float:1.8E-43)
if (r1 == 0) goto L2e
int r1 = androidx.credentials.R.drawable.ic_other_sign_in
r2 = r16
android.graphics.drawable.Icon r1 = android.graphics.drawable.Icon.createWithResource(r2, r1)
java.lang.String r3 = "createWithResource(conte…rawable.ic_other_sign_in)"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r1, r3)
r11 = r1
goto L32
L2e:
r2 = r16
r11 = r23
L32:
r1 = r0 & 256(0x100, float:3.59E-43)
r3 = 0
if (r1 == 0) goto L39
r12 = r3
goto L3b
L39:
r12 = r24
L3b:
r1 = r0 & 512(0x200, float:7.17E-43)
if (r1 == 0) goto L42
r13 = r17
goto L44
L42:
r13 = r25
L44:
r0 = r0 & 1024(0x400, float:1.435E-42)
if (r0 == 0) goto L4a
r14 = r3
goto L4c
L4a:
r14 = r26
L4c:
r3 = r15
r4 = r16
r5 = r17
r6 = r18
r7 = r19
r3.<init>(r4, r5, r6, r7, r8, r9, r10, r11, r12, r13, r14)
return
*/
throw new UnsupportedOperationException("Method not decompiled: androidx.credentials.provider.CustomCredentialEntry.<init>(android.content.Context, java.lang.CharSequence, android.app.PendingIntent, androidx.credentials.provider.BeginGetCredentialOption, java.lang.CharSequence, java.lang.CharSequence, java.time.Instant, android.graphics.drawable.Icon, boolean, java.lang.CharSequence, boolean, int, kotlin.jvm.internal.DefaultConstructorMarker):void");
}
/* JADX WARN: 'this' call moved to the top of the method (can break code semantics) */
public CustomCredentialEntry(Context context, CharSequence title, PendingIntent pendingIntent, BeginGetCredentialOption beginGetCredentialOption, CharSequence charSequence, CharSequence charSequence2, Instant instant, Icon icon, boolean z, CharSequence entryGroupId, boolean z2) {
this(beginGetCredentialOption.getType(), title, pendingIntent, z, charSequence, charSequence2, icon, instant, beginGetCredentialOption, z2, entryGroupId.length() == 0 ? title : entryGroupId, null, null, false, false, false, 63488, null);
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(title, "title");
Intrinsics.checkNotNullParameter(pendingIntent, "pendingIntent");
Intrinsics.checkNotNullParameter(beginGetCredentialOption, "beginGetCredentialOption");
Intrinsics.checkNotNullParameter(icon, "icon");
Intrinsics.checkNotNullParameter(entryGroupId, "entryGroupId");
}
@RequiresApi(34)
public static final class Api34Impl {
public static final Api34Impl INSTANCE = new Api34Impl();
private Api34Impl() {
}
public static final CustomCredentialEntry fromCredentialEntry(android.service.credentials.CredentialEntry credentialEntry) {
Intrinsics.checkNotNullParameter(credentialEntry, "credentialEntry");
Slice slice = credentialEntry.getSlice();
Intrinsics.checkNotNullExpressionValue(slice, "credentialEntry.slice");
return CustomCredentialEntry.Companion.fromSlice(slice);
}
}
@RequiresApi(35)
@SourceDebugExtension({"SMAP\nCustomCredentialEntry.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CustomCredentialEntry.kt\nandroidx/credentials/provider/CustomCredentialEntry$Api35Impl\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,907:1\n1855#2,2:908\n*S KotlinDebug\n*F\n+ 1 CustomCredentialEntry.kt\nandroidx/credentials/provider/CustomCredentialEntry$Api35Impl\n*L\n370#1:908,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(CustomCredentialEntry 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(CustomCredentialEntry 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 CustomCredentialEntry fromSlice(Slice slice) {
List items;
boolean hasHint;
Intrinsics.checkNotNullParameter(slice, "slice");
CustomCredentialEntry 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 {
return new CustomCredentialEntry(fromSlice.getType(), fromSlice.getTitle(), fromSlice.getPendingIntent(), fromSlice.isAutoSelectAllowed(), fromSlice.getSubtitle(), fromSlice.getTypeDisplayName(), fromSlice.getIcon(), fromSlice.getLastUsedTime(), fromSlice.getBeginGetCredentialOption(), 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\nCustomCredentialEntry.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CustomCredentialEntry.kt\nandroidx/credentials/provider/CustomCredentialEntry$Api28Impl\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,907:1\n1855#2,2:908\n*S KotlinDebug\n*F\n+ 1 CustomCredentialEntry.kt\nandroidx/credentials/provider/CustomCredentialEntry$Api28Impl\n*L\n531#1:908,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(CustomCredentialEntry entry) {
Intrinsics.checkNotNullParameter(entry, "entry");
if (entry.isCreatedFromSlice) {
return entry.isDefaultIconFromSlice;
}
return entry.getIcon().getType() == 2 && entry.getIcon().getResId() == R.drawable.ic_other_sign_in;
}
@RestrictTo({RestrictTo.Scope.LIBRARY})
public static final Slice toSlice(CustomCredentialEntry 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(CustomCredentialEntry 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 title = entry.getTitle();
CharSequence subtitle = entry.getSubtitle();
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(title, null, CollectionsKt__CollectionsJVMKt.listOf(CredentialEntry.SLICE_HINT_TITLE)).addText(subtitle, 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 CustomCredentialEntry fromSlice(Slice slice) {
Iterator it;
Intrinsics.checkNotNullParameter(slice, "slice");
SliceSpec spec = slice.getSpec();
Intrinsics.checkNotNull(spec);
String type = spec.getType();
Intrinsics.checkNotNullExpressionValue(type, "slice.spec!!.type");
List<SliceItem> items = slice.getItems();
Intrinsics.checkNotNullExpressionValue(items, "slice.items");
Iterator it2 = items.iterator();
boolean z = false;
boolean z2 = false;
boolean z3 = false;
boolean z4 = false;
CharSequence charSequence = null;
CharSequence charSequence2 = null;
PendingIntent pendingIntent = null;
CharSequence charSequence3 = null;
CharSequence charSequence4 = null;
Icon icon = null;
Instant instant = null;
CharSequence charSequence5 = null;
CharSequence charSequence6 = null;
while (it2.hasNext()) {
SliceItem sliceItem = (SliceItem) it2.next();
if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_OPTION_ID)) {
charSequence = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_DEDUPLICATION_ID)) {
charSequence5 = sliceItem.getText();
} else {
it = it2;
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)) {
charSequence6 = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_TYPE_DISPLAY_NAME)) {
charSequence4 = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_TITLE)) {
charSequence2 = sliceItem.getText();
} else if (sliceItem.hasHint(CredentialEntry.SLICE_HINT_SUBTITLE)) {
charSequence3 = 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;
}
it2 = it;
}
it = it2;
it2 = it;
}
try {
Intrinsics.checkNotNull(charSequence2);
Intrinsics.checkNotNull(pendingIntent);
Intrinsics.checkNotNull(icon);
Intrinsics.checkNotNull(charSequence);
return new CustomCredentialEntry(type, charSequence2, pendingIntent, z, charSequence3, charSequence4, icon, instant, new BeginGetCustomCredentialOption(charSequence.toString(), type, new Bundle()), z2, charSequence5, charSequence6, null, z3, true, z4, 4096, 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(CustomCredentialEntry 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 CustomCredentialEntry 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 CustomCredentialEntry 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(CustomCredentialEntry customCredentialEntry, Bundle bundle, int i) {
Intrinsics.checkNotNullParameter(customCredentialEntry, "<this>");
Intrinsics.checkNotNullParameter(bundle, "bundle");
CredentialEntry.Companion.marshallCommonProperties$credentials_release(customCredentialEntry, bundle, i);
bundle.putParcelable(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_PENDING_INTENT_PREFIX + i, customCredentialEntry.getPendingIntent());
bundle.putBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_IS_AUTO_SELECT_ALLOWED_PREFIX + i, customCredentialEntry.isAutoSelectAllowed());
bundle.putBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_IS_AUTO_SELECT_ALLOWED_FROM_OPTION_PREFIX + i, customCredentialEntry.isAutoSelectAllowedFromOption());
bundle.putBoolean(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_HAS_DEFAULT_ICON_PREFIX + i, customCredentialEntry.hasDefaultIcon());
bundle.putCharSequence(CredentialEntry.EXTRA_CREDENTIAL_TITLE_PREFIX + i, customCredentialEntry.getTitle());
bundle.putCharSequence(CredentialEntry.EXTRA_CREDENTIAL_TYPE_DISPLAY_NAME_PREFIX + i, customCredentialEntry.getTypeDisplayName());
bundle.putParcelable(CredentialEntry.EXTRA_CREDENTIAL_TYPE_ICON_PREFIX + i, customCredentialEntry.getIcon());
CharSequence subtitle = customCredentialEntry.getSubtitle();
if (subtitle != null) {
bundle.putCharSequence(CredentialEntry.EXTRA_CREDENTIAL_SUBTITLE_PREFIX + i, subtitle);
}
Instant lastUsedTime = customCredentialEntry.getLastUsedTime();
if (lastUsedTime != null) {
bundle.putSerializable(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_LAST_USED_TIME_PREFIX + i, lastUsedTime);
}
}
public final CustomCredentialEntry unmarshall$credentials_release(Bundle bundle, int i, String type) {
Intrinsics.checkNotNullParameter(bundle, "bundle");
Intrinsics.checkNotNullParameter(type, "type");
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);
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);
Parcelable parcelable2 = bundle.getParcelable(CredentialEntry.EXTRA_CREDENTIAL_TYPE_ICON_PREFIX + i);
Intrinsics.checkNotNull(parcelable2);
return new CustomCredentialEntry(type, charSequence3, (PendingIntent) parcelable, z2, bundle.getCharSequence(CredentialEntry.EXTRA_CREDENTIAL_SUBTITLE_PREFIX + i), charSequence4, (Icon) parcelable2, (Instant) bundle.getSerializable(CredentialEntry.EXTRA_CREDENTIAL_ENTRY_LAST_USED_TIME_PREFIX + i), new BeginGetCustomCredentialOption(string, type, bundle2), z, charSequence, charSequence2, null, z3, true, z4);
} catch (Exception unused) {
return null;
}
}
}
@SourceDebugExtension({"SMAP\nCustomCredentialEntry.kt\nKotlin\n*S Kotlin\n*F\n+ 1 CustomCredentialEntry.kt\nandroidx/credentials/provider/CustomCredentialEntry$Builder\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,907:1\n1#2:908\n*E\n"})
public static final class Builder {
private boolean autoSelectAllowed;
private final BeginGetCredentialOption beginGetCredentialOption;
private BiometricPromptData biometricPromptData;
private final Context context;
private CharSequence entryGroupId;
private Icon icon;
private boolean isDefaultIconPreferredAsSingleProvider;
private Instant lastUsedTime;
private final PendingIntent pendingIntent;
private CharSequence subtitle;
private final CharSequence title;
private final String type;
private CharSequence typeDisplayName;
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 setIcon(Icon icon) {
Intrinsics.checkNotNullParameter(icon, "icon");
this.icon = icon;
return this;
}
public final Builder setLastUsedTime(Instant instant) {
this.lastUsedTime = instant;
return this;
}
public final Builder setSubtitle(CharSequence charSequence) {
this.subtitle = charSequence;
return this;
}
public final Builder setTypeDisplayName(CharSequence charSequence) {
this.typeDisplayName = charSequence;
return this;
}
public Builder(Context context, String type, CharSequence title, PendingIntent pendingIntent, BeginGetCredentialOption beginGetCredentialOption) {
Intrinsics.checkNotNullParameter(context, "context");
Intrinsics.checkNotNullParameter(type, "type");
Intrinsics.checkNotNullParameter(title, "title");
Intrinsics.checkNotNullParameter(pendingIntent, "pendingIntent");
Intrinsics.checkNotNullParameter(beginGetCredentialOption, "beginGetCredentialOption");
this.context = context;
this.type = type;
this.title = title;
this.pendingIntent = pendingIntent;
this.beginGetCredentialOption = beginGetCredentialOption;
this.entryGroupId = title;
}
public final Builder setEntryGroupId(CharSequence entryGroupId) {
Intrinsics.checkNotNullParameter(entryGroupId, "entryGroupId");
if (entryGroupId.length() <= 0) {
throw new IllegalArgumentException("entryGroupId must not be empty".toString());
}
this.entryGroupId = entryGroupId;
return this;
}
public final CustomCredentialEntry build() {
if (this.icon == null) {
this.icon = Icon.createWithResource(this.context, R.drawable.ic_other_sign_in);
}
String str = this.type;
CharSequence charSequence = this.title;
PendingIntent pendingIntent = this.pendingIntent;
boolean z = this.autoSelectAllowed;
CharSequence charSequence2 = this.subtitle;
CharSequence charSequence3 = this.typeDisplayName;
Icon icon = this.icon;
Intrinsics.checkNotNull(icon);
return new CustomCredentialEntry(str, charSequence, pendingIntent, z, charSequence2, charSequence3, icon, this.lastUsedTime, this.beginGetCredentialOption, this.isDefaultIconPreferredAsSingleProvider, this.entryGroupId, null, this.biometricPromptData, false, false, false, 59392, null);
}
}
}