package i;

import d.AbstractC0421a;
import d.C0424d;
import g.C0474a;
import h.AbstractC0500b;
import java.io.IOException;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.sql.Date;
import java.sql.Time;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;
import l.AbstractC0613e;

/* JADX INFO: renamed from: i.w, reason: case insensitive filesystem */
/* JADX INFO: loaded from: classes.dex */
public class C0542w extends AbstractC0500b implements U, h.t {

    /* JADX INFO: renamed from: a, reason: collision with root package name */
    public static final C0542w f4381a = new C0542w();

    @Override // i.U
    public void a(C0516I c0516i, Object obj, Object obj2, Type type, int i2) throws IOException {
        char[] charArray;
        e0 e0Var = c0516i.f4223k;
        if (obj == null) {
            e0Var.K();
            return;
        }
        Class<?> cls = obj.getClass();
        if (cls == Date.class) {
            long time = ((Date) obj).getTime();
            if ((time + ((long) c0516i.f4230r.getOffset(time))) % 86400000 == 0 && !f0.isEnabled(e0Var.f4356r, i2, f0.WriteClassName)) {
                e0Var.O(obj.toString());
                return;
            }
        }
        if (cls == Time.class) {
            long time2 = ((Time) obj).getTime();
            if ("unixtime".equals(c0516i.l())) {
                e0Var.I(time2 / 1000);
                return;
            } else if ("millis".equals(c0516i.l())) {
                e0Var.I(time2);
                return;
            } else if (time2 < 86400000) {
                e0Var.O(obj.toString());
                return;
            }
        }
        int nanos = cls == Timestamp.class ? ((Timestamp) obj).getNanos() : 0;
        java.util.Date dateO = obj instanceof java.util.Date ? (java.util.Date) obj : l.l.o(obj);
        if ("unixtime".equals(c0516i.l())) {
            e0Var.I(dateO.getTime() / 1000);
            return;
        }
        if ("millis".equals(c0516i.l())) {
            e0Var.I(dateO.getTime());
            return;
        }
        if (e0Var.j(f0.WriteDateUseDateFormat)) {
            DateFormat dateFormatK = c0516i.k();
            if (dateFormatK == null) {
                dateFormatK = new SimpleDateFormat(AbstractC0421a.f3677y, c0516i.f4231s);
                dateFormatK.setTimeZone(c0516i.f4230r);
            }
            e0Var.O(dateFormatK.format(dateO));
            return;
        }
        if (e0Var.j(f0.WriteClassName) && cls != type) {
            if (cls == java.util.Date.class) {
                e0Var.write("new Date(");
                e0Var.I(((java.util.Date) obj).getTime());
                e0Var.write(41);
                return;
            } else {
                e0Var.write(123);
                e0Var.s(AbstractC0421a.f3675r);
                c0516i.w(cls.getName());
                e0Var.w(',', "val", ((java.util.Date) obj).getTime());
                e0Var.write(125);
                return;
            }
        }
        long time3 = dateO.getTime();
        if (!e0Var.j(f0.UseISO8601DateFormat)) {
            e0Var.I(time3);
            return;
        }
        int i3 = e0Var.j(f0.UseSingleQuotes) ? 39 : 34;
        e0Var.write(i3);
        Calendar calendar = Calendar.getInstance(c0516i.f4230r, c0516i.f4231s);
        calendar.setTimeInMillis(time3);
        int i4 = calendar.get(1);
        int i5 = calendar.get(2) + 1;
        int i6 = calendar.get(5);
        int i7 = calendar.get(11);
        int i8 = calendar.get(12);
        int i9 = calendar.get(13);
        int i10 = calendar.get(14);
        if (nanos > 0) {
            charArray = "0000-00-00 00:00:00.000000000".toCharArray();
            AbstractC0613e.e(nanos, 29, charArray);
            AbstractC0613e.e(i9, 19, charArray);
            AbstractC0613e.e(i8, 16, charArray);
            AbstractC0613e.e(i7, 13, charArray);
            AbstractC0613e.e(i6, 10, charArray);
            AbstractC0613e.e(i5, 7, charArray);
            AbstractC0613e.e(i4, 4, charArray);
        } else if (i10 != 0) {
            char[] charArray2 = "0000-00-00T00:00:00.000".toCharArray();
            AbstractC0613e.e(i10, 23, charArray2);
            AbstractC0613e.e(i9, 19, charArray2);
            AbstractC0613e.e(i8, 16, charArray2);
            AbstractC0613e.e(i7, 13, charArray2);
            AbstractC0613e.e(i6, 10, charArray2);
            AbstractC0613e.e(i5, 7, charArray2);
            AbstractC0613e.e(i4, 4, charArray2);
            charArray = charArray2;
        } else if (i9 == 0 && i8 == 0 && i7 == 0) {
            char[] charArray3 = "0000-00-00".toCharArray();
            AbstractC0613e.e(i6, 10, charArray3);
            AbstractC0613e.e(i5, 7, charArray3);
            AbstractC0613e.e(i4, 4, charArray3);
            charArray = charArray3;
        } else {
            charArray = "0000-00-00T00:00:00".toCharArray();
            AbstractC0613e.e(i9, 19, charArray);
            AbstractC0613e.e(i8, 16, charArray);
            AbstractC0613e.e(i7, 13, charArray);
            AbstractC0613e.e(i6, 10, charArray);
            AbstractC0613e.e(i5, 7, charArray);
            AbstractC0613e.e(i4, 4, charArray);
        }
        if (nanos > 0) {
            int i11 = 0;
            while (i11 < 9 && charArray[(charArray.length - i11) - 1] == '0') {
                i11++;
            }
            e0Var.write(charArray, 0, charArray.length - i11);
            e0Var.write(i3);
            return;
        }
        e0Var.write(charArray);
        float offset = calendar.getTimeZone().getOffset(calendar.getTimeInMillis()) / 3600000.0f;
        int i12 = (int) offset;
        if (i12 == com.jsyn.unitgen.u.FALSE) {
            e0Var.write(90);
        } else {
            if (i12 > 9) {
                e0Var.write(43);
                e0Var.G(i12);
            } else if (i12 > 0) {
                e0Var.write(43);
                e0Var.write(48);
                e0Var.G(i12);
            } else if (i12 < -9) {
                e0Var.write(45);
                e0Var.G(-i12);
            } else if (i12 < 0) {
                e0Var.write(45);
                e0Var.write(48);
                e0Var.G(-i12);
            }
            e0Var.write(58);
            e0Var.append(String.format("%02d", Integer.valueOf((int) (Math.abs(offset - i12) * 60.0f))));
        }
        e0Var.write(i3);
    }

    @Override // h.t
    public int d() {
        return 2;
    }

    @Override // h.AbstractC0500b
    public Object f(C0474a c0474a, Type type, Object obj, Object obj2) {
        if (obj2 == null) {
            return null;
        }
        if (obj2 instanceof java.util.Date) {
            return obj2;
        }
        if (obj2 instanceof BigDecimal) {
            return new java.util.Date(l.l.D0((BigDecimal) obj2));
        }
        if (obj2 instanceof Number) {
            return new java.util.Date(((Number) obj2).longValue());
        }
        if (!(obj2 instanceof String)) {
            throw new C0424d("parse error");
        }
        String strSubstring = (String) obj2;
        if (strSubstring.length() == 0) {
            return null;
        }
        g.f fVar = new g.f(strSubstring);
        try {
            if (fVar.Y0(false)) {
                Calendar calendarK0 = fVar.k0();
                return type == Calendar.class ? calendarK0 : calendarK0.getTime();
            }
            fVar.close();
            if (strSubstring.length() == c0474a.l().length() || (strSubstring.length() == 22 && c0474a.l().equals("yyyyMMddHHmmssSSSZ"))) {
                try {
                    return c0474a.m().parse(strSubstring);
                } catch (ParseException unused) {
                }
            }
            if (strSubstring.startsWith("/Date(") && strSubstring.endsWith(")/")) {
                strSubstring = strSubstring.substring(6, strSubstring.length() - 2);
            }
            if ("0000-00-00".equals(strSubstring) || "0000-00-00T00:00:00".equalsIgnoreCase(strSubstring) || "0001-01-01T00:00:00+08:00".equalsIgnoreCase(strSubstring)) {
                return null;
            }
            int iLastIndexOf = strSubstring.lastIndexOf(124);
            if (iLastIndexOf > 20) {
                TimeZone timeZone = TimeZone.getTimeZone(strSubstring.substring(iLastIndexOf + 1));
                if (!"GMT".equals(timeZone.getID())) {
                    fVar = new g.f(strSubstring.substring(0, iLastIndexOf));
                    try {
                        if (fVar.Y0(false)) {
                            Calendar calendarK02 = fVar.k0();
                            calendarK02.setTimeZone(timeZone);
                            return type == Calendar.class ? calendarK02 : calendarK02.getTime();
                        }
                    } finally {
                    }
                }
            }
            return new java.util.Date(Long.parseLong(strSubstring));
        } finally {
        }
    }
}
