discord-jadx/app/src/main/java/androidx/core/util/TimeUtils.java

158 lines
4.9 KiB
Java

package androidx.core.util;
import androidx.annotation.RestrictTo;
import java.io.PrintWriter;
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP_PREFIX})
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 char[] sFormatStr = new char[24];
private static final Object sFormatSync = new Object();
private TimeUtils() {
}
private static int accumField(int i, int i2, boolean z2, int i3) {
if (i > 99 || (z2 && i3 >= 3)) {
return i2 + 3;
}
if (i > 9 || (z2 && i3 >= 2)) {
return i2 + 2;
}
if (z2 || i > 0) {
return i2 + 1;
}
return 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);
}
}
@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, 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, StringBuilder sb) {
synchronized (sFormatSync) {
sb.append(sFormatStr, 0, formatDurationLocked(j, 0));
}
}
private static int formatDurationLocked(long j, int i) {
char c2;
int i2;
int i3;
int i4;
int i5;
int i6;
long j2 = j;
if (sFormatStr.length < i) {
sFormatStr = new char[i];
}
char[] cArr = sFormatStr;
int i7 = (j2 > 0 ? 1 : (j2 == 0 ? 0 : -1));
if (i7 == 0) {
int i8 = i - 1;
while (i8 > 0) {
cArr[0] = ' ';
}
cArr[0] = '0';
return 1;
}
if (i7 > 0) {
c2 = '+';
} else {
c2 = '-';
j2 = -j2;
}
int i9 = (int) (j2 % 1000);
int floor = (int) Math.floor((double) (j2 / 1000));
if (floor > 86400) {
i2 = floor / 86400;
floor -= 86400 * i2;
} else {
i2 = 0;
}
if (floor > 3600) {
i3 = floor / 3600;
floor -= i3 * 3600;
} else {
i3 = 0;
}
if (floor > 60) {
int i10 = floor / 60;
i4 = floor - (i10 * 60);
i5 = i10;
} 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 = accumField(i9, 2, true, accumField4 > 0 ? 3 : 0) + 1 + accumField4; accumField5 < i; accumField5++) {
cArr[i6] = ' ';
i6++;
}
} else {
i6 = 0;
}
cArr[i6] = c2;
int i11 = i6 + 1;
boolean z2 = i != 0;
int printField = printField(cArr, i2, 'd', i11, false, 0);
int printField2 = printField(cArr, i3, 'h', printField, printField != i11, z2 ? 2 : 0);
int printField3 = printField(cArr, i5, 'm', printField2, printField2 != i11, z2 ? 2 : 0);
int printField4 = printField(cArr, i4, 's', printField3, printField3 != i11, z2 ? 2 : 0);
int printField5 = printField(cArr, i9, 'm', printField4, true, (!z2 || printField4 == i11) ? 0 : 3);
cArr[printField5] = 's';
return printField5 + 1;
}
private static int printField(char[] cArr, int i, char c2, int i2, boolean z2, int i3) {
int i4;
if (!z2 && i <= 0) {
return i2;
}
if ((!z2 || i3 < 3) && i <= 99) {
i4 = i2;
} else {
int i5 = i / 100;
cArr[i2] = (char) (i5 + 48);
i4 = i2 + 1;
i -= i5 * 100;
}
if ((z2 && i3 >= 2) || i > 9 || i2 != i4) {
int i6 = i / 10;
cArr[i4] = (char) (i6 + 48);
i4++;
i -= i6 * 10;
}
cArr[i4] = (char) (i + 48);
int i7 = i4 + 1;
cArr[i7] = c2;
return i7 + 1;
}
}