246 lines
5.1 KiB
Java
246 lines
5.1 KiB
Java
import java.io.DataInputStream;
|
|
import java.net.InetAddress;
|
|
import java.net.Socket;
|
|
import java.net.URL;
|
|
import net.runelite.mapping.Export;
|
|
import net.runelite.mapping.Implements;
|
|
import net.runelite.mapping.ObfuscatedName;
|
|
import net.runelite.mapping.ObfuscatedSignature;
|
|
|
|
@ObfuscatedName("fs")
|
|
@Implements("TaskHandler")
|
|
public class TaskHandler implements Runnable {
|
|
@ObfuscatedName("x")
|
|
@Export("javaVendor")
|
|
public static String javaVendor;
|
|
@ObfuscatedName("m")
|
|
@Export("javaVersion")
|
|
public static String javaVersion;
|
|
@ObfuscatedName("fq")
|
|
@ObfuscatedSignature(
|
|
signature = "Lkx;"
|
|
)
|
|
@Export("fontBold12")
|
|
static Font fontBold12;
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "Lfr;"
|
|
)
|
|
@Export("current")
|
|
Task current;
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "Lfr;"
|
|
)
|
|
@Export("task")
|
|
Task task;
|
|
@ObfuscatedName("w")
|
|
@Export("thread")
|
|
Thread thread;
|
|
@ObfuscatedName("v")
|
|
@Export("isClosed")
|
|
boolean isClosed;
|
|
|
|
public TaskHandler() {
|
|
this.current = null;
|
|
this.task = null;
|
|
this.isClosed = false;
|
|
javaVendor = "Unknown";
|
|
javaVersion = "1.6";
|
|
|
|
try {
|
|
javaVendor = System.getProperty("java.vendor");
|
|
javaVersion = System.getProperty("java.version");
|
|
} catch (Exception var2) {
|
|
}
|
|
|
|
this.isClosed = false;
|
|
this.thread = new Thread(this);
|
|
this.thread.setPriority(10);
|
|
this.thread.setDaemon(true);
|
|
this.thread.start();
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(B)V",
|
|
garbageValue = "-64"
|
|
)
|
|
@Export("close")
|
|
public final void close() {
|
|
synchronized(this) {
|
|
this.isClosed = true;
|
|
this.notifyAll();
|
|
}
|
|
|
|
try {
|
|
this.thread.join();
|
|
} catch (InterruptedException var3) {
|
|
}
|
|
|
|
}
|
|
|
|
@ObfuscatedName("m")
|
|
@ObfuscatedSignature(
|
|
signature = "(IIILjava/lang/Object;I)Lfr;",
|
|
garbageValue = "-957641141"
|
|
)
|
|
@Export("newTask")
|
|
final Task newTask(int var1, int var2, int var3, Object var4) {
|
|
Task var5 = new Task();
|
|
var5.type = var1;
|
|
var5.intArgument = var2;
|
|
var5.objectArgument = var4;
|
|
synchronized(this) {
|
|
if (this.task != null) {
|
|
this.task.next = var5;
|
|
this.task = var5;
|
|
} else {
|
|
this.task = this.current = var5;
|
|
}
|
|
|
|
this.notify();
|
|
return var5;
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("k")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/String;IB)Lfr;",
|
|
garbageValue = "-83"
|
|
)
|
|
@Export("newSocketTask")
|
|
public final Task newSocketTask(String var1, int var2) {
|
|
return this.newTask(1, var2, 0, var1);
|
|
}
|
|
|
|
@ObfuscatedName("d")
|
|
@ObfuscatedSignature(
|
|
signature = "(Ljava/lang/Runnable;IB)Lfr;",
|
|
garbageValue = "-108"
|
|
)
|
|
@Export("newThreadTask")
|
|
public final Task newThreadTask(Runnable var1, int var2) {
|
|
return this.newTask(2, var2, 0, var1);
|
|
}
|
|
|
|
public final void run() {
|
|
while (true) {
|
|
Task var1;
|
|
synchronized(this) {
|
|
while (true) {
|
|
if (this.isClosed) {
|
|
return;
|
|
}
|
|
|
|
if (this.current != null) {
|
|
var1 = this.current;
|
|
this.current = this.current.next;
|
|
if (this.current == null) {
|
|
this.task = null;
|
|
}
|
|
break;
|
|
}
|
|
|
|
try {
|
|
this.wait();
|
|
} catch (InterruptedException var8) {
|
|
}
|
|
}
|
|
}
|
|
|
|
try {
|
|
int var5 = var1.type;
|
|
if (var5 == 1) {
|
|
var1.result = new Socket(InetAddress.getByName((String)var1.objectArgument), var1.intArgument);
|
|
} else if (var5 == 2) {
|
|
Thread var3 = new Thread((Runnable)var1.objectArgument);
|
|
var3.setDaemon(true);
|
|
var3.start();
|
|
var3.setPriority(var1.intArgument);
|
|
var1.result = var3;
|
|
} else if (var5 == 4) {
|
|
var1.result = new DataInputStream(((URL)var1.objectArgument).openStream());
|
|
}
|
|
|
|
var1.status = 1;
|
|
} catch (ThreadDeath var6) {
|
|
throw var6;
|
|
} catch (Throwable var7) {
|
|
var1.status = 2;
|
|
}
|
|
}
|
|
}
|
|
|
|
@ObfuscatedName("x")
|
|
@ObfuscatedSignature(
|
|
signature = "(CB)B",
|
|
garbageValue = "108"
|
|
)
|
|
@Export("charToByteCp1252")
|
|
public static byte charToByteCp1252(char var0) {
|
|
byte var1;
|
|
if (var0 > 0 && var0 < 128 || var0 >= 160 && var0 <= 255) {
|
|
var1 = (byte)var0;
|
|
} else if (var0 == 8364) {
|
|
var1 = -128;
|
|
} else if (var0 == 8218) {
|
|
var1 = -126;
|
|
} else if (var0 == 402) {
|
|
var1 = -125;
|
|
} else if (var0 == 8222) {
|
|
var1 = -124;
|
|
} else if (var0 == 8230) {
|
|
var1 = -123;
|
|
} else if (var0 == 8224) {
|
|
var1 = -122;
|
|
} else if (var0 == 8225) {
|
|
var1 = -121;
|
|
} else if (var0 == 710) {
|
|
var1 = -120;
|
|
} else if (var0 == 8240) {
|
|
var1 = -119;
|
|
} else if (var0 == 352) {
|
|
var1 = -118;
|
|
} else if (var0 == 8249) {
|
|
var1 = -117;
|
|
} else if (var0 == 338) {
|
|
var1 = -116;
|
|
} else if (var0 == 381) {
|
|
var1 = -114;
|
|
} else if (var0 == 8216) {
|
|
var1 = -111;
|
|
} else if (var0 == 8217) {
|
|
var1 = -110;
|
|
} else if (var0 == 8220) {
|
|
var1 = -109;
|
|
} else if (var0 == 8221) {
|
|
var1 = -108;
|
|
} else if (var0 == 8226) {
|
|
var1 = -107;
|
|
} else if (var0 == 8211) {
|
|
var1 = -106;
|
|
} else if (var0 == 8212) {
|
|
var1 = -105;
|
|
} else if (var0 == 732) {
|
|
var1 = -104;
|
|
} else if (var0 == 8482) {
|
|
var1 = -103;
|
|
} else if (var0 == 353) {
|
|
var1 = -102;
|
|
} else if (var0 == 8250) {
|
|
var1 = -101;
|
|
} else if (var0 == 339) {
|
|
var1 = -100;
|
|
} else if (var0 == 382) {
|
|
var1 = -98;
|
|
} else if (var0 == 376) {
|
|
var1 = -97;
|
|
} else {
|
|
var1 = 63;
|
|
}
|
|
|
|
return var1;
|
|
}
|
|
}
|