alexandroid/decompiled/jadx/sources/com/google/common/base/Stopwatch.java
KaKi87 a47fad5135 📦 Add decompiled Alexa 2.2.730155.0 (jadx, apktool, Hermes strings)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 00:04:16 +01:00

159 lines
5.5 KiB
Java

package com.google.common.base;
import androidx.media3.exoplayer.upstream.CmcdData;
import com.amazon.mobile.heremapsexplore.Constants.ReactProperties;
import com.google.common.annotations.GwtCompatible;
import com.google.common.annotations.GwtIncompatible;
import com.google.common.annotations.J2ktIncompatible;
import com.google.errorprone.annotations.CanIgnoreReturnValue;
import java.time.Duration;
import java.util.concurrent.TimeUnit;
import okio.Buffer$$ExternalSyntheticBUOutline0;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
@GwtCompatible(emulated = true)
/* loaded from: classes8.dex */
public final class Stopwatch {
private long elapsedNanos;
private boolean isRunning;
private long startTick;
private final Ticker ticker;
/* compiled from: r8-map-id-b9432e0f623b4a4bff4ba50a8a24c4aafad2c1e11092747b9fb5e6a22af5a940 */
/* renamed from: com.google.common.base.Stopwatch$1, reason: invalid class name */
public static /* synthetic */ class AnonymousClass1 {
static final /* synthetic */ int[] $SwitchMap$java$util$concurrent$TimeUnit;
static {
int[] iArr = new int[TimeUnit.values().length];
$SwitchMap$java$util$concurrent$TimeUnit = iArr;
try {
iArr[TimeUnit.NANOSECONDS.ordinal()] = 1;
} catch (NoSuchFieldError unused) {
}
try {
$SwitchMap$java$util$concurrent$TimeUnit[TimeUnit.MICROSECONDS.ordinal()] = 2;
} catch (NoSuchFieldError unused2) {
}
try {
$SwitchMap$java$util$concurrent$TimeUnit[TimeUnit.MILLISECONDS.ordinal()] = 3;
} catch (NoSuchFieldError unused3) {
}
try {
$SwitchMap$java$util$concurrent$TimeUnit[TimeUnit.SECONDS.ordinal()] = 4;
} catch (NoSuchFieldError unused4) {
}
try {
$SwitchMap$java$util$concurrent$TimeUnit[TimeUnit.MINUTES.ordinal()] = 5;
} catch (NoSuchFieldError unused5) {
}
try {
$SwitchMap$java$util$concurrent$TimeUnit[TimeUnit.HOURS.ordinal()] = 6;
} catch (NoSuchFieldError unused6) {
}
try {
$SwitchMap$java$util$concurrent$TimeUnit[TimeUnit.DAYS.ordinal()] = 7;
} catch (NoSuchFieldError unused7) {
}
}
}
public Stopwatch(Ticker ticker) {
this.ticker = (Ticker) Preconditions.checkNotNull(ticker, "ticker");
}
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 CmcdData.Factory.STREAMING_FORMAT_SS;
case 5:
return ReactProperties.GEOFENCE_MINIMUM_RANGE;
case 6:
return CmcdData.Factory.STREAMING_FORMAT_HLS;
case 7:
return "d";
default:
Buffer$$ExternalSyntheticBUOutline0.m$2();
return null;
}
}
private static TimeUnit chooseUnit(long j) {
return j / 86400000000000L > 0 ? TimeUnit.DAYS : j / 3600000000000L > 0 ? TimeUnit.HOURS : j / 60000000000L > 0 ? TimeUnit.MINUTES : j / 1000000000 > 0 ? TimeUnit.SECONDS : j / 1000000 > 0 ? TimeUnit.MILLISECONDS : j / 1000 > 0 ? TimeUnit.MICROSECONDS : TimeUnit.NANOSECONDS;
}
public static Stopwatch createStarted() {
return new Stopwatch().start();
}
public static Stopwatch createUnstarted() {
return new Stopwatch();
}
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 boolean isRunning() {
return this.isRunning;
}
@CanIgnoreReturnValue
public Stopwatch reset() {
this.elapsedNanos = 0L;
this.isRunning = false;
return this;
}
@CanIgnoreReturnValue
public Stopwatch start() {
Preconditions.checkState(!this.isRunning, "This stopwatch is already running.");
this.isRunning = true;
this.startTick = this.ticker.read();
return this;
}
@CanIgnoreReturnValue
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) + this.elapsedNanos;
return this;
}
public String toString() {
long elapsedNanos = elapsedNanos();
TimeUnit chooseUnit = chooseUnit(elapsedNanos);
return Platform.formatCompact4Digits(elapsedNanos / TimeUnit.NANOSECONDS.convert(1L, chooseUnit)) + " " + abbreviate(chooseUnit);
}
public static Stopwatch createUnstarted(Ticker ticker) {
return new Stopwatch(ticker);
}
public static Stopwatch createStarted(Ticker ticker) {
return new Stopwatch(ticker).start();
}
@J2ktIncompatible
@GwtIncompatible
@IgnoreJRERequirement
public Duration elapsed() {
return Duration.ofNanos(elapsedNanos());
}
public Stopwatch() {
this.ticker = Ticker.systemTicker();
}
}