- 28,932 files - Full Java source code - Smali files - Resources Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
123 lines
4.3 KiB
Java
123 lines
4.3 KiB
Java
package com.google.gson.internal.bind.util;
|
|
|
|
import com.mbridge.msdk.newreward.function.common.MBridgeCommon;
|
|
import java.util.Date;
|
|
import java.util.GregorianCalendar;
|
|
import java.util.Locale;
|
|
import java.util.TimeZone;
|
|
|
|
/* loaded from: classes3.dex */
|
|
public class ISO8601Utils {
|
|
private static final String UTC_ID = "UTC";
|
|
private static final TimeZone TIMEZONE_UTC = TimeZone.getTimeZone(UTC_ID);
|
|
|
|
public static String format(Date date) {
|
|
return format(date, false, TIMEZONE_UTC);
|
|
}
|
|
|
|
public static String format(Date date, boolean z) {
|
|
return format(date, z, TIMEZONE_UTC);
|
|
}
|
|
|
|
public static String format(Date date, boolean z, TimeZone timeZone) {
|
|
GregorianCalendar gregorianCalendar = new GregorianCalendar(timeZone, Locale.US);
|
|
gregorianCalendar.setTime(date);
|
|
StringBuilder sb = new StringBuilder(19 + (z ? 4 : 0) + (timeZone.getRawOffset() == 0 ? 1 : 6));
|
|
padInt(sb, gregorianCalendar.get(1), 4);
|
|
sb.append('-');
|
|
padInt(sb, gregorianCalendar.get(2) + 1, 2);
|
|
sb.append('-');
|
|
padInt(sb, gregorianCalendar.get(5), 2);
|
|
sb.append('T');
|
|
padInt(sb, gregorianCalendar.get(11), 2);
|
|
sb.append(':');
|
|
padInt(sb, gregorianCalendar.get(12), 2);
|
|
sb.append(':');
|
|
padInt(sb, gregorianCalendar.get(13), 2);
|
|
if (z) {
|
|
sb.append('.');
|
|
padInt(sb, gregorianCalendar.get(14), 3);
|
|
}
|
|
int offset = timeZone.getOffset(gregorianCalendar.getTimeInMillis());
|
|
if (offset != 0) {
|
|
int i = offset / MBridgeCommon.DEFAULT_LOAD_TIMEOUT;
|
|
int abs = Math.abs(i / 60);
|
|
int abs2 = Math.abs(i % 60);
|
|
sb.append(offset >= 0 ? '+' : '-');
|
|
padInt(sb, abs, 2);
|
|
sb.append(':');
|
|
padInt(sb, abs2, 2);
|
|
} else {
|
|
sb.append('Z');
|
|
}
|
|
return sb.toString();
|
|
}
|
|
|
|
/* JADX WARN: Removed duplicated region for block: B:82:0x01cf */
|
|
/* JADX WARN: Removed duplicated region for block: B:85:0x01eb */
|
|
/* JADX WARN: Removed duplicated region for block: B:90:0x01d1 */
|
|
/*
|
|
Code decompiled incorrectly, please refer to instructions dump.
|
|
To view partially-correct add '--show-bad-code' argument
|
|
*/
|
|
public static java.util.Date parse(java.lang.String r19, java.text.ParsePosition r20) throws java.text.ParseException {
|
|
/*
|
|
Method dump skipped, instructions count: 565
|
|
To view this dump add '--comments-level debug' option
|
|
*/
|
|
throw new UnsupportedOperationException("Method not decompiled: com.google.gson.internal.bind.util.ISO8601Utils.parse(java.lang.String, java.text.ParsePosition):java.util.Date");
|
|
}
|
|
|
|
private static boolean checkOffset(String str, int i, char c) {
|
|
return i < str.length() && str.charAt(i) == c;
|
|
}
|
|
|
|
private static int parseInt(String str, int i, int i2) throws NumberFormatException {
|
|
int i3;
|
|
int i4;
|
|
if (i < 0 || i2 > str.length() || i > i2) {
|
|
throw new NumberFormatException(str);
|
|
}
|
|
if (i < i2) {
|
|
i4 = i + 1;
|
|
int digit = Character.digit(str.charAt(i), 10);
|
|
if (digit < 0) {
|
|
throw new NumberFormatException("Invalid number: " + str.substring(i, i2));
|
|
}
|
|
i3 = -digit;
|
|
} else {
|
|
i3 = 0;
|
|
i4 = i;
|
|
}
|
|
while (i4 < i2) {
|
|
int i5 = i4 + 1;
|
|
int digit2 = Character.digit(str.charAt(i4), 10);
|
|
if (digit2 < 0) {
|
|
throw new NumberFormatException("Invalid number: " + str.substring(i, i2));
|
|
}
|
|
i3 = (i3 * 10) - digit2;
|
|
i4 = i5;
|
|
}
|
|
return -i3;
|
|
}
|
|
|
|
private static void padInt(StringBuilder sb, int i, int i2) {
|
|
String num = Integer.toString(i);
|
|
for (int length = i2 - num.length(); length > 0; length--) {
|
|
sb.append('0');
|
|
}
|
|
sb.append(num);
|
|
}
|
|
|
|
private static int indexOfNonDigit(String str, int i) {
|
|
while (i < str.length()) {
|
|
char charAt = str.charAt(i);
|
|
if (charAt < '0' || charAt > '9') {
|
|
return i;
|
|
}
|
|
i++;
|
|
}
|
|
return str.length();
|
|
}
|
|
}
|