Files
runelite/runescape-client/src/main/java/TaskHandler.java
Owain van Brakel 6485eb9bed project: Rev 182
2019-08-29 16:17:19 +02:00

232 lines
5.1 KiB
Java

import java.io.DataInputStream;
import java.io.File;
import java.io.IOException;
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("fu")
@Implements("TaskHandler")
public class TaskHandler implements Runnable {
@ObfuscatedName("s")
@Export("javaVendor")
public static String javaVendor;
@ObfuscatedName("j")
@Export("javaVersion")
public static String javaVersion;
@ObfuscatedName("i")
@ObfuscatedSignature(
signature = "Lft;"
)
@Export("current")
Task current;
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "Lft;"
)
@Export("task")
Task task;
@ObfuscatedName("u")
@Export("thread")
Thread thread;
@ObfuscatedName("n")
@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("s")
@ObfuscatedSignature(
signature = "(I)V",
garbageValue = "1887947364"
)
@Export("close")
public final void close() {
synchronized(this) {
this.isClosed = true;
this.notifyAll();
}
try {
this.thread.join();
} catch (InterruptedException var3) {
}
}
@ObfuscatedName("j")
@ObfuscatedSignature(
signature = "(IIILjava/lang/Object;I)Lft;",
garbageValue = "1177256583"
)
@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("i")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;IB)Lft;",
garbageValue = "-49"
)
@Export("newSocketTask")
public final Task newSocketTask(String var1, int var2) {
return this.newTask(1, var2, 0, var1);
}
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "(Ljava/lang/Runnable;IB)Lft;",
garbageValue = "1"
)
@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("j")
@ObfuscatedSignature(
signature = "(Ljava/lang/CharSequence;I)Z",
garbageValue = "-641292083"
)
@Export("isNumber")
public static boolean isNumber(CharSequence var0) {
return class219.method4022(var0, 10, true);
}
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "(Ljava/lang/String;Ljava/lang/String;ZI)Lmm;",
garbageValue = "929231118"
)
@Export("getPreferencesFile")
public static AccessFile getPreferencesFile(String var0, String var1, boolean var2) {
File var3 = new File(JagexCache.cacheDir, "preferences" + var0 + ".dat");
if (var3.exists()) {
try {
AccessFile var10 = new AccessFile(var3, "rw", 10000L);
return var10;
} catch (IOException var9) {
}
}
String var4 = "";
if (InterfaceParent.cacheGamebuild == 33) {
var4 = "_rc";
} else if (InterfaceParent.cacheGamebuild == 34) {
var4 = "_wip";
}
File var5 = new File(FontName.userHomeDirectory, "jagex_" + var1 + "_preferences" + var0 + var4 + ".dat");
AccessFile var6;
if (!var2 && var5.exists()) {
try {
var6 = new AccessFile(var5, "rw", 10000L);
return var6;
} catch (IOException var8) {
}
}
try {
var6 = new AccessFile(var3, "rw", 10000L);
return var6;
} catch (IOException var7) {
throw new RuntimeException();
}
}
@ObfuscatedName("k")
@ObfuscatedSignature(
signature = "(IIB)I",
garbageValue = "-6"
)
public static int method3411(int var0, int var1) {
int var2 = var0 >>> 31;
return (var0 + var2) / var1 - var2;
}
}