DateTimeZoneBuilder$PrecalculatedZone.smali
.class final Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;
.super Lorg/joda/time/DateTimeZone;
.source "DateTimeZoneBuilder.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lorg/joda/time/tz/DateTimeZoneBuilder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "PrecalculatedZone"
.end annotation
# static fields
.field private static final serialVersionUID:J = 0x6c69b735442cb4f9L
# instance fields
.field private final iNameKeys:[Ljava/lang/String;
.field private final iStandardOffsets:[I
.field private final iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
.field private final iTransitions:[J
.field private final iWallOffsets:[I
# direct methods
.method private constructor <init>(Ljava/lang/String;[J[I[I[Ljava/lang/String;Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;)V
.registers 7
.line 1532
invoke-direct {p0, p1}, Lorg/joda/time/DateTimeZone;-><init>(Ljava/lang/String;)V
.line 1533
iput-object p2, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
.line 1534
iput-object p3, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iWallOffsets:[I
.line 1535
iput-object p4, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iStandardOffsets:[I
.line 1536
iput-object p5, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iNameKeys:[Ljava/lang/String;
.line 1537
iput-object p6, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
return-void
.end method
.method static create(Ljava/lang/String;ZLjava/util/ArrayList;Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;)Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;
.registers 33
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Z",
"Ljava/util/ArrayList<",
"Lorg/joda/time/tz/DateTimeZoneBuilder$Transition;",
">;",
"Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;",
")",
"Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;"
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p3
.line 1421
invoke-virtual/range {p2 .. p2}, Ljava/util/ArrayList;->size()I
move-result v2
if-eqz v2, :cond_1ef
.line 1426
new-array v5, v2, [J
.line 1427
new-array v6, v2, [I
.line 1428
new-array v7, v2, [I
.line 1429
new-array v8, v2, [Ljava/lang/String;
const/4 v3, 0x0
const/4 v4, 0x0
const/4 v9, 0x0
:goto_15
if-ge v9, v2, :cond_47
move-object/from16 v10, p2
.line 1433
invoke-virtual {v10, v9}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object;
move-result-object v11
check-cast v11, Lorg/joda/time/tz/DateTimeZoneBuilder$Transition;
.line 1435
invoke-virtual {v11, v3}, Lorg/joda/time/tz/DateTimeZoneBuilder$Transition;->isTransitionFrom(Lorg/joda/time/tz/DateTimeZoneBuilder$Transition;)Z
move-result v3
if-eqz v3, :cond_41
.line 1439
invoke-virtual {v11}, Lorg/joda/time/tz/DateTimeZoneBuilder$Transition;->getMillis()J
move-result-wide v12
aput-wide v12, v5, v9
.line 1440
invoke-virtual {v11}, Lorg/joda/time/tz/DateTimeZoneBuilder$Transition;->getWallOffset()I
move-result v3
aput v3, v6, v9
.line 1441
invoke-virtual {v11}, Lorg/joda/time/tz/DateTimeZoneBuilder$Transition;->getStandardOffset()I
move-result v3
aput v3, v7, v9
.line 1442
invoke-virtual {v11}, Lorg/joda/time/tz/DateTimeZoneBuilder$Transition;->getNameKey()Ljava/lang/String;
move-result-object v3
aput-object v3, v8, v9
add-int/lit8 v9, v9, 0x1
move-object v3, v11
goto :goto_15
.line 1436
:cond_41
new-instance v1, Ljava/lang/IllegalArgumentException;
invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v1
:cond_47
const/4 v3, 0x5
new-array v9, v3, [Ljava/lang/String;
.line 1450
new-instance v10, Ljava/text/DateFormatSymbols;
sget-object v11, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
invoke-direct {v10, v11}, Ljava/text/DateFormatSymbols;-><init>(Ljava/util/Locale;)V
invoke-virtual {v10}, Ljava/text/DateFormatSymbols;->getZoneStrings()[[Ljava/lang/String;
move-result-object v10
const/4 v11, 0x0
.line 1451
:goto_56
array-length v12, v10
if-ge v11, v12, :cond_6c
.line 1452
aget-object v12, v10, v11
if-eqz v12, :cond_69
.line 1453
array-length v13, v12
if-ne v13, v3, :cond_69
aget-object v13, v12, v4
invoke-virtual {v0, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v13
if-eqz v13, :cond_69
move-object v9, v12
:cond_69
add-int/lit8 v11, v11, 0x1
goto :goto_56
.line 1458
:cond_6c
invoke-static {}, Lorg/joda/time/chrono/ISOChronology;->getInstanceUTC()Lorg/joda/time/chrono/ISOChronology;
move-result-object v3
:goto_70
add-int/lit8 v10, v2, -0x1
const-string v11, "-Summer"
if-ge v4, v10, :cond_16b
.line 1461
aget-object v10, v8, v4
add-int/lit8 v19, v4, 0x1
.line 1462
aget-object v15, v8, v19
.line 1463
aget v12, v6, v4
int-to-long v13, v12
.line 1464
aget v12, v6, v19
int-to-long v0, v12
.line 1465
aget v12, v7, v4
move-object/from16 v20, v8
move-object/from16 p2, v9
int-to-long v8, v12
.line 1466
aget v12, v7, v19
move-object/from16 v21, v6
move-object/from16 v22, v7
int-to-long v6, v12
.line 1467
new-instance v23, Lorg/joda/time/Period;
aget-wide v16, v5, v4
aget-wide v24, v5, v19
invoke-static {}, Lorg/joda/time/PeriodType;->yearMonthDay()Lorg/joda/time/PeriodType;
move-result-object v18
move-object/from16 v12, v23
move-wide/from16 v26, v13
move-wide/from16 v13, v16
move/from16 v28, v2
move-object v2, v15
move-wide/from16 v15, v24
move-object/from16 v17, v18
move-object/from16 v18, v3
invoke-direct/range {v12 .. v18}, Lorg/joda/time/Period;-><init>(JJLorg/joda/time/PeriodType;Lorg/joda/time/Chronology;)V
cmp-long v12, v26, v0
if-eqz v12, :cond_159
cmp-long v0, v8, v6
if-nez v0, :cond_159
.line 1468
invoke-virtual {v10, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_159
invoke-virtual/range {v23 .. v23}, Lorg/joda/time/Period;->getYears()I
move-result v0
if-nez v0, :cond_159
invoke-virtual/range {v23 .. v23}, Lorg/joda/time/Period;->getMonths()I
move-result v0
const/4 v1, 0x4
if-le v0, v1, :cond_159
invoke-virtual/range {v23 .. v23}, Lorg/joda/time/Period;->getMonths()I
move-result v0
const/16 v6, 0x8
if-ge v0, v6, :cond_159
const/4 v0, 0x2
aget-object v0, p2, v0
invoke-virtual {v10, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_159
aget-object v0, p2, v1
invoke-virtual {v10, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_159
.line 1475
invoke-static {}, Lorg/joda/time/tz/ZoneInfoLogger;->verbose()Z
move-result v0
if-eqz v0, :cond_128
.line 1476
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, "Fixing duplicate name key - "
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 1477
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v6, " - "
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v6, Lorg/joda/time/DateTime;
aget-wide v7, v5, v4
invoke-direct {v6, v7, v8, v3}, Lorg/joda/time/DateTime;-><init>(JLorg/joda/time/Chronology;)V
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
const-string v6, " - "
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
new-instance v6, Lorg/joda/time/DateTime;
aget-wide v7, v5, v19
invoke-direct {v6, v7, v8, v3}, Lorg/joda/time/DateTime;-><init>(JLorg/joda/time/Chronology;)V
invoke-virtual {v1, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
:cond_128
if-lez v12, :cond_140
.line 1481
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v10}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->intern()Ljava/lang/String;
move-result-object v0
aput-object v0, v20, v4
goto :goto_159
:cond_140
if-gez v12, :cond_159
.line 1483
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v11}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/String;->intern()Ljava/lang/String;
move-result-object v0
aput-object v0, v20, v19
move/from16 v4, v19
:cond_159
:goto_159
add-int/lit8 v4, v4, 0x1
move-object/from16 v0, p0
move-object/from16 v9, p2
move-object/from16 v1, p3
move-object/from16 v8, v20
move-object/from16 v6, v21
move-object/from16 v7, v22
move/from16 v2, v28
goto/16 :goto_70
:cond_16b
move-object v0, v1
move-object/from16 v21, v6
move-object/from16 v22, v7
move-object/from16 v20, v8
if-eqz v0, :cond_1d9
.line 1490
iget-object v1, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iStartRecurrence:Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
invoke-virtual {v1}, Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;->getNameKey()Ljava/lang/String;
move-result-object v1
iget-object v2, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iEndRecurrence:Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
invoke-virtual {v2}, Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;->getNameKey()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_1d9
.line 1492
invoke-static {}, Lorg/joda/time/tz/ZoneInfoLogger;->verbose()Z
move-result v1
if-eqz v1, :cond_1a8
.line 1493
sget-object v1, Ljava/lang/System;->out:Ljava/io/PrintStream;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Fixing duplicate recurrent name key - "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v3, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iStartRecurrence:Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
invoke-virtual {v3}, Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;->getNameKey()Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 1496
:cond_1a8
iget-object v1, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iStartRecurrence:Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
invoke-virtual {v1}, Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;->getSaveMillis()I
move-result v1
if-lez v1, :cond_1c4
.line 1497
new-instance v1, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
invoke-virtual/range {p3 .. p3}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->getID()Ljava/lang/String;
move-result-object v2
iget v3, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iStandardOffset:I
iget-object v4, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iStartRecurrence:Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
invoke-virtual {v4, v11}, Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;->renameAppend(Ljava/lang/String;)Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
move-result-object v4
iget-object v0, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iEndRecurrence:Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
invoke-direct {v1, v2, v3, v4, v0}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;-><init>(Ljava/lang/String;ILorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;)V
goto :goto_1d7
.line 1503
:cond_1c4
new-instance v1, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
invoke-virtual/range {p3 .. p3}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->getID()Ljava/lang/String;
move-result-object v2
iget v3, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iStandardOffset:I
iget-object v4, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iStartRecurrence:Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
iget-object v0, v0, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->iEndRecurrence:Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
invoke-virtual {v0, v11}, Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;->renameAppend(Ljava/lang/String;)Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;
move-result-object v0
invoke-direct {v1, v2, v3, v4, v0}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;-><init>(Ljava/lang/String;ILorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;Lorg/joda/time/tz/DateTimeZoneBuilder$Recurrence;)V
:goto_1d7
move-object v9, v1
goto :goto_1da
:cond_1d9
move-object v9, v0
.line 1512
:goto_1da
new-instance v0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;
if-eqz p1, :cond_1e1
move-object/from16 v4, p0
goto :goto_1e4
:cond_1e1
const-string v1, ""
move-object v4, v1
:goto_1e4
move-object v3, v0
move-object/from16 v6, v21
move-object/from16 v7, v22
move-object/from16 v8, v20
invoke-direct/range {v3 .. v9}, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;-><init>(Ljava/lang/String;[J[I[I[Ljava/lang/String;Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;)V
return-object v0
.line 1423
:cond_1ef
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-direct {v0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw v0
.end method
.method static readFrom(Ljava/io/DataInput;Ljava/lang/String;)Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;
.registers 13
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1373
invoke-interface {p0}, Ljava/io/DataInput;->readUnsignedShort()I
move-result v0
.line 1374
new-array v1, v0, [Ljava/lang/String;
const/4 v2, 0x0
const/4 v3, 0x0
:goto_8
if-ge v3, v0, :cond_13
.line 1376
invoke-interface {p0}, Ljava/io/DataInput;->readUTF()Ljava/lang/String;
move-result-object v4
aput-object v4, v1, v3
add-int/lit8 v3, v3, 0x1
goto :goto_8
.line 1379
:cond_13
invoke-interface {p0}, Ljava/io/DataInput;->readInt()I
move-result v3
.line 1380
new-array v6, v3, [J
.line 1381
new-array v7, v3, [I
.line 1382
new-array v8, v3, [I
.line 1383
new-array v9, v3, [Ljava/lang/String;
:goto_1f
if-ge v2, v3, :cond_51
.line 1386
invoke-static {p0}, Lorg/joda/time/tz/DateTimeZoneBuilder;->readMillis(Ljava/io/DataInput;)J
move-result-wide v4
aput-wide v4, v6, v2
.line 1387
invoke-static {p0}, Lorg/joda/time/tz/DateTimeZoneBuilder;->readMillis(Ljava/io/DataInput;)J
move-result-wide v4
long-to-int v5, v4
aput v5, v7, v2
.line 1388
invoke-static {p0}, Lorg/joda/time/tz/DateTimeZoneBuilder;->readMillis(Ljava/io/DataInput;)J
move-result-wide v4
long-to-int v5, v4
aput v5, v8, v2
const/16 v4, 0x100
if-ge v0, v4, :cond_3e
.line 1392
:try_start_39
invoke-interface {p0}, Ljava/io/DataInput;->readUnsignedByte()I
move-result v4
goto :goto_42
.line 1394
:cond_3e
invoke-interface {p0}, Ljava/io/DataInput;->readUnsignedShort()I
move-result v4
.line 1396
:goto_42
aget-object v4, v1, v4
aput-object v4, v9, v2
:try_end_46
.catch Ljava/lang/ArrayIndexOutOfBoundsException; {:try_start_39 .. :try_end_46} :catch_49
add-int/lit8 v2, v2, 0x1
goto :goto_1f
.line 1398
:catch_49
new-instance p0, Ljava/io/IOException;
const-string p1, "Invalid encoding"
invoke-direct {p0, p1}, Ljava/io/IOException;-><init>(Ljava/lang/String;)V
throw p0
:cond_51
const/4 v0, 0x0
.line 1403
invoke-interface {p0}, Ljava/io/DataInput;->readBoolean()Z
move-result v1
if-eqz v1, :cond_5e
.line 1404
invoke-static {p0, p1}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->readFrom(Ljava/io/DataInput;Ljava/lang/String;)Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
move-result-object p0
move-object v10, p0
goto :goto_5f
:cond_5e
move-object v10, v0
.line 1407
:goto_5f
new-instance p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;
move-object v4, p0
move-object v5, p1
invoke-direct/range {v4 .. v10}, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;-><init>(Ljava/lang/String;[J[I[I[Ljava/lang/String;Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;)V
return-object p0
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.registers 6
const/4 v0, 0x1
if-ne p0, p1, :cond_4
return v0
.line 1654
:cond_4
instance-of v1, p1, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;
const/4 v2, 0x0
if-eqz v1, :cond_53
.line 1655
check-cast p1, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;
.line 1656
invoke-virtual {p0}, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->getID()Ljava/lang/String;
move-result-object v1
invoke-virtual {p1}, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->getID()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_51
iget-object v1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
iget-object v3, p1, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
invoke-static {v1, v3}, Ljava/util/Arrays;->equals([J[J)Z
move-result v1
if-eqz v1, :cond_51
iget-object v1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iNameKeys:[Ljava/lang/String;
iget-object v3, p1, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iNameKeys:[Ljava/lang/String;
invoke-static {v1, v3}, Ljava/util/Arrays;->equals([Ljava/lang/Object;[Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_51
iget-object v1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iWallOffsets:[I
iget-object v3, p1, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iWallOffsets:[I
invoke-static {v1, v3}, Ljava/util/Arrays;->equals([I[I)Z
move-result v1
if-eqz v1, :cond_51
iget-object v1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iStandardOffsets:[I
iget-object v3, p1, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iStandardOffsets:[I
invoke-static {v1, v3}, Ljava/util/Arrays;->equals([I[I)Z
move-result v1
if-eqz v1, :cond_51
iget-object v1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
iget-object p1, p1, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
if-nez v1, :cond_4a
if-nez p1, :cond_51
goto :goto_52
:cond_4a
invoke-virtual {v1, p1}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->equals(Ljava/lang/Object;)Z
move-result p1
if-eqz p1, :cond_51
goto :goto_52
:cond_51
const/4 v0, 0x0
:goto_52
return v0
:cond_53
return v2
.end method
.method public getNameKey(J)Ljava/lang/String;
.registers 5
.line 1541
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
.line 1542
invoke-static {v0, p1, p2}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v1
if-ltz v1, :cond_d
.line 1544
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iNameKeys:[Ljava/lang/String;
aget-object p1, p1, v1
return-object p1
:cond_d
not-int v1, v1
.line 1547
array-length v0, v0
if-ge v1, v0, :cond_1d
if-lez v1, :cond_1a
.line 1549
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iNameKeys:[Ljava/lang/String;
add-int/lit8 v1, v1, -0x1
aget-object p1, p1, v1
return-object p1
:cond_1a
const-string p1, "UTC"
return-object p1
.line 1553
:cond_1d
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
if-nez v0, :cond_28
.line 1554
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iNameKeys:[Ljava/lang/String;
add-int/lit8 v1, v1, -0x1
aget-object p1, p1, v1
return-object p1
.line 1556
:cond_28
invoke-virtual {v0, p1, p2}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->getNameKey(J)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getOffset(J)I
.registers 5
.line 1560
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
.line 1561
invoke-static {v0, p1, p2}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v1
if-ltz v1, :cond_d
.line 1563
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iWallOffsets:[I
aget p1, p1, v1
return p1
:cond_d
not-int v1, v1
.line 1566
array-length v0, v0
if-ge v1, v0, :cond_1c
if-lez v1, :cond_1a
.line 1568
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iWallOffsets:[I
add-int/lit8 v1, v1, -0x1
aget p1, p1, v1
return p1
:cond_1a
const/4 p1, 0x0
return p1
.line 1572
:cond_1c
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
if-nez v0, :cond_27
.line 1573
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iWallOffsets:[I
add-int/lit8 v1, v1, -0x1
aget p1, p1, v1
return p1
.line 1575
:cond_27
invoke-virtual {v0, p1, p2}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->getOffset(J)I
move-result p1
return p1
.end method
.method public getStandardOffset(J)I
.registers 5
.line 1579
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
.line 1580
invoke-static {v0, p1, p2}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v1
if-ltz v1, :cond_d
.line 1582
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iStandardOffsets:[I
aget p1, p1, v1
return p1
:cond_d
not-int v1, v1
.line 1585
array-length v0, v0
if-ge v1, v0, :cond_1c
if-lez v1, :cond_1a
.line 1587
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iStandardOffsets:[I
add-int/lit8 v1, v1, -0x1
aget p1, p1, v1
return p1
:cond_1a
const/4 p1, 0x0
return p1
.line 1591
:cond_1c
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
if-nez v0, :cond_27
.line 1592
iget-object p1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iStandardOffsets:[I
add-int/lit8 v1, v1, -0x1
aget p1, p1, v1
return p1
.line 1594
:cond_27
invoke-virtual {v0, p1, p2}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->getStandardOffset(J)I
move-result p1
return p1
.end method
.method public isCachable()Z
.registers 13
.line 1722
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
const/4 v1, 0x1
if-eqz v0, :cond_6
return v1
.line 1725
:cond_6
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
.line 1726
array-length v2, v0
const/4 v3, 0x0
if-gt v2, v1, :cond_d
return v3
:cond_d
const-wide/16 v4, 0x0
const/4 v2, 0x1
const/4 v6, 0x0
.line 1735
:goto_11
array-length v7, v0
if-ge v2, v7, :cond_2b
.line 1736
aget-wide v7, v0, v2
add-int/lit8 v9, v2, -0x1
aget-wide v9, v0, v9
sub-long/2addr v7, v9
const-wide v9, 0xeb488b400L
cmp-long v11, v7, v9
if-gez v11, :cond_28
long-to-double v7, v7
add-double/2addr v4, v7
add-int/lit8 v6, v6, 0x1
:cond_28
add-int/lit8 v2, v2, 0x1
goto :goto_11
:cond_2b
if-lez v6, :cond_3c
int-to-double v6, v6
div-double/2addr v4, v6
const-wide v6, 0x4194997000000000L # 8.64E7
div-double/2addr v4, v6
const-wide/high16 v6, 0x4039000000000000L # 25.0
cmpl-double v0, v4, v6
if-ltz v0, :cond_3c
return v1
:cond_3c
return v3
.end method
.method public isFixed()Z
.registers 2
const/4 v0, 0x0
return v0
.end method
.method public nextTransition(J)J
.registers 6
.line 1602
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
.line 1603
invoke-static {v0, p1, p2}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v1
if-ltz v1, :cond_b
add-int/lit8 v1, v1, 0x1
goto :goto_c
:cond_b
not-int v1, v1
.line 1605
:goto_c
array-length v2, v0
if-ge v1, v2, :cond_12
.line 1606
aget-wide p1, v0, v1
return-wide p1
.line 1608
:cond_12
iget-object v1, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
if-nez v1, :cond_17
return-wide p1
.line 1611
:cond_17
array-length v1, v0
add-int/lit8 v1, v1, -0x1
aget-wide v1, v0, v1
cmp-long v0, p1, v1
if-gez v0, :cond_21
move-wide p1, v1
.line 1615
:cond_21
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
invoke-virtual {v0, p1, p2}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->nextTransition(J)J
move-result-wide p1
return-wide p1
.end method
.method public previousTransition(J)J
.registers 12
.line 1619
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
.line 1620
invoke-static {v0, p1, p2}, Ljava/util/Arrays;->binarySearch([JJ)I
move-result v1
const-wide/16 v2, 0x1
const-wide/high16 v4, -0x8000000000000000L
if-ltz v1, :cond_12
cmp-long v0, p1, v4
if-lez v0, :cond_11
sub-long/2addr p1, v2
:cond_11
return-wide p1
:cond_12
not-int v1, v1
.line 1628
array-length v6, v0
if-ge v1, v6, :cond_23
if-lez v1, :cond_22
add-int/lit8 v1, v1, -0x1
.line 1630
aget-wide v6, v0, v1
cmp-long v0, v6, v4
if-lez v0, :cond_22
sub-long/2addr v6, v2
return-wide v6
:cond_22
return-wide p1
.line 1637
:cond_23
iget-object v6, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
if-eqz v6, :cond_30
.line 1638
invoke-virtual {v6, p1, p2}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->previousTransition(J)J
move-result-wide v6
cmp-long v8, v6, p1
if-gez v8, :cond_30
return-wide v6
:cond_30
add-int/lit8 v1, v1, -0x1
.line 1643
aget-wide v6, v0, v1
cmp-long v0, v6, v4
if-lez v0, :cond_3a
sub-long/2addr v6, v2
return-wide v6
:cond_3a
return-wide p1
.end method
.method public writeTo(Ljava/io/DataOutput;)V
.registers 12
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 1670
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
array-length v0, v0
.line 1673
new-instance v1, Ljava/util/HashSet;
invoke-direct {v1}, Ljava/util/HashSet;-><init>()V
const/4 v2, 0x0
const/4 v3, 0x0
:goto_a
if-ge v3, v0, :cond_16
.line 1675
iget-object v4, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iNameKeys:[Ljava/lang/String;
aget-object v4, v4, v3
invoke-interface {v1, v4}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
add-int/lit8 v3, v3, 0x1
goto :goto_a
.line 1678
:cond_16
invoke-interface {v1}, Ljava/util/Set;->size()I
move-result v3
const v4, 0xffff
if-gt v3, v4, :cond_93
.line 1682
new-array v4, v3, [Ljava/lang/String;
.line 1683
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
const/4 v5, 0x0
.line 1684
:goto_26
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v6
const/4 v7, 0x1
if-eqz v6, :cond_37
.line 1685
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v6
check-cast v6, Ljava/lang/String;
aput-object v6, v4, v5
add-int/2addr v5, v7
goto :goto_26
.line 1689
:cond_37
invoke-interface {p1, v3}, Ljava/io/DataOutput;->writeShort(I)V
const/4 v1, 0x0
:goto_3b
if-ge v1, v3, :cond_45
.line 1691
aget-object v5, v4, v1
invoke-interface {p1, v5}, Ljava/io/DataOutput;->writeUTF(Ljava/lang/String;)V
add-int/lit8 v1, v1, 0x1
goto :goto_3b
.line 1694
:cond_45
invoke-interface {p1, v0}, Ljava/io/DataOutput;->writeInt(I)V
const/4 v1, 0x0
:goto_49
if-ge v1, v0, :cond_83
.line 1697
iget-object v5, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTransitions:[J
aget-wide v8, v5, v1
invoke-static {p1, v8, v9}, Lorg/joda/time/tz/DateTimeZoneBuilder;->writeMillis(Ljava/io/DataOutput;J)V
.line 1698
iget-object v5, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iWallOffsets:[I
aget v5, v5, v1
int-to-long v5, v5
invoke-static {p1, v5, v6}, Lorg/joda/time/tz/DateTimeZoneBuilder;->writeMillis(Ljava/io/DataOutput;J)V
.line 1699
iget-object v5, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iStandardOffsets:[I
aget v5, v5, v1
int-to-long v5, v5
invoke-static {p1, v5, v6}, Lorg/joda/time/tz/DateTimeZoneBuilder;->writeMillis(Ljava/io/DataOutput;J)V
.line 1702
iget-object v5, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iNameKeys:[Ljava/lang/String;
aget-object v5, v5, v1
const/4 v6, 0x0
:goto_67
if-ge v6, v3, :cond_80
.line 1704
aget-object v8, v4, v6
invoke-virtual {v8, v5}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v8
if-eqz v8, :cond_7d
const/16 v5, 0x100
if-ge v3, v5, :cond_79
.line 1706
invoke-interface {p1, v6}, Ljava/io/DataOutput;->writeByte(I)V
goto :goto_80
.line 1708
:cond_79
invoke-interface {p1, v6}, Ljava/io/DataOutput;->writeShort(I)V
goto :goto_80
:cond_7d
add-int/lit8 v6, v6, 0x1
goto :goto_67
:cond_80
:goto_80
add-int/lit8 v1, v1, 0x1
goto :goto_49
.line 1715
:cond_83
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
if-eqz v0, :cond_88
const/4 v2, 0x1
:cond_88
invoke-interface {p1, v2}, Ljava/io/DataOutput;->writeBoolean(Z)V
.line 1716
iget-object v0, p0, Lorg/joda/time/tz/DateTimeZoneBuilder$PrecalculatedZone;->iTailZone:Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;
if-eqz v0, :cond_92
.line 1717
invoke-virtual {v0, p1}, Lorg/joda/time/tz/DateTimeZoneBuilder$DSTZone;->writeTo(Ljava/io/DataOutput;)V
:cond_92
return-void
.line 1680
:cond_93
new-instance p1, Ljava/lang/UnsupportedOperationException;
const-string v0, "String pool is too large"
invoke-direct {p1, v0}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw p1
.end method