- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
792 lines
40 KiB
Java
792 lines
40 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.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);
|
|
}
|
|
}
|
|
}
|