Files
Daniel Elliott c080f0d97f Add Discord community version (64-bit only)
- Added realracing3-community.apk (71.57 MB)
- Removed 32-bit support (armeabi-v7a)
- Only includes arm64-v8a libraries
- Decompiled source code included
- Added README-community.md with analysis
2026-02-18 15:48:36 -08:00

159 lines
4.8 KiB
Java

package androidx.core.util;
import androidx.annotation.RestrictTo;
import java.io.PrintWriter;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
/* loaded from: classes.dex */
public final class TimeUtils {
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static final int HUNDRED_DAY_FIELD_LEN = 19;
private static final int SECONDS_PER_DAY = 86400;
private static final int SECONDS_PER_HOUR = 3600;
private static final int SECONDS_PER_MINUTE = 60;
private static final Object sFormatSync = new Object();
private static char[] sFormatStr = new char[24];
private static int accumField(int i, int i2, boolean z, int i3) {
if (i > 99 || (z && i3 >= 3)) {
return i2 + 3;
}
if (i > 9 || (z && i3 >= 2)) {
return i2 + 2;
}
if (z || i > 0) {
return i2 + 1;
}
return 0;
}
private static int printField(char[] cArr, int i, char c, int i2, boolean z, int i3) {
int i4;
if (!z && i <= 0) {
return i2;
}
if ((!z || i3 < 3) && i <= 99) {
i4 = i2;
} else {
int i5 = i / 100;
cArr[i2] = (char) (i5 + 48);
i4 = i2 + 1;
i -= i5 * 100;
}
if ((z && i3 >= 2) || i > 9 || i2 != i4) {
int i6 = i / 10;
cArr[i4] = (char) (i6 + 48);
i4++;
i -= i6 * 10;
}
cArr[i4] = (char) (i + 48);
cArr[i4 + 1] = c;
return i4 + 2;
}
private static int formatDurationLocked(long j, int i) {
char c;
int i2;
int i3;
int i4;
int i5;
int i6;
long j2 = j;
if (sFormatStr.length < i) {
sFormatStr = new char[i];
}
char[] cArr = sFormatStr;
if (j2 == 0) {
int i7 = i - 1;
while (i7 > 0) {
cArr[0] = ' ';
}
cArr[0] = '0';
return 1;
}
if (j2 > 0) {
c = '+';
} else {
j2 = -j2;
c = '-';
}
int i8 = (int) (j2 % 1000);
int floor = (int) Math.floor(j2 / 1000);
if (floor > SECONDS_PER_DAY) {
i2 = floor / SECONDS_PER_DAY;
floor -= SECONDS_PER_DAY * i2;
} else {
i2 = 0;
}
if (floor > 3600) {
i3 = floor / 3600;
floor -= i3 * 3600;
} else {
i3 = 0;
}
if (floor > 60) {
int i9 = floor / 60;
i4 = floor - (i9 * 60);
i5 = i9;
} else {
i4 = floor;
i5 = 0;
}
if (i != 0) {
int accumField = accumField(i2, 1, false, 0);
int accumField2 = accumField + accumField(i3, 1, accumField > 0, 2);
int accumField3 = accumField2 + accumField(i5, 1, accumField2 > 0, 2);
int accumField4 = accumField3 + accumField(i4, 1, accumField3 > 0, 2);
i6 = 0;
for (int accumField5 = accumField4 + accumField(i8, 2, true, accumField4 > 0 ? 3 : 0) + 1; accumField5 < i; accumField5++) {
cArr[i6] = ' ';
i6++;
}
} else {
i6 = 0;
}
cArr[i6] = c;
int i10 = i6 + 1;
boolean z = i != 0;
int printField = printField(cArr, i2, 'd', i10, false, 0);
int printField2 = printField(cArr, i3, 'h', printField, printField != i10, z ? 2 : 0);
int printField3 = printField(cArr, i5, 'm', printField2, printField2 != i10, z ? 2 : 0);
int printField4 = printField(cArr, i4, 's', printField3, printField3 != i10, z ? 2 : 0);
int printField5 = printField(cArr, i8, 'm', printField4, true, (!z || printField4 == i10) ? 0 : 3);
cArr[printField5] = 's';
return printField5 + 1;
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static void formatDuration(long j, StringBuilder sb) {
synchronized (sFormatSync) {
sb.append(sFormatStr, 0, formatDurationLocked(j, 0));
}
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static void formatDuration(long j, PrintWriter printWriter, int i) {
synchronized (sFormatSync) {
printWriter.print(new String(sFormatStr, 0, formatDurationLocked(j, i)));
}
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static void formatDuration(long j, PrintWriter printWriter) {
formatDuration(j, printWriter, 0);
}
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
public static void formatDuration(long j, long j2, PrintWriter printWriter) {
if (j == 0) {
printWriter.print("--");
} else {
formatDuration(j - j2, printWriter, 0);
}
}
private TimeUtils() {
}
}