mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2025-01-09 13:43:22 +00:00
171 lines
10 KiB
Java
171 lines
10 KiB
Java
|
package okhttp3.internal.platform.android;
|
||
|
|
||
|
import io.sentry.protocol.OperatingSystem;
|
||
|
import java.lang.reflect.InvocationTargetException;
|
||
|
import java.lang.reflect.Method;
|
||
|
import java.nio.charset.Charset;
|
||
|
import java.nio.charset.StandardCharsets;
|
||
|
import java.util.List;
|
||
|
import javax.net.ssl.SSLSocket;
|
||
|
import javax.net.ssl.SSLSocketFactory;
|
||
|
import javax.net.ssl.X509TrustManager;
|
||
|
import kotlin.Metadata;
|
||
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||
|
import kotlin.jvm.internal.Intrinsics;
|
||
|
import kotlin.text.StringsKt;
|
||
|
import okhttp3.Protocol;
|
||
|
import okhttp3.internal.platform.AndroidPlatform;
|
||
|
import okhttp3.internal.platform.Platform;
|
||
|
import okhttp3.internal.platform.android.DeferredSocketAdapter;
|
||
|
import okhttp3.internal.platform.android.SocketAdapter;
|
||
|
|
||
|
/* compiled from: AndroidSocketAdapter.kt */
|
||
|
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000@\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0003\b\u0016\u0018\u0000 \u00182\u00020\u0001:\u0001\u0018B\u0015\u0012\u000e\u0010\u0002\u001a\n\u0012\u0006\b\u0000\u0012\u00020\u00040\u0003¢\u0006\u0002\u0010\u0005J(\u0010\f\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\u00042\b\u0010\u000f\u001a\u0004\u0018\u00010\u00102\f\u0010\u0011\u001a\b\u0012\u0004\u0012\u00020\u00130\u0012H\u0016J\u0012\u0010\u0014\u001a\u0004\u0018\u00010\u00102\u0006\u0010\u000e\u001a\u00020\u0004H\u0016J\b\u0010\u0015\u001a\u00020\u0016H\u0016J\u0010\u0010\u0017\u001a\u00020\u00162\u0006\u0010\u000e\u001a\u00020\u0004H\u0016R\u0016\u0010\u0006\u001a\n \b*\u0004\u0018\u00010\u00070\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u0016\u0010\t\u001a\n \b*\u0004\u0018\u00010\u00070\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u0016\u0010\n\u001a\n \b*\u0004\u0018\u00010\u00070\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u0016\u0010\u0002\u001a\n\u0012\u0006\b\u0000\u0012\u00020\u00040\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0019"}, d2 = {"Lokhttp3/internal/platform/android/AndroidSocketAdapter;", "Lokhttp3/internal/platform/android/SocketAdapter;", "sslSocketClass", "Ljava/lang/Class;", "Ljavax/net/ssl/SSLSocket;", "(Ljava/lang/Class;)V", "getAlpnSelectedProtocol", "Ljava/lang/reflect/Method;", "kotlin.jvm.PlatformType", "setAlpnProtocols", "setHostname", "setUseSessionTickets", "configureTlsExtensions", "", "sslSocket", "hostname", "", "protocols", "", "Lokhttp3/Protocol;", "getSelectedProtocol", "isSupported", "", "matchesSocket", "Companion", "okhttp"}, k = 1, mv = {1, 4, 0})
|
||
|
/* loaded from: classes3.dex */
|
||
|
public class AndroidSocketAdapter implements SocketAdapter {
|
||
|
|
||
|
/* renamed from: Companion, reason: from kotlin metadata */
|
||
|
public static final Companion INSTANCE;
|
||
|
private static final DeferredSocketAdapter.Factory playProviderFactory;
|
||
|
private final Method getAlpnSelectedProtocol;
|
||
|
private final Method setAlpnProtocols;
|
||
|
private final Method setHostname;
|
||
|
private final Method setUseSessionTickets;
|
||
|
private final Class<? super SSLSocket> sslSocketClass;
|
||
|
|
||
|
public AndroidSocketAdapter(Class<? super SSLSocket> sslSocketClass) {
|
||
|
Intrinsics.checkNotNullParameter(sslSocketClass, "sslSocketClass");
|
||
|
this.sslSocketClass = sslSocketClass;
|
||
|
Method declaredMethod = sslSocketClass.getDeclaredMethod("setUseSessionTickets", Boolean.TYPE);
|
||
|
Intrinsics.checkNotNullExpressionValue(declaredMethod, "sslSocketClass.getDeclar…:class.javaPrimitiveType)");
|
||
|
this.setUseSessionTickets = declaredMethod;
|
||
|
this.setHostname = sslSocketClass.getMethod("setHostname", String.class);
|
||
|
this.getAlpnSelectedProtocol = sslSocketClass.getMethod("getAlpnSelectedProtocol", new Class[0]);
|
||
|
this.setAlpnProtocols = sslSocketClass.getMethod("setAlpnProtocols", byte[].class);
|
||
|
}
|
||
|
|
||
|
@Override // okhttp3.internal.platform.android.SocketAdapter
|
||
|
public boolean matchesSocketFactory(SSLSocketFactory sslSocketFactory) {
|
||
|
Intrinsics.checkNotNullParameter(sslSocketFactory, "sslSocketFactory");
|
||
|
return SocketAdapter.DefaultImpls.matchesSocketFactory(this, sslSocketFactory);
|
||
|
}
|
||
|
|
||
|
@Override // okhttp3.internal.platform.android.SocketAdapter
|
||
|
public X509TrustManager trustManager(SSLSocketFactory sslSocketFactory) {
|
||
|
Intrinsics.checkNotNullParameter(sslSocketFactory, "sslSocketFactory");
|
||
|
return SocketAdapter.DefaultImpls.trustManager(this, sslSocketFactory);
|
||
|
}
|
||
|
|
||
|
@Override // okhttp3.internal.platform.android.SocketAdapter
|
||
|
public boolean isSupported() {
|
||
|
return AndroidPlatform.INSTANCE.isSupported();
|
||
|
}
|
||
|
|
||
|
@Override // okhttp3.internal.platform.android.SocketAdapter
|
||
|
public boolean matchesSocket(SSLSocket sslSocket) {
|
||
|
Intrinsics.checkNotNullParameter(sslSocket, "sslSocket");
|
||
|
return this.sslSocketClass.isInstance(sslSocket);
|
||
|
}
|
||
|
|
||
|
@Override // okhttp3.internal.platform.android.SocketAdapter
|
||
|
public void configureTlsExtensions(SSLSocket sslSocket, String hostname, List<? extends Protocol> protocols) {
|
||
|
Intrinsics.checkNotNullParameter(sslSocket, "sslSocket");
|
||
|
Intrinsics.checkNotNullParameter(protocols, "protocols");
|
||
|
if (matchesSocket(sslSocket)) {
|
||
|
try {
|
||
|
this.setUseSessionTickets.invoke(sslSocket, true);
|
||
|
if (hostname != null) {
|
||
|
this.setHostname.invoke(sslSocket, hostname);
|
||
|
}
|
||
|
this.setAlpnProtocols.invoke(sslSocket, Platform.INSTANCE.concatLengthPrefixed(protocols));
|
||
|
} catch (IllegalAccessException e) {
|
||
|
throw new AssertionError(e);
|
||
|
} catch (InvocationTargetException e2) {
|
||
|
throw new AssertionError(e2);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override // okhttp3.internal.platform.android.SocketAdapter
|
||
|
public String getSelectedProtocol(SSLSocket sslSocket) {
|
||
|
Intrinsics.checkNotNullParameter(sslSocket, "sslSocket");
|
||
|
if (!matchesSocket(sslSocket)) {
|
||
|
return null;
|
||
|
}
|
||
|
try {
|
||
|
byte[] bArr = (byte[]) this.getAlpnSelectedProtocol.invoke(sslSocket, new Object[0]);
|
||
|
if (bArr == null) {
|
||
|
return null;
|
||
|
}
|
||
|
Charset charset = StandardCharsets.UTF_8;
|
||
|
Intrinsics.checkNotNullExpressionValue(charset, "StandardCharsets.UTF_8");
|
||
|
return new String(bArr, charset);
|
||
|
} catch (IllegalAccessException e) {
|
||
|
throw new AssertionError(e);
|
||
|
} catch (NullPointerException e2) {
|
||
|
if (Intrinsics.areEqual(e2.getMessage(), "ssl == null")) {
|
||
|
return null;
|
||
|
}
|
||
|
throw e2;
|
||
|
} catch (InvocationTargetException e3) {
|
||
|
throw new AssertionError(e3);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/* compiled from: AndroidSocketAdapter.kt */
|
||
|
@Metadata(bv = {1, 0, 3}, d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u0018\u0010\u0007\u001a\u00020\b2\u000e\u0010\t\u001a\n\u0012\u0006\b\u0000\u0012\u00020\u000b0\nH\u0002J\u000e\u0010\f\u001a\u00020\u00042\u0006\u0010\r\u001a\u00020\u000eR\u0011\u0010\u0003\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u000f"}, d2 = {"Lokhttp3/internal/platform/android/AndroidSocketAdapter$Companion;", "", "()V", "playProviderFactory", "Lokhttp3/internal/platform/android/DeferredSocketAdapter$Factory;", "getPlayProviderFactory", "()Lokhttp3/internal/platform/android/DeferredSocketAdapter$Factory;", OperatingSystem.JsonKeys.BUILD, "Lokhttp3/internal/platform/android/AndroidSocketAdapter;", "actualSSLSocketClass", "Ljava/lang/Class;", "Ljavax/net/ssl/SSLSocket;", "factory", "packageName", "", "okhttp"}, k = 1, mv = {1, 4, 0})
|
||
|
/* loaded from: classes3.dex */
|
||
|
public static final class Companion {
|
||
|
private Companion() {
|
||
|
}
|
||
|
|
||
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||
|
this();
|
||
|
}
|
||
|
|
||
|
public final DeferredSocketAdapter.Factory getPlayProviderFactory() {
|
||
|
return AndroidSocketAdapter.playProviderFactory;
|
||
|
}
|
||
|
|
||
|
/* JADX INFO: Access modifiers changed from: private */
|
||
|
public final AndroidSocketAdapter build(Class<? super SSLSocket> actualSSLSocketClass) {
|
||
|
Class<? super SSLSocket> cls = actualSSLSocketClass;
|
||
|
while (cls != null && (!Intrinsics.areEqual(cls.getSimpleName(), "OpenSSLSocketImpl"))) {
|
||
|
cls = cls.getSuperclass();
|
||
|
if (cls == null) {
|
||
|
throw new AssertionError("No OpenSSLSocketImpl superclass of socket of type " + actualSSLSocketClass);
|
||
|
}
|
||
|
}
|
||
|
Intrinsics.checkNotNull(cls);
|
||
|
return new AndroidSocketAdapter(cls);
|
||
|
}
|
||
|
|
||
|
public final DeferredSocketAdapter.Factory factory(final String packageName) {
|
||
|
Intrinsics.checkNotNullParameter(packageName, "packageName");
|
||
|
return new DeferredSocketAdapter.Factory() { // from class: okhttp3.internal.platform.android.AndroidSocketAdapter$Companion$factory$1
|
||
|
@Override // okhttp3.internal.platform.android.DeferredSocketAdapter.Factory
|
||
|
public boolean matchesSocket(SSLSocket sslSocket) {
|
||
|
Intrinsics.checkNotNullParameter(sslSocket, "sslSocket");
|
||
|
String name = sslSocket.getClass().getName();
|
||
|
Intrinsics.checkNotNullExpressionValue(name, "sslSocket.javaClass.name");
|
||
|
return StringsKt.startsWith$default(name, packageName + '.', false, 2, (Object) null);
|
||
|
}
|
||
|
|
||
|
@Override // okhttp3.internal.platform.android.DeferredSocketAdapter.Factory
|
||
|
public SocketAdapter create(SSLSocket sslSocket) {
|
||
|
AndroidSocketAdapter build;
|
||
|
Intrinsics.checkNotNullParameter(sslSocket, "sslSocket");
|
||
|
build = AndroidSocketAdapter.INSTANCE.build(sslSocket.getClass());
|
||
|
return build;
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static {
|
||
|
Companion companion = new Companion(null);
|
||
|
INSTANCE = companion;
|
||
|
playProviderFactory = companion.factory("com.google.android.gms.org.conscrypt");
|
||
|
}
|
||
|
}
|