正在查看: 万能钥匙 v1.1.23 应用的 WebSocketClient.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 万能钥匙 v1.1.23 应用的 WebSocketClient.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.finogeeks.lib.applet.api.network.websocket;
import com.finogeeks.lib.applet.debugger.StethoWebSocketFactory;
import com.finogeeks.lib.applet.f.c.a0;
import com.finogeeks.lib.applet.f.c.c0;
import com.finogeeks.lib.applet.f.c.g0;
import com.finogeeks.lib.applet.f.c.h0;
import com.finogeeks.lib.applet.f.c.s;
import com.finogeeks.lib.applet.f.c.x;
import com.finogeeks.lib.applet.f.d.f;
import com.finogeeks.lib.applet.main.host.Host;
import com.finogeeks.lib.applet.modules.ext.r;
import com.finogeeks.lib.applet.modules.log.FLog;
import com.finogeeks.lib.applet.modules.log.FLogCommonTag;
import com.finogeeks.lib.applet.rest.FinAppletHostnameVerifier;
import com.finogeeks.lib.applet.utils.OkHttpUtil;
import hh0.l;
import java.net.ConnectException;
import java.net.SocketException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.TimeUnit;
import javax.net.ssl.SSLException;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.n;
import kotlin.jvm.internal.p;
import kotlin.jvm.internal.y;
import lg0.h;
import lg0.i;
import org.json.JSONObject;
import tj0.t;
import tj0.u;
@Metadata(d1 = {"\u0000X\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010 \n\u0000\n\u0002\u0010\t\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\b\u0005\u0018\u00002\u00020\u0001:\u0002-.B\u001f\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0004\u0012\u0006\u0010\u0007\u001a\u00020\u0006¢\u0006\u0004\b\b\u0010\tJ\u001f\u0010\u000e\u001a\u00020\r2\u0006\u0010\u000b\u001a\u00020\n2\b\u0010\f\u001a\u0004\u0018\u00010\u0004¢\u0006\u0004\b\u000e\u0010\u000fJA\u0010\u0018\u001a\u0004\u0018\u00010\u00042\u0006\u0010\u0010\u001a\u00020\u00042\b\u0010\u0012\u001a\u0004\u0018\u00010\u00112\u000e\u0010\u0014\u001a\n\u0012\u0004\u0012\u00020\u0004\u0018\u00010\u00132\u0006\u0010\u0016\u001a\u00020\u00152\u0006\u0010\u0017\u001a\u00020\u0015¢\u0006\u0004\b\u0018\u0010\u0019J\u0015\u0010\u001c\u001a\u00020\r2\u0006\u0010\u001b\u001a\u00020\u001a¢\u0006\u0004\b\u001c\u0010\u001dJ\u0015\u0010\u001c\u001a\u00020\r2\u0006\u0010\u001b\u001a\u00020\u0004¢\u0006\u0004\b\u001c\u0010\u001eR\u0014\u0010\u0007\u001a\u00020\u00068\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0007\u0010\u001fR#\u0010&\u001a\n !*\u0004\u0018\u00010 0 8BX\u0082\u0084\u0002¢\u0006\f\n\u0004\b\"\u0010#\u001a\u0004\b$\u0010%R\u0017\u0010\u0005\u001a\u00020\u00048\u0006¢\u0006\f\n\u0004\b\u0005\u0010'\u001a\u0004\b(\u0010)R\u0018\u0010+\u001a\u0004\u0018\u00010*8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b+\u0010,¨\u0006/"}, d2 = {"Lcom/finogeeks/lib/applet/api/network/websocket/WebSocketClient;", "", "Lcom/finogeeks/lib/applet/main/host/Host;", "host", "", "socketId", "Lcom/finogeeks/lib/applet/api/network/websocket/WebSocketClient$Callback;", "callback", "<init>", "(Lcom/finogeeks/lib/applet/main/host/Host;Ljava/lang/String;Lcom/finogeeks/lib/applet/api/network/websocket/WebSocketClient$Callback;)V", "", "code", "reason", "", "close", "(ILjava/lang/String;)Z", "url", "Lorg/json/JSONObject;", "header", "", "protocols", "", "timeout", "pingInterval", "newWebSocket", "(Ljava/lang/String;Lorg/json/JSONObject;Ljava/util/List;JJ)Ljava/lang/String;", "Lcom/finogeeks/lib/applet/externallib/okio/ByteString;", "data", "sendMessage", "(Lcom/finogeeks/lib/applet/externallib/okio/ByteString;)Z", "(Ljava/lang/String;)Z", "Lcom/finogeeks/lib/applet/api/network/websocket/WebSocketClient$Callback;", "Lcom/finogeeks/lib/applet/externallib/okhttp3/OkHttpClient;", "kotlin.jvm.PlatformType", "okHttpClient$delegate", "Llg0/h;", "getOkHttpClient", "()Lcom/finogeeks/lib/applet/externallib/okhttp3/OkHttpClient;", "okHttpClient", "Ljava/lang/String;", "getSocketId", "()Ljava/lang/String;", "Lcom/finogeeks/lib/applet/externallib/okhttp3/WebSocket;", "webSocket", "Lcom/finogeeks/lib/applet/externallib/okhttp3/WebSocket;", "Callback", "Companion", "finapplet_release"}, k = 1, mv = {1, 4, 0})
public final class WebSocketClient {
private final h a;
private g0 b;
private final String c;
private final a d;
static final l[] e = {kotlin.jvm.internal.g0.j(new y(kotlin.jvm.internal.g0.b(WebSocketClient.class), "okHttpClient", "getOkHttpClient()Lcom/finogeeks/lib/applet/externallib/okhttp3/OkHttpClient;"))};
public static final b l = new b(null);
private static final b.a f = new b.a(1004, "open fail:_code:22_msg:Invalid argument", "连接异常-IP格式错误");
private static final b.a g = new b.a(1004, "open fail: _code:113,_msg:No route to host", "连接异常-IP格式正确,但是IP无效");
private static final b.a h = new b.a(1004, "open fail:_code:23,_msg:The total timed out", "连接异常-超时(IP对,端口错)");
private static final b.a i = new b.a(1004, "open fail: _code:8,_msg:TLS handshake failed", "连接异常-SSL证书错误,wss格式不支持");
private static final b.a j = new b.a(1006, "", "连接异常-服务器断连");
private static final b.a k = new b.a(1006, "abnormal closure", "连接异常");
public interface a {
void a(String str);
void a(String str, int i, String str2);
void a(String str, f fVar);
void a(String str, String str2);
void a(String str, JSONObject jSONObject);
void b(String str, int i, String str2);
}
@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\u0002\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0010\u0003\n\u0002\b\u0002\b\u0086\u0003\u0018\u00002\u00020\u0001:\u0001\u0011B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J\u000e\u0010\u000e\u001a\u00020\u00042\u0006\u0010\u000f\u001a\u00020\u0010R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0086T¢\u0006\u0002\n\u0000R\u000e\u0010\b\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000R\u000e\u0010\u000b\u001a\u00020\fX\u0082T¢\u0006\u0002\n\u0000R\u000e\u0010\r\u001a\u00020\u0004X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0012"}, d2 = {"Lcom/finogeeks/lib/applet/api/network/websocket/WebSocketClient$Companion;", "", "()V", "CONNECT_EXCEPTION", "Lcom/finogeeks/lib/applet/api/network/websocket/WebSocketClient$Companion$WebSocketErr;", "CONNECT_NO_ROUTE_EXCEPTION", "ERR_CODE", "", "OTHER_EXCEPTION", "SERVER_SOCKET_EXCEPTION", "SSL_EXCEPTION", "TAG", "", "TIMEOUT_EXCEPTION", "convert", "t", "", "WebSocketErr", "finapplet_release"}, k = 1, mv = {1, 1, 16})
public static final class b {
public static final class a {
private final int a;
private final String b;
private final String c;
public a(int i, String str, String str2) {
n.j(str, "errMsg");
n.j(str2, "desc");
this.a = i;
this.b = str;
this.c = str2;
}
public final int a() {
return this.a;
}
public final String b() {
return this.b;
}
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof a)) {
return false;
}
a aVar = (a) obj;
return this.a == aVar.a && n.d(this.b, aVar.b) && n.d(this.c, aVar.c);
}
public int hashCode() {
int i = this.a * 31;
String str = this.b;
int hashCode = (i + (str != null ? str.hashCode() : 0)) * 31;
String str2 = this.c;
return hashCode + (str2 != null ? str2.hashCode() : 0);
}
public String toString() {
return "WebSocketErr(errCode=" + this.a + ", errMsg=" + this.b + ", desc=" + this.c + ")";
}
}
private b() {
}
public b(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public final a a(Throwable th2) {
String message;
n.j(th2, "t");
if (th2 instanceof ConnectException) {
Throwable cause = th2.getCause();
if (cause != null && (message = cause.getMessage()) != null) {
r3 = Boolean.valueOf(u.Q(message, "No route to host", false, 2, (Object) null));
}
return n.d(r3, Boolean.TRUE) ? WebSocketClient.g : WebSocketClient.f;
}
if (th2 instanceof SocketTimeoutException) {
return WebSocketClient.h;
}
if (th2 instanceof SSLException) {
return WebSocketClient.i;
}
if (!(th2 instanceof SocketException)) {
return WebSocketClient.k;
}
String message2 = th2.getMessage();
return n.d(message2 != null ? Boolean.valueOf(u.Q(message2, "Connection reset", false, 2, (Object) null)) : null, Boolean.TRUE) ? WebSocketClient.j : WebSocketClient.k;
}
}
public static final class c extends h0 {
public c() {
}
@Override
public void a(g0 g0Var, int i, String str) {
n.j(g0Var, "webSocket");
n.j(str, "reason");
FLog.d$default("WebSocketClient", "onClosed code=" + i + ", reason=" + str, null, 4, null);
WebSocketClient.this.d.b(WebSocketClient.this.getC(), i, str);
}
@Override
public void a(g0 g0Var, c0 c0Var) {
n.j(g0Var, "webSocket");
n.j(c0Var, "response");
FLog.d$default("WebSocketClient", "onOpen response=" + c0Var, null, 4, null);
s q = c0Var.q();
JSONObject jSONObject = new JSONObject();
int d = q.d();
for (int i = 0; i < d; i++) {
jSONObject.put(q.a(i), q.b(i));
}
WebSocketClient.this.d.a(WebSocketClient.this.getC(), jSONObject);
}
@Override
public void a(g0 g0Var, f fVar) {
n.j(g0Var, "webSocket");
n.j(fVar, "bytes");
FLog.d$default("WebSocketClient", "onMessage bytes=" + fVar, null, 4, null);
WebSocketClient.this.d.a(WebSocketClient.this.getC(), fVar);
}
@Override
public void a(g0 g0Var, String str) {
n.j(g0Var, "webSocket");
n.j(str, "text");
FLog.d$default("WebSocketClient", "onMessage text=" + str, null, 4, null);
WebSocketClient.this.d.a(WebSocketClient.this.getC(), str);
}
@Override
public void a(g0 g0Var, Throwable th2, c0 c0Var) {
n.j(g0Var, "webSocket");
n.j(th2, "t");
StringBuilder sb = new StringBuilder();
sb.append("onFailure error=");
sb.append(th2);
sb.append(", response=");
sb.append(c0Var != null ? c0Var.toString() : null);
FLog.d$default("WebSocketClient", sb.toString(), null, 4, null);
b.a a = WebSocketClient.l.a(th2);
if (a.a() != 1004) {
WebSocketClient.this.d.b(WebSocketClient.this.getC(), a.a(), a.b());
} else {
WebSocketClient.this.d.a(WebSocketClient.this.getC(), a.a(), a.b());
}
WebSocketClient.this.d.a(WebSocketClient.this.getC());
FLog.d$default("WebSocketClient", "onFailure error= " + a, null, 4, null);
}
@Override
public void b(g0 g0Var, int i, String str) {
n.j(g0Var, "webSocket");
n.j(str, "reason");
FLog.d$default("WebSocketClient", "onClosing code=" + i + ", reason=" + str, null, 4, null);
}
}
public static final class d extends p implements ah0.a<x> {
final Host a;
public d(Host host) {
super(0);
this.a = host;
}
public final x m156invoke() {
x.b bVar = new x.b();
TimeUnit timeUnit = TimeUnit.SECONDS;
x.b a = bVar.d(100L, timeUnit).c(100L, timeUnit).a(100L, timeUnit);
n.e(a, "OkHttpClient.Builder()\n …ut(100, TimeUnit.SECONDS)");
FinAppletHostnameVerifier.a aVar = null;
x.b a2 = r.b(a).a(new FinAppletHostnameVerifier(this.a, aVar, 2, aVar));
if (this.a.getFinAppConfig().isIgnoreWebviewCertAuth()) {
r.a(a2);
}
return a2.a();
}
}
public WebSocketClient(Host host, String str, a aVar) {
n.j(host, "host");
n.j(str, "socketId");
n.j(aVar, "callback");
this.c = str;
this.d = aVar;
this.a = i.a(new d(host));
}
private final x h() {
h hVar = this.a;
l lVar = e[0];
return (x) hVar.getValue();
}
public final String getC() {
return this.c;
}
public final String a(String str, JSONObject jSONObject, List<String> list, long j2, long j3) {
n.j(str, "url");
x.b t = h().t();
if (j2 > 0) {
TimeUnit timeUnit = TimeUnit.MILLISECONDS;
t.a(j2, timeUnit);
t.c(j2, timeUnit);
t.d(j2, timeUnit);
}
if (j3 >= 0) {
t.b(j3, TimeUnit.MILLISECONDS);
}
x a2 = t != null ? t.a() : h();
a0.a b2 = new a0.a().b(str);
if (jSONObject != null) {
b2.a(s.a(OkHttpUtil.d.a(jSONObject)));
}
if (list != null) {
ArrayList arrayList = new ArrayList();
for (String str2 : list) {
if (t.y(str2)) {
str2 = null;
}
if (str2 != null) {
arrayList.add(str2);
}
}
if (!arrayList.isEmpty()) {
b2.a("Sec-WebSocket-Protocol", mg0.x.u0(arrayList, ", ", (CharSequence) null, (CharSequence) null, 0, (CharSequence) null, (ah0.l) null, 62, (Object) null));
}
}
a0 a3 = b2.a();
n.e(a2, "okHttpClient");
StethoWebSocketFactory stethoWebSocketFactory = new StethoWebSocketFactory(a2);
n.e(a3, FLogCommonTag.REQUEST);
this.b = stethoWebSocketFactory.a(a3, new c());
return null;
}
public final boolean a(int i2, String str) {
g0 g0Var = this.b;
if (g0Var != null) {
return g0Var.a(i2, str);
}
return false;
}
public final boolean a(f fVar) {
n.j(fVar, "data");
g0 g0Var = this.b;
if (g0Var != null) {
return g0Var.a(fVar);
}
return false;
}
public final boolean a(String str) {
n.j(str, "data");
g0 g0Var = this.b;
if (g0Var != null) {
return g0Var.a(str);
}
return false;
}
}