Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

244 lines
9.7 KiB
Java

package csdk.glucentralservices.network;
import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.firebase.perf.network.FirebasePerfUrlConnection;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.URL;
import java.net.URLConnection;
import java.util.Collections;
import java.util.Map;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLHandshakeException;
import org.apache.http.client.methods.HttpPut;
/* loaded from: classes4.dex */
public class NetworkUtils {
private static final int REQUEST_TIME_OUT_MS = 3000;
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r1v0 */
/* JADX WARN: Type inference failed for: r1v1 */
/* JADX WARN: Type inference failed for: r1v2, types: [java.io.Closeable] */
/* JADX WARN: Type inference failed for: r1v3 */
/* JADX WARN: Type inference failed for: r3v1 */
/* JADX WARN: Type inference failed for: r3v4, types: [java.net.HttpURLConnection] */
/* JADX WARN: Type inference failed for: r3v8 */
/* JADX WARN: Type inference failed for: r3v9 */
public static NetworkResponse sendRequest(String str, URL url, Map<String, String> map, String str2, long j) {
?? r3;
HttpsURLConnection httpsURLConnection;
InputStream inputStream;
?? r1 = 0;
r1 = 0;
try {
try {
httpsURLConnection = openConnection(str, url, map, str2, j);
} catch (Throwable th) {
th = th;
r1 = map;
r3 = str;
}
try {
int responseCode = httpsURLConnection.getResponseCode();
inputStream = responseCode >= 400 ? httpsURLConnection.getErrorStream() : httpsURLConnection.getInputStream();
try {
NetworkResponse networkResponse = new NetworkResponse(responseCode, readAsByteArrayAndClose(inputStream), httpsURLConnection.getHeaderFields(), null);
close(inputStream);
httpsURLConnection.disconnect();
return networkResponse;
} catch (SSLHandshakeException e) {
e = e;
PrintStream printStream = System.out;
printStream.println("SSLHandshakeException occurred: " + e.getMessage());
Throwable cause = e.getCause();
if (cause != null) {
printStream.println("Cause: " + cause.getMessage());
}
e.printStackTrace();
NetworkResponse networkResponse2 = new NetworkResponse(-1, null, null, e);
close(inputStream);
if (httpsURLConnection != null) {
httpsURLConnection.disconnect();
}
return networkResponse2;
} catch (Exception e2) {
e = e2;
System.out.println("Exception type: " + e.getClass());
NetworkResponse networkResponse3 = new NetworkResponse(-1, null, null, e);
close(inputStream);
if (httpsURLConnection != null) {
httpsURLConnection.disconnect();
}
return networkResponse3;
}
} catch (SSLHandshakeException e3) {
e = e3;
inputStream = null;
} catch (Exception e4) {
e = e4;
inputStream = null;
} catch (Throwable th2) {
th = th2;
r3 = httpsURLConnection;
close(r1);
if (r3 != 0) {
r3.disconnect();
}
throw th;
}
} catch (SSLHandshakeException e5) {
e = e5;
httpsURLConnection = null;
inputStream = null;
} catch (Exception e6) {
e = e6;
httpsURLConnection = null;
inputStream = null;
} catch (Throwable th3) {
th = th3;
r3 = 0;
}
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Not initialized variable reg: 10, insn: 0x002f: MOVE (r0 I:??[OBJECT, ARRAY]) = (r10 I:??[OBJECT, ARRAY]), block:B:35:0x002f */
/* JADX WARN: Type inference failed for: r7v0, types: [java.net.URL] */
/* JADX WARN: Type inference failed for: r7v1 */
/* JADX WARN: Type inference failed for: r7v2 */
/* JADX WARN: Type inference failed for: r7v3, types: [java.net.HttpURLConnection] */
/* JADX WARN: Type inference failed for: r7v4, types: [java.net.HttpURLConnection] */
/* JADX WARN: Type inference failed for: r7v5, types: [java.net.HttpURLConnection, java.net.URLConnection, javax.net.ssl.HttpsURLConnection] */
public static NetworkResponse downloadIntoFile(URL url, File file, long j) {
InputStream inputStream;
Closeable closeable;
Closeable closeable2 = null;
try {
try {
url = openConnection("GET", url, Collections.emptyMap(), null, j);
} catch (Throwable th) {
th = th;
closeable2 = closeable;
}
try {
int responseCode = url.getResponseCode();
if (responseCode >= 200 && responseCode < 300) {
inputStream = url.getInputStream();
try {
copyIntoFile(inputStream, file);
NetworkResponse networkResponse = new NetworkResponse(responseCode, null, null, null);
close(inputStream);
url.disconnect();
return networkResponse;
} catch (Exception e) {
e = e;
NetworkResponse networkResponse2 = new NetworkResponse(-1, null, null, e);
close(inputStream);
if (url != 0) {
url.disconnect();
}
return networkResponse2;
}
}
NetworkResponse networkResponse3 = new NetworkResponse(responseCode, null, null, null);
close(null);
url.disconnect();
return networkResponse3;
} catch (Exception e2) {
e = e2;
inputStream = null;
} catch (Throwable th2) {
th = th2;
close(closeable2);
if (url != 0) {
url.disconnect();
}
throw th;
}
} catch (Exception e3) {
e = e3;
url = 0;
inputStream = null;
} catch (Throwable th3) {
th = th3;
url = 0;
}
}
public static void copyData(@NonNull InputStream inputStream, @NonNull OutputStream outputStream) throws IOException {
byte[] bArr = new byte[16384];
while (true) {
int read = inputStream.read(bArr);
if (read < 0) {
return;
} else {
outputStream.write(bArr, 0, read);
}
}
}
public static void copyIntoFile(@NonNull InputStream inputStream, @NonNull File file) throws IOException {
FileOutputStream fileOutputStream = new FileOutputStream(file);
try {
copyData(inputStream, fileOutputStream);
} finally {
fileOutputStream.close();
}
}
private static HttpsURLConnection openConnection(String str, URL url, Map<String, String> map, String str2, long j) throws IOException {
boolean z = TextUtils.equals(str, "POST") || TextUtils.equals(str, HttpPut.METHOD_NAME);
HttpsURLConnection httpsURLConnection = (HttpsURLConnection) ((URLConnection) FirebasePerfUrlConnection.instrument(url.openConnection()));
GluTLS12SocketFactory.fixTLSPre21(httpsURLConnection);
httpsURLConnection.setRequestMethod(str);
for (Map.Entry<String, String> entry : map.entrySet()) {
httpsURLConnection.setRequestProperty(entry.getKey(), entry.getValue());
}
httpsURLConnection.setAllowUserInteraction(false);
httpsURLConnection.setConnectTimeout(3000);
httpsURLConnection.setReadTimeout((int) j);
httpsURLConnection.setUseCaches(false);
if (z) {
httpsURLConnection.setDoOutput(true);
httpsURLConnection.connect();
OutputStream outputStream = httpsURLConnection.getOutputStream();
try {
outputStream.write(str2.getBytes("UTF-8"));
} finally {
outputStream.close();
}
} else {
httpsURLConnection.connect();
}
return httpsURLConnection;
}
private static byte[] readAsByteArrayAndClose(InputStream inputStream) throws IOException {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
try {
copyData(inputStream, byteArrayOutputStream);
return byteArrayOutputStream.toByteArray();
} finally {
byteArrayOutputStream.close();
}
}
private static void close(@Nullable Closeable closeable) {
if (closeable == null) {
return;
}
try {
closeable.close();
} catch (IOException unused) {
}
}
}