CrackMe.apk
Download file
package com.google.common.base;
import java.util.concurrent.TimeUnit;
@ElementTypesAreNonnullByDefault
public final class Stopwatch {
private long elapsedNanos;
private boolean isRunning;
private long startTick;
private final Ticker ticker;
public static Stopwatch createUnstarted() {
return new Stopwatch();
}
public static Stopwatch createUnstarted(Ticker ticker2) {
return new Stopwatch(ticker2);
}
public static Stopwatch createStarted() {
return new Stopwatch().start();
}
public static Stopwatch createStarted(Ticker ticker2) {
return new Stopwatch(ticker2).start();
}
Stopwatch() {
this.ticker = Ticker.systemTicker();
}
Stopwatch(Ticker ticker2) {
this.ticker = (Ticker) Preconditions.checkNotNull(ticker2, "ticker");
}
public boolean isRunning() {
return this.isRunning;
}
public Stopwatch start() {
Preconditions.checkState(!this.isRunning, "This stopwatch is already running.");
this.isRunning = true;
this.startTick = this.ticker.read();
return this;
}
public Stopwatch stop() {
long read = this.ticker.read();
Preconditions.checkState(this.isRunning, "This stopwatch is already stopped.");
this.isRunning = false;
this.elapsedNanos += read - this.startTick;
return this;
}
public Stopwatch reset() {
this.elapsedNanos = 0;
this.isRunning = false;
return this;
}
private long elapsedNanos() {
return this.isRunning ? (this.ticker.read() - this.startTick) + this.elapsedNanos : this.elapsedNanos;
}
public long elapsed(TimeUnit timeUnit) {
return timeUnit.convert(elapsedNanos(), TimeUnit.NANOSECONDS);
}
public String toString() {
long elapsedNanos2 = elapsedNanos();
TimeUnit chooseUnit = chooseUnit(elapsedNanos2);
String formatCompact4Digits = Platform.formatCompact4Digits(((double) elapsedNanos2) / ((double) TimeUnit.NANOSECONDS.convert(1, chooseUnit)));
String abbreviate = abbreviate(chooseUnit);
StringBuilder sb = new StringBuilder(String.valueOf(formatCompact4Digits).length() + 1 + String.valueOf(abbreviate).length());
sb.append(formatCompact4Digits);
sb.append(" ");
sb.append(abbreviate);
return sb.toString();
}
private static TimeUnit chooseUnit(long j) {
if (TimeUnit.DAYS.convert(j, TimeUnit.NANOSECONDS) > 0) {
return TimeUnit.DAYS;
}
if (TimeUnit.HOURS.convert(j, TimeUnit.NANOSECONDS) > 0) {
return TimeUnit.HOURS;
}
if (TimeUnit.MINUTES.convert(j, TimeUnit.NANOSECONDS) > 0) {
return TimeUnit.MINUTES;
}
if (TimeUnit.SECONDS.convert(j, TimeUnit.NANOSECONDS) > 0) {
return TimeUnit.SECONDS;
}
if (TimeUnit.MILLISECONDS.convert(j, TimeUnit.NANOSECONDS) > 0) {
return TimeUnit.MILLISECONDS;
}
if (TimeUnit.MICROSECONDS.convert(j, TimeUnit.NANOSECONDS) > 0) {
return TimeUnit.MICROSECONDS;
}
return TimeUnit.NANOSECONDS;
}
/* renamed from: com.google.common.base.Stopwatch$1 reason: invalid class name */
static /* synthetic */ class AnonymousClass1 {
static final /* synthetic */ int[] $SwitchMap$java$util$concurrent$TimeUnit;
/* JADX WARNING: Can't wrap try/catch for region: R(14:0|1|2|3|4|5|6|7|8|9|10|11|12|(3:13|14|16)) */
/* JADX WARNING: Can't wrap try/catch for region: R(16:0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|16) */
/* JADX WARNING: Failed to process nested try/catch */
/* JADX WARNING: Missing exception handler attribute for start block: B:11:0x003e */
/* JADX WARNING: Missing exception handler attribute for start block: B:13:0x0049 */
/* JADX WARNING: Missing exception handler attribute for start block: B:3:0x0012 */
/* JADX WARNING: Missing exception handler attribute for start block: B:5:0x001d */
/* JADX WARNING: Missing exception handler attribute for start block: B:7:0x0028 */
/* JADX WARNING: Missing exception handler attribute for start block: B:9:0x0033 */
static {
/*
java.util.concurrent.TimeUnit[] r0 = java.util.concurrent.TimeUnit.values()
int r0 = r0.length
int[] r0 = new int[r0]
$SwitchMap$java$util$concurrent$TimeUnit = r0
java.util.concurrent.TimeUnit r1 = java.util.concurrent.TimeUnit.NANOSECONDS // Catch:{ NoSuchFieldError -> 0x0012 }
int r1 = r1.ordinal() // Catch:{ NoSuchFieldError -> 0x0012 }
r2 = 1
r0[r1] = r2 // Catch:{ NoSuchFieldError -> 0x0012 }
L_0x0012:
int[] r0 = $SwitchMap$java$util$concurrent$TimeUnit // Catch:{ NoSuchFieldError -> 0x001d }
java.util.concurrent.TimeUnit r1 = java.util.concurrent.TimeUnit.MICROSECONDS // Catch:{ NoSuchFieldError -> 0x001d }
int r1 = r1.ordinal() // Catch:{ NoSuchFieldError -> 0x001d }
r2 = 2
r0[r1] = r2 // Catch:{ NoSuchFieldError -> 0x001d }
L_0x001d:
int[] r0 = $SwitchMap$java$util$concurrent$TimeUnit // Catch:{ NoSuchFieldError -> 0x0028 }
java.util.concurrent.TimeUnit r1 = java.util.concurrent.TimeUnit.MILLISECONDS // Catch:{ NoSuchFieldError -> 0x0028 }
int r1 = r1.ordinal() // Catch:{ NoSuchFieldError -> 0x0028 }
r2 = 3
r0[r1] = r2 // Catch:{ NoSuchFieldError -> 0x0028 }
L_0x0028:
int[] r0 = $SwitchMap$java$util$concurrent$TimeUnit // Catch:{ NoSuchFieldError -> 0x0033 }
java.util.concurrent.TimeUnit r1 = java.util.concurrent.TimeUnit.SECONDS // Catch:{ NoSuchFieldError -> 0x0033 }
int r1 = r1.ordinal() // Catch:{ NoSuchFieldError -> 0x0033 }
r2 = 4
r0[r1] = r2 // Catch:{ NoSuchFieldError -> 0x0033 }
L_0x0033:
int[] r0 = $SwitchMap$java$util$concurrent$TimeUnit // Catch:{ NoSuchFieldError -> 0x003e }
java.util.concurrent.TimeUnit r1 = java.util.concurrent.TimeUnit.MINUTES // Catch:{ NoSuchFieldError -> 0x003e }
int r1 = r1.ordinal() // Catch:{ NoSuchFieldError -> 0x003e }
r2 = 5
r0[r1] = r2 // Catch:{ NoSuchFieldError -> 0x003e }
L_0x003e:
int[] r0 = $SwitchMap$java$util$concurrent$TimeUnit // Catch:{ NoSuchFieldError -> 0x0049 }
java.util.concurrent.TimeUnit r1 = java.util.concurrent.TimeUnit.HOURS // Catch:{ NoSuchFieldError -> 0x0049 }
int r1 = r1.ordinal() // Catch:{ NoSuchFieldError -> 0x0049 }
r2 = 6
r0[r1] = r2 // Catch:{ NoSuchFieldError -> 0x0049 }
L_0x0049:
int[] r0 = $SwitchMap$java$util$concurrent$TimeUnit // Catch:{ NoSuchFieldError -> 0x0054 }
java.util.concurrent.TimeUnit r1 = java.util.concurrent.TimeUnit.DAYS // Catch:{ NoSuchFieldError -> 0x0054 }
int r1 = r1.ordinal() // Catch:{ NoSuchFieldError -> 0x0054 }
r2 = 7
r0[r1] = r2 // Catch:{ NoSuchFieldError -> 0x0054 }
L_0x0054:
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.common.base.Stopwatch.AnonymousClass1.<clinit>():void");
}
}
private static String abbreviate(TimeUnit timeUnit) {
switch (AnonymousClass1.$SwitchMap$java$util$concurrent$TimeUnit[timeUnit.ordinal()]) {
case 1:
return "ns";
case 2:
return "μs";
case 3:
return "ms";
case 4:
return "s";
case 5:
return "min";
case 6:
return "h";
case 7:
return "d";
default:
throw new AssertionError();
}
}
}
Download file