正在查看: 万能钥匙 v1.1.23 应用的 UDPSocket.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 万能钥匙 v1.1.23 应用的 UDPSocket.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.finogeeks.lib.applet.api.network.udp;
import android.util.Base64;
import com.finogeeks.lib.applet.modules.log.FLog;
import hh0.l;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.SocketException;
import kotlin.Metadata;
import kotlin.Pair;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.g0;
import kotlin.jvm.internal.n;
import kotlin.jvm.internal.p;
import kotlin.jvm.internal.y;
import lg0.h;
import lg0.i;
import lg0.s;
@Metadata(d1 = {"\u0000T\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0010\b\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0010\u0012\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\t\n\u0002\u0018\u0002\n\u0002\b\u0005\u0018\u00002\u00020\u0001:\u000223B\u0017\u0012\u0006\u0010\u0003\u001a\u00020\u0002\u0012\u0006\u0010\u0005\u001a\u00020\u0004¢\u0006\u0004\b\u0006\u0010\u0007J'\u0010\u000b\u001a\u0012\u0012\u0006\u0012\u0004\u0018\u00010\b\u0012\u0006\u0012\u0004\u0018\u00010\u00020\n2\b\u0010\t\u001a\u0004\u0018\u00010\b¢\u0006\u0004\b\u000b\u0010\fJ\r\u0010\u000e\u001a\u00020\r¢\u0006\u0004\b\u000e\u0010\u000fJ\u000f\u0010\u0010\u001a\u00020\rH\u0002¢\u0006\u0004\b\u0010\u0010\u000fJ7\u0010\u0016\u001a\u0004\u0018\u00010\u00022\u0006\u0010\u0011\u001a\u00020\u00022\u0006\u0010\t\u001a\u00020\b2\u0006\u0010\u0013\u001a\u00020\u00122\u0006\u0010\u0014\u001a\u00020\b2\u0006\u0010\u0015\u001a\u00020\b¢\u0006\u0004\b\u0016\u0010\u0017J\u000f\u0010\u0018\u001a\u00020\rH\u0002¢\u0006\u0004\b\u0018\u0010\u000fR\u0018\u0010\u0019\u001a\u0004\u0018\u00010\b8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b\u0019\u0010\u001aR\u0014\u0010\u0005\u001a\u00020\u00048\u0002X\u0082\u0004¢\u0006\u0006\n\u0004\b\u0005\u0010\u001bR\u001b\u0010!\u001a\u00020\u001c8BX\u0082\u0084\u0002¢\u0006\f\n\u0004\b\u001d\u0010\u001e\u001a\u0004\b\u001f\u0010 R\u0018\u0010#\u001a\u0004\u0018\u00010\"8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b#\u0010$R\u0016\u0010&\u001a\u00020%8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b&\u0010'R\u001b\u0010+\u001a\u00020\u00128BX\u0082\u0084\u0002¢\u0006\f\n\u0004\b(\u0010\u001e\u001a\u0004\b)\u0010*R\u0017\u0010\u0003\u001a\u00020\u00028\u0006¢\u0006\f\n\u0004\b\u0003\u0010,\u001a\u0004\b-\u0010.R\u0018\u00100\u001a\u0004\u0018\u00010/8\u0002@\u0002X\u0082\u000e¢\u0006\u0006\n\u0004\b0\u00101¨\u00064"}, d2 = {"Lcom/finogeeks/lib/applet/api/network/udp/UDPSocket;", "", "", "socketId", "Lcom/finogeeks/lib/applet/api/network/udp/UDPSocket$Callback;", "callback", "<init>", "(Ljava/lang/String;Lcom/finogeeks/lib/applet/api/network/udp/UDPSocket$Callback;)V", "", "port", "Lkotlin/Pair;", "bindPort", "(Ljava/lang/Integer;)Lkotlin/Pair;", "Llg0/e0;", "close", "()V", "receiveMessage", "address", "", "message", "offset", "length", "sendMessage", "(Ljava/lang/String;I[BII)Ljava/lang/String;", "startSocketThread", "boundPort", "Ljava/lang/Integer;", "Lcom/finogeeks/lib/applet/api/network/udp/UDPSocket$Callback;", "Ljava/net/DatagramPacket;", "datagramPacket$delegate", "Llg0/h;", "getDatagramPacket", "()Ljava/net/DatagramPacket;", "datagramPacket", "Ljava/net/DatagramSocket;", "datagramSocket", "Ljava/net/DatagramSocket;", "", "isSocketThreadRunning", "Z", "receiveByte$delegate", "getReceiveByte", "()[B", "receiveByte", "Ljava/lang/String;", "getSocketId", "()Ljava/lang/String;", "Ljava/lang/Thread;", "socketThread", "Ljava/lang/Thread;", "Callback", "Companion", "finapplet_release"}, k = 1, mv = {1, 4, 0})
public final class UDPSocket {
static final l[] i = {g0.j(new y(g0.b(UDPSocket.class), "receiveByte", "getReceiveByte()[B")), g0.j(new y(g0.b(UDPSocket.class), "datagramPacket", "getDatagramPacket()Ljava/net/DatagramPacket;"))};
private final h a;
private final h b;
private DatagramSocket c;
private Thread d;
private boolean e;
private volatile Integer f;
private final String g;
private final a h;
public interface a {
void a(String str, String str2, String str3, int i, int i2, String str4);
void onError(String str);
}
public static final class b {
private b() {
}
public b(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
}
public static final class c extends p implements ah0.a<DatagramPacket> {
public c() {
super(0);
}
public final DatagramPacket invoke() {
return new DatagramPacket(UDPSocket.this.d(), UDPSocket.this.d().length);
}
}
public static final class d extends p implements ah0.a<byte[]> {
public static final d a = new d();
public d() {
super(0);
}
public final byte[] invoke() {
return new byte[1024];
}
}
public static final class e implements Runnable {
public e() {
}
@Override
public final void run() {
UDPSocket.this.e();
}
}
static {
new b(null);
}
public UDPSocket(String str, a aVar) {
n.j(str, "socketId");
n.j(aVar, "callback");
this.g = str;
this.h = aVar;
this.a = i.a(d.a);
this.b = i.a(new c());
}
private final DatagramPacket c() {
h hVar = this.b;
l lVar = i[1];
return (DatagramPacket) hVar.getValue();
}
public final byte[] d() {
h hVar = this.a;
l lVar = i[0];
return (byte[]) hVar.getValue();
}
public final void e() {
while (this.e) {
try {
DatagramSocket datagramSocket = this.c;
if (datagramSocket != null) {
datagramSocket.receive(c());
}
int length = c().getLength();
String encodeToString = Base64.encodeToString(c().getData(), 0, length, 2);
FLog.d$default("UDPSocket", "receiveMessage message : " + encodeToString, null, 4, null);
InetAddress address = c().getAddress();
String str = address instanceof Inet6Address ? "IPv6" : "IPv4";
a aVar = this.h;
String str2 = this.g;
n.e(address, "address");
String hostAddress = address.getHostAddress();
n.e(hostAddress, "address.hostAddress");
int port = c().getPort();
n.e(encodeToString, "message");
aVar.a(str2, hostAddress, str, port, length, encodeToString);
c().setLength(1024);
} catch (Exception e2) {
e2.printStackTrace();
a aVar2 = this.h;
String message = e2.getMessage();
if (message == null) {
message = "";
}
aVar2.onError(message);
a();
return;
}
}
}
private final void f() {
Thread thread = new Thread(new e());
thread.start();
this.e = true;
this.d = thread;
}
public final String a(String str, int i2, byte[] bArr, int i3, int i4) {
n.j(str, "address");
n.j(bArr, "message");
FLog.d$default("UDPSocket", "sendMessage : " + str + ", " + i2 + ", " + bArr + ", " + i3 + ", " + i4, null, 4, null);
try {
InetAddress byName = InetAddress.getByName(str);
n.e(byName, "InetAddress.getByName(address)");
DatagramPacket datagramPacket = new DatagramPacket(bArr, i3, i4, byName, i2);
DatagramSocket datagramSocket = this.c;
if (datagramSocket != null) {
datagramSocket.send(datagramPacket);
}
if (FLog.INSTANCE.isEnableLog()) {
FLog.d$default("UDPSocket", "sendMessage succeed : " + new String(bArr, tj0.c.b) + ", " + str + ", " + i2, null, 4, null);
}
return null;
} catch (Exception e2) {
if (FLog.INSTANCE.isEnableLog()) {
FLog.d$default("UDPSocket", "sendMessage failed : " + new String(bArr, tj0.c.b) + ", " + str + ", " + i2, null, 4, null);
}
String message = e2.getMessage();
return message != null ? message : "";
}
}
public final Pair<Integer, String> a(Integer num) {
if (num == null) {
if (this.f == null) {
try {
DatagramSocket datagramSocket = new DatagramSocket();
this.c = datagramSocket;
this.f = Integer.valueOf(datagramSocket.getLocalPort());
f();
} catch (SocketException e2) {
e = e2;
e.printStackTrace();
}
}
} else if (this.f == null) {
try {
DatagramSocket datagramSocket2 = new DatagramSocket(num.intValue());
this.c = datagramSocket2;
this.f = Integer.valueOf(datagramSocket2.getLocalPort());
f();
} catch (SocketException e3) {
e = e3;
e.printStackTrace();
}
} else {
if (!n.d(num, this.f)) {
a();
}
try {
DatagramSocket datagramSocket3 = new DatagramSocket(num.intValue());
this.c = datagramSocket3;
this.f = Integer.valueOf(datagramSocket3.getLocalPort());
f();
} catch (SocketException e4) {
e = e4;
e.printStackTrace();
}
}
e = null;
return s.a(this.f, e != null ? e.getLocalizedMessage() : null);
}
public final void a() {
this.e = false;
try {
Thread thread = this.d;
if (thread != null) {
thread.interrupt();
}
} catch (Exception e2) {
e2.printStackTrace();
}
DatagramSocket datagramSocket = this.c;
if (datagramSocket != null) {
datagramSocket.close();
}
this.f = null;
}
public final String getG() {
return this.g;
}
}