dev/mishka/gamblerplus/client/Stats.class 4.0 KB
- Class
- public final synchronized dev.mishka.gamblerplus.client.Stats
- Extends
- java.lang.Object
- Implements
- nothing
- Compiled for
- Java 21
Reconstructed source
// Reconstructed from bytecode by BackProbe (dev/mishka/gamblerplus/client/Stats.class, Java 21); this is not the original source.
package dev.mishka.gamblerplus.client;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Deque;
import java.util.List;
public final class Stats {
public static final int LOG_CAP;
public static final long TOAST_DURATION_MS;
private long sessionIn;
private long sessionOut;
private int sessionInCount;
private int sessionOutCount;
private int lossStreak;
private int longestLossStreak;
private int longestWinStreak;
private int winStreak;
private long allTimeIn;
private long allTimeOut;
private int allTimeInCount;
private int allTimeOutCount;
private final Deque log;
private volatile long toastUntilMs;
private volatile long toastShownAtMs;
private volatile int toastStreak;
public Stats() {
super();
this.log = new ArrayDeque();
return;
}
public synchronized void loadPersisted(long arg0, long arg1, int arg2, int arg3) {
this.allTimeIn = arg0;
this.allTimeOut = arg1;
this.allTimeInCount = arg2;
this.allTimeOutCount = arg3;
return;
}
public synchronized void record(PaymentEvent arg0, int arg1) {
this.log.addFirst(arg0);
L10:
if (this.log.size() <= 100) goto L37;
this.log.removeLast();
goto L10;
L37:
if (!arg0.incoming()) goto L127;
this.sessionIn = (this.sessionIn + arg0.amount());
this.sessionInCount = (this.sessionInCount + 1);
this.allTimeIn = (this.allTimeIn + arg0.amount());
this.allTimeInCount = (this.allTimeInCount + 1);
this.lossStreak = 0;
this.winStreak = (this.winStreak + 1);
if (this.winStreak <= this.longestWinStreak) goto L242;
this.longestWinStreak = this.winStreak;
goto L242;
L127:
this.sessionOut = (this.sessionOut + arg0.amount());
this.sessionOutCount = (this.sessionOutCount + 1);
this.allTimeOut = (this.allTimeOut + arg0.amount());
this.allTimeOutCount = (this.allTimeOutCount + 1);
this.winStreak = 0;
this.lossStreak = (this.lossStreak + 1);
if (this.lossStreak <= this.longestLossStreak) goto L207;
this.longestLossStreak = this.lossStreak;
L207:
if (this.lossStreak < arg1) goto L242;
this.toastStreak = this.lossStreak;
this.toastShownAtMs = System.currentTimeMillis();
this.toastUntilMs = (this.toastShownAtMs + 6000L);
L242:
return;
}
public synchronized void resetSession() {
this.sessionOut = 0L;
this.sessionIn = 0L;
this.sessionOutCount = 0;
this.sessionInCount = 0;
this.winStreak = 0;
this.lossStreak = 0;
this.longestWinStreak = 0;
this.longestLossStreak = 0;
this.log.clear();
this.toastUntilMs = 0L;
return;
}
public synchronized void resetAllTime() {
this.allTimeOut = 0L;
this.allTimeIn = 0L;
this.allTimeOutCount = 0;
this.allTimeInCount = 0;
return;
}
public synchronized long sessionIn() {
return this.sessionIn;
}
public synchronized long sessionOut() {
return this.sessionOut;
}
public synchronized long sessionNet() {
return (this.sessionIn - this.sessionOut);
}
public synchronized int sessionInCount() {
return this.sessionInCount;
}
public synchronized int sessionOutCount() {
return this.sessionOutCount;
}
public synchronized int lossStreak() {
return this.lossStreak;
}
public synchronized int winStreak() {
return this.winStreak;
}
public synchronized int longestLossStreak() {
return this.longestLossStreak;
}
public synchronized int longestWinStreak() {
return this.longestWinStreak;
}
public synchronized long allTimeIn() {
return this.allTimeIn;
}
public synchronized long allTimeOut() {
return this.allTimeOut;
}
public synchronized long allTimeNet() {
return (this.allTimeIn - this.allTimeOut);
}
public synchronized int allTimeInCount() {
return this.allTimeInCount;
}
public synchronized int allTimeOutCount() {
return this.allTimeOutCount;
}
public synchronized double sessionProfitPct() {
if (Long.compare(this.sessionOut, 0L) != 0) goto L11;
return 0.0;
L11:
return ((((double) this.sessionNet()) / ((double) this.sessionOut)) * 100.0);
}
public synchronized List snapshot() {
return new ArrayList(this.log);
}
public long toastUntilMs() {
return this.toastUntilMs;
}
public long toastShownAtMs() {
return this.toastShownAtMs;
}
public int toastStreak() {
return this.toastStreak;
}
public void clearToast() {
this.toastUntilMs = 0L;
return;
}
}
Methods declared
public void <init>() public synchronized void loadPersisted(long, long, int, int) public synchronized void record(dev.mishka.gamblerplus.client.PaymentEvent, int) public synchronized void resetSession() public synchronized void resetAllTime() public synchronized long sessionIn() public synchronized long sessionOut() public synchronized long sessionNet() public synchronized int sessionInCount() public synchronized int sessionOutCount() public synchronized int lossStreak() public synchronized int winStreak() public synchronized int longestLossStreak() public synchronized int longestWinStreak() public synchronized long allTimeIn() public synchronized long allTimeOut() public synchronized long allTimeNet() public synchronized int allTimeInCount() public synchronized int allTimeOutCount() public synchronized double sessionProfitPct() public synchronized java.util.List snapshot() public long toastUntilMs() public long toastShownAtMs() public int toastStreak() public void clearToast()
Fields
public static final int LOG_CAP public static final long TOAST_DURATION_MS private long sessionIn private long sessionOut private int sessionInCount private int sessionOutCount private int lossStreak private int longestLossStreak private int longestWinStreak private int winStreak private long allTimeIn private long allTimeOut private int allTimeInCount private int allTimeOutCount private final java.util.Deque log private volatile long toastUntilMs private volatile long toastShownAtMs private volatile int toastStreak
Calls out to
dev.mishka.gamblerplus.client.PaymentEvent.amount() : long dev.mishka.gamblerplus.client.PaymentEvent.incoming() : boolean long dev.mishka.gamblerplus.client.Stats.allTimeIn int dev.mishka.gamblerplus.client.Stats.allTimeInCount long dev.mishka.gamblerplus.client.Stats.allTimeOut int dev.mishka.gamblerplus.client.Stats.allTimeOutCount java.util.Deque dev.mishka.gamblerplus.client.Stats.log int dev.mishka.gamblerplus.client.Stats.longestLossStreak int dev.mishka.gamblerplus.client.Stats.longestWinStreak int dev.mishka.gamblerplus.client.Stats.lossStreak long dev.mishka.gamblerplus.client.Stats.sessionIn int dev.mishka.gamblerplus.client.Stats.sessionInCount dev.mishka.gamblerplus.client.Stats.sessionNet() : long long dev.mishka.gamblerplus.client.Stats.sessionOut int dev.mishka.gamblerplus.client.Stats.sessionOutCount long dev.mishka.gamblerplus.client.Stats.toastShownAtMs int dev.mishka.gamblerplus.client.Stats.toastStreak long dev.mishka.gamblerplus.client.Stats.toastUntilMs int dev.mishka.gamblerplus.client.Stats.winStreak java.lang.Object.<init>() java.lang.System.currentTimeMillis() : long java.util.ArrayDeque.<init>() java.util.ArrayList.<init>(java.util.Collection) java.util.Deque.addFirst(java.lang.Object) java.util.Deque.clear() java.util.Deque.removeLast() : java.lang.Object java.util.Deque.size() : int
Text compiled into the class
No string literals.