正在查看: Rilo v2.0.21 应用的 EphemeralKeyManager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Rilo v2.0.21 应用的 EphemeralKeyManager.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.stripe.android;
import com.stripe.android.EphemeralOperation;
import com.stripe.android.core.ApiVersion;
import com.stripe.android.model.parsers.EphemeralKeyJsonParser;
import java.util.Calendar;
import java.util.concurrent.TimeUnit;
import kotlin.Metadata;
import kotlin.Result;
import kotlin.ResultKt;
import kotlin.Unit;
import kotlin.collections.SetsKt;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.text.StringsKt;
import org.json.JSONException;
import org.json.JSONObject;
@Metadata(d1 = {"\u0000V\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\t\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\b\n\u0002\u0010\b\n\u0002\b\u0006\b\u0000\u0018\u0000 '2\u00020\u0001:\u0004&'()BG\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\b\b\u0002\u0010\u0006\u001a\u00020\u0007\u0012\b\b\u0002\u0010\b\u001a\u00020\t\u0012\u0012\b\u0002\u0010\n\u001a\f\u0012\u0004\u0012\u00020\f0\u000bj\u0002`\r\u0012\b\b\u0002\u0010\u000e\u001a\u00020\f¢\u0006\u0002\u0010\u000fJ\u0015\u0010\u0018\u001a\u00020\u00192\u0006\u0010\u001a\u001a\u00020\u001bH\u0000¢\u0006\u0002\b\u001cJ\u0017\u0010\u001d\u001a\u00020\t2\b\u0010\u0012\u001a\u0004\u0018\u00010\u0013H\u0000¢\u0006\u0002\b\u001eJ\u001a\u0010\u001f\u001a\u00020\u00192\u0006\u0010\u001a\u001a\u00020\u001b2\b\u0010 \u001a\u0004\u0018\u00010\u0011H\u0002J \u0010!\u001a\u00020\u00192\u0006\u0010\"\u001a\u00020\u00112\u0006\u0010#\u001a\u00020$2\u0006\u0010%\u001a\u00020\u0011H\u0002R\u000e\u0010\u0010\u001a\u00020\u0011X\u0082\u0004¢\u0006\u0002\n\u0000R\u001c\u0010\u0012\u001a\u0004\u0018\u00010\u0013X\u0080\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0014\u0010\u0015\"\u0004\b\u0016\u0010\u0017R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u000e\u001a\u00020\fX\u0082\u0004¢\u0006\u0002\n\u0000R\u0018\u0010\n\u001a\f\u0012\u0004\u0012\u00020\f0\u000bj\u0002`\rX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006*"}, d2 = {"Lcom/stripe/android/EphemeralKeyManager;", "", "ephemeralKeyProvider", "Lcom/stripe/android/EphemeralKeyProvider;", "listener", "Lcom/stripe/android/EphemeralKeyManager$KeyManagerListener;", "operationIdFactory", "Lcom/stripe/android/OperationIdFactory;", "shouldPrefetchEphemeralKey", "", "timeSupplier", "Lkotlin/Function0;", "", "Lcom/stripe/android/TimeSupplier;", "timeBufferInSeconds", "(Lcom/stripe/android/EphemeralKeyProvider;Lcom/stripe/android/EphemeralKeyManager$KeyManagerListener;Lcom/stripe/android/OperationIdFactory;ZLkotlin/jvm/functions/Function0;J)V", "apiVersion", "", "ephemeralKey", "Lcom/stripe/android/EphemeralKey;", "getEphemeralKey$payments_core_release", "()Lcom/stripe/android/EphemeralKey;", "setEphemeralKey$payments_core_release", "(Lcom/stripe/android/EphemeralKey;)V", "retrieveEphemeralKey", "", "operation", "Lcom/stripe/android/EphemeralOperation;", "retrieveEphemeralKey$payments_core_release", "shouldRefreshKey", "shouldRefreshKey$payments_core_release", "updateKey", "key", "updateKeyError", "operationId", "errorCode", "", "errorMessage", "ClientKeyUpdateListener", "Companion", "Factory", "KeyManagerListener", "payments-core_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public final class EphemeralKeyManager {
private static final Companion Companion = new Companion(null);
private static final long REFRESH_BUFFER_IN_SECONDS = 30;
private final String apiVersion;
private EphemeralKey ephemeralKey;
private final EphemeralKeyProvider ephemeralKeyProvider;
private final KeyManagerListener listener;
private final long timeBufferInSeconds;
private final Function0<Long> timeSupplier;
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\b`\u0018\u00002\u00020\u0001J \u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00052\u0006\u0010\u0006\u001a\u00020\u00072\u0006\u0010\b\u001a\u00020\u0005H&J\u0018\u0010\t\u001a\u00020\u00032\u0006\u0010\n\u001a\u00020\u000b2\u0006\u0010\f\u001a\u00020\rH&¨\u0006\u000e"}, d2 = {"Lcom/stripe/android/EphemeralKeyManager$KeyManagerListener;", "", "onKeyError", "", "operationId", "", "errorCode", "", "errorMessage", "onKeyUpdate", "ephemeralKey", "Lcom/stripe/android/EphemeralKey;", "operation", "Lcom/stripe/android/EphemeralOperation;", "payments-core_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public interface KeyManagerListener {
void onKeyError(String operationId, int errorCode, String errorMessage);
void onKeyUpdate(EphemeralKey ephemeralKey, EphemeralOperation operation);
}
public EphemeralKeyManager(EphemeralKeyProvider ephemeralKeyProvider, KeyManagerListener keyManagerListener, OperationIdFactory operationIdFactory, boolean z, Function0<Long> function0, long j) {
Intrinsics.checkNotNullParameter(ephemeralKeyProvider, "ephemeralKeyProvider");
Intrinsics.checkNotNullParameter(keyManagerListener, "listener");
Intrinsics.checkNotNullParameter(operationIdFactory, "operationIdFactory");
Intrinsics.checkNotNullParameter(function0, "timeSupplier");
this.ephemeralKeyProvider = ephemeralKeyProvider;
this.listener = keyManagerListener;
this.timeSupplier = function0;
this.timeBufferInSeconds = j;
this.apiVersion = ApiVersion.INSTANCE.get().getCode();
if (z) {
retrieveEphemeralKey$payments_core_release(new EphemeralOperation.RetrieveKey(operationIdFactory.create(), SetsKt.emptySet()));
}
}
public EphemeralKeyManager(EphemeralKeyProvider ephemeralKeyProvider, KeyManagerListener keyManagerListener, OperationIdFactory operationIdFactory, boolean z, Function0 function0, long j, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(ephemeralKeyProvider, keyManagerListener, (i & 4) != 0 ? new StripeOperationIdFactory() : operationIdFactory, (i & 8) != 0 ? true : z, (i & 16) != 0 ? new Function0<Long>() {
public final Long m359invoke() {
return Long.valueOf(Calendar.getInstance().getTimeInMillis());
}
} : function0, (i & 32) != 0 ? 30L : j);
}
public final EphemeralKey getEphemeralKey() {
return this.ephemeralKey;
}
public final void setEphemeralKey$payments_core_release(EphemeralKey ephemeralKey) {
this.ephemeralKey = ephemeralKey;
}
public final void retrieveEphemeralKey$payments_core_release(EphemeralOperation operation) {
Intrinsics.checkNotNullParameter(operation, "operation");
EphemeralKey ephemeralKey = this.ephemeralKey;
Unit unit = null;
if (ephemeralKey == null || shouldRefreshKey$payments_core_release(ephemeralKey)) {
ephemeralKey = null;
}
if (ephemeralKey != null) {
this.listener.onKeyUpdate(ephemeralKey, operation);
unit = Unit.INSTANCE;
}
if (unit == null) {
this.ephemeralKeyProvider.createEphemeralKey(this.apiVersion, new ClientKeyUpdateListener(this, operation));
}
}
public final void updateKey(EphemeralOperation operation, String key) {
Object obj;
String trimIndent;
if (key == null) {
this.listener.onKeyError(operation.getId$payments_core_release(), 500, "EphemeralKeyUpdateListener.onKeyUpdate was called with a null value");
return;
}
try {
Result.Companion companion = Result.Companion;
EphemeralKeyManager ephemeralKeyManager = this;
EphemeralKey parse = new EphemeralKeyJsonParser().parse(new JSONObject(key));
this.ephemeralKey = parse;
obj = Result.constructor-impl(parse);
} catch (Throwable th) {
Result.Companion companion2 = Result.Companion;
obj = Result.constructor-impl(ResultKt.createFailure(th));
}
Throwable th2 = Result.exceptionOrNull-impl(obj);
if (th2 == null) {
this.listener.onKeyUpdate((EphemeralKey) obj, operation);
return;
}
if (th2 instanceof JSONException) {
trimIndent = StringsKt.trimIndent("\n Received an ephemeral key that could not be parsed. See https://stripe.com/docs/mobile/android/basic for more details.\n \n " + th2.getMessage() + "\n ");
} else {
trimIndent = StringsKt.trimIndent("\n Received an invalid ephemeral key. See https://stripe.com/docs/mobile/android/basic for more details.\n \n " + th2.getMessage() + "\n ");
}
this.listener.onKeyError(operation.getId$payments_core_release(), 500, trimIndent);
}
public final void updateKeyError(String operationId, int errorCode, String errorMessage) {
this.ephemeralKey = null;
this.listener.onKeyError(operationId, errorCode, errorMessage);
}
@Metadata(d1 = {"\u0000.\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\b\u0002\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\u0010\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\nH\u0016J\u0018\u0010\u000b\u001a\u00020\b2\u0006\u0010\f\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\nH\u0016R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u000f"}, d2 = {"Lcom/stripe/android/EphemeralKeyManager$ClientKeyUpdateListener;", "Lcom/stripe/android/EphemeralKeyUpdateListener;", "ephemeralKeyManager", "Lcom/stripe/android/EphemeralKeyManager;", "operation", "Lcom/stripe/android/EphemeralOperation;", "(Lcom/stripe/android/EphemeralKeyManager;Lcom/stripe/android/EphemeralOperation;)V", "onKeyUpdate", "", "stripeResponseJson", "", "onKeyUpdateFailure", "responseCode", "", "message", "payments-core_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
private static final class ClientKeyUpdateListener implements EphemeralKeyUpdateListener {
private final EphemeralKeyManager ephemeralKeyManager;
private final EphemeralOperation operation;
public ClientKeyUpdateListener(EphemeralKeyManager ephemeralKeyManager, EphemeralOperation ephemeralOperation) {
Intrinsics.checkNotNullParameter(ephemeralKeyManager, "ephemeralKeyManager");
Intrinsics.checkNotNullParameter(ephemeralOperation, "operation");
this.ephemeralKeyManager = ephemeralKeyManager;
this.operation = ephemeralOperation;
}
@Override
public void onKeyUpdate(String stripeResponseJson) {
Intrinsics.checkNotNullParameter(stripeResponseJson, "stripeResponseJson");
this.ephemeralKeyManager.updateKey(this.operation, stripeResponseJson);
}
@Override
public void onKeyUpdateFailure(int responseCode, String message) {
Intrinsics.checkNotNullParameter(message, "message");
this.ephemeralKeyManager.updateKeyError(this.operation.getId$payments_core_release(), responseCode, message);
}
}
public final boolean shouldRefreshKey$payments_core_release(EphemeralKey ephemeralKey) {
if (ephemeralKey == null) {
return true;
}
return ephemeralKey.getExpires$payments_core_release() < TimeUnit.MILLISECONDS.toSeconds(((Number) this.timeSupplier.invoke()).longValue()) + this.timeBufferInSeconds;
}
@Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\bà\u0080\u0001\u0018\u00002\u00020\u0001:\u0001\u0006J\u0010\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H&¨\u0006\u0007"}, d2 = {"Lcom/stripe/android/EphemeralKeyManager$Factory;", "", "create", "Lcom/stripe/android/EphemeralKeyManager;", "arg", "Lcom/stripe/android/EphemeralKeyManager$KeyManagerListener;", "Default", "payments-core_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public interface Factory {
EphemeralKeyManager create(KeyManagerListener arg);
@Metadata(d1 = {"\u00008\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010\t\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\b\u0007\u0018\u00002\u00020\u0001B3\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005\u0012\b\b\u0002\u0010\u0006\u001a\u00020\u0007\u0012\u0012\b\u0002\u0010\b\u001a\f\u0012\u0004\u0012\u00020\n0\tj\u0002`\u000b¢\u0006\u0002\u0010\fJ\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\u000f\u001a\u00020\u0010H\u0016R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u0018\u0010\b\u001a\f\u0012\u0004\u0012\u00020\n0\tj\u0002`\u000bX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0011"}, d2 = {"Lcom/stripe/android/EphemeralKeyManager$Factory$Default;", "Lcom/stripe/android/EphemeralKeyManager$Factory;", "keyProvider", "Lcom/stripe/android/EphemeralKeyProvider;", "shouldPrefetchEphemeralKey", "", "operationIdFactory", "Lcom/stripe/android/OperationIdFactory;", "timeSupplier", "Lkotlin/Function0;", "", "Lcom/stripe/android/TimeSupplier;", "(Lcom/stripe/android/EphemeralKeyProvider;ZLcom/stripe/android/OperationIdFactory;Lkotlin/jvm/functions/Function0;)V", "create", "Lcom/stripe/android/EphemeralKeyManager;", "arg", "Lcom/stripe/android/EphemeralKeyManager$KeyManagerListener;", "payments-core_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
public static final class Default implements Factory {
public static final int $stable = 0;
private final EphemeralKeyProvider keyProvider;
private final OperationIdFactory operationIdFactory;
private final boolean shouldPrefetchEphemeralKey;
private final Function0<Long> timeSupplier;
public Default(EphemeralKeyProvider ephemeralKeyProvider, boolean z, OperationIdFactory operationIdFactory, Function0<Long> function0) {
Intrinsics.checkNotNullParameter(ephemeralKeyProvider, "keyProvider");
Intrinsics.checkNotNullParameter(operationIdFactory, "operationIdFactory");
Intrinsics.checkNotNullParameter(function0, "timeSupplier");
this.keyProvider = ephemeralKeyProvider;
this.shouldPrefetchEphemeralKey = z;
this.operationIdFactory = operationIdFactory;
this.timeSupplier = function0;
}
public Default(EphemeralKeyProvider ephemeralKeyProvider, boolean z, StripeOperationIdFactory stripeOperationIdFactory, AnonymousClass1 anonymousClass1, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(ephemeralKeyProvider, z, (i & 4) != 0 ? new StripeOperationIdFactory() : stripeOperationIdFactory, (i & 8) != 0 ? new Function0<Long>() {
public final Long m360invoke() {
return Long.valueOf(Calendar.getInstance().getTimeInMillis());
}
} : anonymousClass1);
}
@Override
public EphemeralKeyManager create(KeyManagerListener arg) {
Intrinsics.checkNotNullParameter(arg, "arg");
return new EphemeralKeyManager(this.keyProvider, arg, this.operationIdFactory, this.shouldPrefetchEphemeralKey, this.timeSupplier, 0L, 32, null);
}
}
}
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lcom/stripe/android/EphemeralKeyManager$Companion;", "", "()V", "REFRESH_BUFFER_IN_SECONDS", "", "payments-core_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
private static final class Companion {
public Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
private Companion() {
}
}
}