discord-jadx/app/src/main/java/com/discord/utilities/websocket/ZLibWebSocketListener.java

184 lines
7.3 KiB
Java

package com.discord.utilities.websocket;
import androidx.core.app.NotificationCompat;
import com.adjust.sdk.Constants;
import com.discord.models.domain.ModelAuditLogEntry;
import d0.y.b;
import d0.y.i;
import d0.z.d.m;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.util.zip.Inflater;
import java.util.zip.InflaterOutputStream;
import kotlin.jvm.internal.DefaultConstructorMarker;
import okhttp3.Response;
import okhttp3.WebSocket;
import okhttp3.WebSocketListener;
import okio.ByteString;
/* compiled from: ZLibWebSocketListener.kt */
public final class ZLibWebSocketListener extends WebSocketListener {
private final Inflater inflater = new Inflater();
private final Listener listener;
private final Inflater loggingInflater = new Inflater();
/* compiled from: ZLibWebSocketListener.kt */
public static abstract class Listener extends WebSocketListener {
private final RawMessageHandler rawMessageHandler;
public RawMessageHandler getRawMessageHandler() {
return this.rawMessageHandler;
}
public abstract void onInflateError(Exception exc);
public abstract void onInflatedMessage(WebSocket webSocket, InputStreamReader inputStreamReader, int i);
@Override // okhttp3.WebSocketListener
public final void onMessage(WebSocket webSocket, String str) {
m.checkNotNullParameter(webSocket, "webSocket");
m.checkNotNullParameter(str, NotificationCompat.MessagingStyle.Message.KEY_TEXT);
throw new UnsupportedOperationException();
}
@Override // okhttp3.WebSocketListener
public final void onMessage(WebSocket webSocket, ByteString byteString) {
m.checkNotNullParameter(webSocket, "webSocket");
m.checkNotNullParameter(byteString, "bytes");
throw new UnsupportedOperationException();
}
}
/* compiled from: ZLibWebSocketListener.kt */
public static final class ZLibByteStream extends ByteArrayOutputStream {
public static final Companion Companion = new Companion(null);
private static final int INFLATE_BUFFER_SIZE = 4096;
private static final int INITIAL_BUFFER_SIZE_MULTIPLIER = 2;
private static final CharsetDecoder UTF8_DECODER = Charset.forName(Constants.ENCODING).newDecoder();
/* compiled from: ZLibWebSocketListener.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
}
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ZLibByteStream(ByteString byteString, Inflater inflater) {
super(byteString.j() * 2);
m.checkNotNullParameter(byteString, "bytes");
m.checkNotNullParameter(inflater, "inflater");
InflaterOutputStream inflaterOutputStream = new InflaterOutputStream(this, inflater, 4096);
byteString.r(inflaterOutputStream);
inflaterOutputStream.flush();
}
public final InputStreamReader toReader() {
return new InputStreamReader(new ByteArrayInputStream(((ByteArrayOutputStream) this).buf, 0, ((ByteArrayOutputStream) this).count), UTF8_DECODER);
}
}
public ZLibWebSocketListener(Listener listener) {
m.checkNotNullParameter(listener, "listener");
this.listener = listener;
}
private final void resetInflaters() {
this.inflater.reset();
this.loggingInflater.reset();
}
public final Listener getListener() {
return this.listener;
}
@Override // okhttp3.WebSocketListener
public void onClosed(WebSocket webSocket, int i, String str) {
m.checkNotNullParameter(webSocket, "webSocket");
m.checkNotNullParameter(str, ModelAuditLogEntry.CHANGE_KEY_REASON);
resetInflaters();
this.listener.onClosed(webSocket, i, str);
}
@Override // okhttp3.WebSocketListener
public void onClosing(WebSocket webSocket, int i, String str) {
m.checkNotNullParameter(webSocket, "webSocket");
m.checkNotNullParameter(str, ModelAuditLogEntry.CHANGE_KEY_REASON);
resetInflaters();
this.listener.onClosing(webSocket, i, str);
}
@Override // okhttp3.WebSocketListener
public void onFailure(WebSocket webSocket, Throwable th, Response response) {
m.checkNotNullParameter(webSocket, "webSocket");
m.checkNotNullParameter(th, "t");
resetInflaters();
this.listener.onFailure(webSocket, th, response);
}
@Override // okhttp3.WebSocketListener
public void onMessage(WebSocket webSocket, String str) {
m.checkNotNullParameter(webSocket, "webSocket");
m.checkNotNullParameter(str, NotificationCompat.MessagingStyle.Message.KEY_TEXT);
this.listener.onMessage(webSocket, str);
}
/* JADX WARNING: Code restructure failed: missing block: B:10:0x0035, code lost:
r3 = move-exception;
*/
/* JADX WARNING: Code restructure failed: missing block: B:11:0x0036, code lost:
d0.y.b.closeFinally(r0, r2);
*/
/* JADX WARNING: Code restructure failed: missing block: B:12:0x0039, code lost:
throw r3;
*/
/* JADX WARNING: Code restructure failed: missing block: B:24:0x0061, code lost:
r6 = move-exception;
*/
/* JADX WARNING: Code restructure failed: missing block: B:25:0x0062, code lost:
d0.y.b.closeFinally(r0, r5);
*/
/* JADX WARNING: Code restructure failed: missing block: B:26:0x0065, code lost:
throw r6;
*/
@Override // okhttp3.WebSocketListener
public void onMessage(WebSocket webSocket, ByteString byteString) {
m.checkNotNullParameter(webSocket, "webSocket");
m.checkNotNullParameter(byteString, "bytes");
if (this.listener.getRawMessageHandler() != null) {
try {
InputStreamReader reader = new ZLibByteStream(byteString, this.loggingInflater).toReader();
String readText = i.readText(reader);
RawMessageHandler rawMessageHandler = this.listener.getRawMessageHandler();
m.checkNotNull(rawMessageHandler);
rawMessageHandler.onRawMessage(readText);
b.closeFinally(reader, null);
} catch (Throwable th) {
RawMessageHandler rawMessageHandler2 = this.listener.getRawMessageHandler();
m.checkNotNull(rawMessageHandler2);
rawMessageHandler2.onRawMessageInflateFailed(th);
}
}
try {
InputStreamReader reader2 = new ZLibByteStream(byteString, this.inflater).toReader();
this.listener.onInflatedMessage(webSocket, reader2, byteString.j());
b.closeFinally(reader2, null);
} catch (Exception e) {
this.listener.onInflateError(e);
}
}
@Override // okhttp3.WebSocketListener
public void onOpen(WebSocket webSocket, Response response) {
m.checkNotNullParameter(webSocket, "webSocket");
m.checkNotNullParameter(response, "response");
resetInflaters();
this.listener.onOpen(webSocket, response);
}
}