ISOChronology.smali
.class public final Lorg/joda/time/chrono/ISOChronology;
.super Lorg/joda/time/chrono/AssembledChronology;
.source "ISOChronology.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/joda/time/chrono/ISOChronology$Stub;
}
.end annotation
# static fields
.field private static final INSTANCE_UTC:Lorg/joda/time/chrono/ISOChronology;
.field private static final cCache:Ljava/util/concurrent/ConcurrentHashMap;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/ConcurrentHashMap<",
"Lorg/joda/time/DateTimeZone;",
"Lorg/joda/time/chrono/ISOChronology;",
">;"
}
.end annotation
.end field
.field private static final serialVersionUID:J = -0x5637ee998ec8afd9L
# direct methods
.method static constructor <clinit>()V
.registers 3
.line 57
new-instance v0, Ljava/util/concurrent/ConcurrentHashMap;
invoke-direct {v0}, Ljava/util/concurrent/ConcurrentHashMap;-><init>()V
sput-object v0, Lorg/joda/time/chrono/ISOChronology;->cCache:Ljava/util/concurrent/ConcurrentHashMap;
.line 59
new-instance v0, Lorg/joda/time/chrono/ISOChronology;
invoke-static {}, Lorg/joda/time/chrono/GregorianChronology;->getInstanceUTC()Lorg/joda/time/chrono/GregorianChronology;
move-result-object v1
invoke-direct {v0, v1}, Lorg/joda/time/chrono/ISOChronology;-><init>(Lorg/joda/time/Chronology;)V
sput-object v0, Lorg/joda/time/chrono/ISOChronology;->INSTANCE_UTC:Lorg/joda/time/chrono/ISOChronology;
.line 60
sget-object v0, Lorg/joda/time/chrono/ISOChronology;->cCache:Ljava/util/concurrent/ConcurrentHashMap;
sget-object v1, Lorg/joda/time/DateTimeZone;->UTC:Lorg/joda/time/DateTimeZone;
sget-object v2, Lorg/joda/time/chrono/ISOChronology;->INSTANCE_UTC:Lorg/joda/time/chrono/ISOChronology;
invoke-virtual {v0, v1, v2}, Ljava/util/concurrent/ConcurrentHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-void
.end method
.method private constructor <init>(Lorg/joda/time/Chronology;)V
.registers 3
const/4 v0, 0x0
.line 110
invoke-direct {p0, p1, v0}, Lorg/joda/time/chrono/AssembledChronology;-><init>(Lorg/joda/time/Chronology;Ljava/lang/Object;)V
return-void
.end method
.method public static getInstance()Lorg/joda/time/chrono/ISOChronology;
.registers 1
.line 79
invoke-static {}, Lorg/joda/time/DateTimeZone;->getDefault()Lorg/joda/time/DateTimeZone;
move-result-object v0
invoke-static {v0}, Lorg/joda/time/chrono/ISOChronology;->getInstance(Lorg/joda/time/DateTimeZone;)Lorg/joda/time/chrono/ISOChronology;
move-result-object v0
return-object v0
.end method
.method public static getInstance(Lorg/joda/time/DateTimeZone;)Lorg/joda/time/chrono/ISOChronology;
.registers 3
if-nez p0, :cond_6
.line 90
invoke-static {}, Lorg/joda/time/DateTimeZone;->getDefault()Lorg/joda/time/DateTimeZone;
move-result-object p0
.line 92
:cond_6
sget-object v0, Lorg/joda/time/chrono/ISOChronology;->cCache:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v0, p0}, Ljava/util/concurrent/ConcurrentHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/joda/time/chrono/ISOChronology;
if-nez v0, :cond_26
.line 94
new-instance v0, Lorg/joda/time/chrono/ISOChronology;
sget-object v1, Lorg/joda/time/chrono/ISOChronology;->INSTANCE_UTC:Lorg/joda/time/chrono/ISOChronology;
invoke-static {v1, p0}, Lorg/joda/time/chrono/ZonedChronology;->getInstance(Lorg/joda/time/Chronology;Lorg/joda/time/DateTimeZone;)Lorg/joda/time/chrono/ZonedChronology;
move-result-object v1
invoke-direct {v0, v1}, Lorg/joda/time/chrono/ISOChronology;-><init>(Lorg/joda/time/Chronology;)V
.line 95
sget-object v1, Lorg/joda/time/chrono/ISOChronology;->cCache:Ljava/util/concurrent/ConcurrentHashMap;
invoke-virtual {v1, p0, v0}, Ljava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lorg/joda/time/chrono/ISOChronology;
if-eqz p0, :cond_26
move-object v0, p0
:cond_26
return-object v0
.end method
.method public static getInstanceUTC()Lorg/joda/time/chrono/ISOChronology;
.registers 1
.line 70
sget-object v0, Lorg/joda/time/chrono/ISOChronology;->INSTANCE_UTC:Lorg/joda/time/chrono/ISOChronology;
return-object v0
.end method
.method private writeReplace()Ljava/lang/Object;
.registers 3
.line 205
new-instance v0, Lorg/joda/time/chrono/ISOChronology$Stub;
invoke-virtual {p0}, Lorg/joda/time/chrono/ISOChronology;->getZone()Lorg/joda/time/DateTimeZone;
move-result-object v1
invoke-direct {v0, v1}, Lorg/joda/time/chrono/ISOChronology$Stub;-><init>(Lorg/joda/time/DateTimeZone;)V
return-object v0
.end method
# virtual methods
.method protected assemble(Lorg/joda/time/chrono/AssembledChronology$Fields;)V
.registers 6
.line 157
invoke-virtual {p0}, Lorg/joda/time/chrono/ISOChronology;->getBase()Lorg/joda/time/Chronology;
move-result-object v0
invoke-virtual {v0}, Lorg/joda/time/Chronology;->getZone()Lorg/joda/time/DateTimeZone;
move-result-object v0
sget-object v1, Lorg/joda/time/DateTimeZone;->UTC:Lorg/joda/time/DateTimeZone;
if-ne v0, v1, :cond_43
.line 159
new-instance v0, Lorg/joda/time/field/DividedDateTimeField;
sget-object v1, Lorg/joda/time/chrono/ISOYearOfEraDateTimeField;->INSTANCE:Lorg/joda/time/DateTimeField;
invoke-static {}, Lorg/joda/time/DateTimeFieldType;->centuryOfEra()Lorg/joda/time/DateTimeFieldType;
move-result-object v2
const/16 v3, 0x64
invoke-direct {v0, v1, v2, v3}, Lorg/joda/time/field/DividedDateTimeField;-><init>(Lorg/joda/time/DateTimeField;Lorg/joda/time/DateTimeFieldType;I)V
iput-object v0, p1, Lorg/joda/time/chrono/AssembledChronology$Fields;->centuryOfEra:Lorg/joda/time/DateTimeField;
.line 161
iget-object v0, p1, Lorg/joda/time/chrono/AssembledChronology$Fields;->centuryOfEra:Lorg/joda/time/DateTimeField;
invoke-virtual {v0}, Lorg/joda/time/DateTimeField;->getDurationField()Lorg/joda/time/DurationField;
move-result-object v0
iput-object v0, p1, Lorg/joda/time/chrono/AssembledChronology$Fields;->centuries:Lorg/joda/time/DurationField;
.line 163
new-instance v0, Lorg/joda/time/field/RemainderDateTimeField;
iget-object v1, p1, Lorg/joda/time/chrono/AssembledChronology$Fields;->centuryOfEra:Lorg/joda/time/DateTimeField;
check-cast v1, Lorg/joda/time/field/DividedDateTimeField;
invoke-static {}, Lorg/joda/time/DateTimeFieldType;->yearOfCentury()Lorg/joda/time/DateTimeFieldType;
move-result-object v2
invoke-direct {v0, v1, v2}, Lorg/joda/time/field/RemainderDateTimeField;-><init>(Lorg/joda/time/field/DividedDateTimeField;Lorg/joda/time/DateTimeFieldType;)V
iput-object v0, p1, Lorg/joda/time/chrono/AssembledChronology$Fields;->yearOfCentury:Lorg/joda/time/DateTimeField;
.line 165
new-instance v0, Lorg/joda/time/field/RemainderDateTimeField;
iget-object v1, p1, Lorg/joda/time/chrono/AssembledChronology$Fields;->centuryOfEra:Lorg/joda/time/DateTimeField;
check-cast v1, Lorg/joda/time/field/DividedDateTimeField;
iget-object v2, p1, Lorg/joda/time/chrono/AssembledChronology$Fields;->weekyears:Lorg/joda/time/DurationField;
invoke-static {}, Lorg/joda/time/DateTimeFieldType;->weekyearOfCentury()Lorg/joda/time/DateTimeFieldType;
move-result-object v3
invoke-direct {v0, v1, v2, v3}, Lorg/joda/time/field/RemainderDateTimeField;-><init>(Lorg/joda/time/field/DividedDateTimeField;Lorg/joda/time/DurationField;Lorg/joda/time/DateTimeFieldType;)V
iput-object v0, p1, Lorg/joda/time/chrono/AssembledChronology$Fields;->weekyearOfCentury:Lorg/joda/time/DateTimeField;
:cond_43
return-void
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 3
if-ne p0, p1, :cond_4
const/4 p1, 0x1
return p1
.line 182
:cond_4
instance-of v0, p1, Lorg/joda/time/chrono/ISOChronology;
if-eqz v0, :cond_17
.line 183
check-cast p1, Lorg/joda/time/chrono/ISOChronology;
.line 184
invoke-virtual {p0}, Lorg/joda/time/chrono/ISOChronology;->getZone()Lorg/joda/time/DateTimeZone;
move-result-object v0
invoke-virtual {p1}, Lorg/joda/time/chrono/ISOChronology;->getZone()Lorg/joda/time/DateTimeZone;
move-result-object p1
invoke-virtual {v0, p1}, Lorg/joda/time/DateTimeZone;->equals(Ljava/lang/Object;)Z
move-result p1
return p1
:cond_17
const/4 p1, 0x0
return p1
.end method
.method public hashCode()I
.registers 3
.line 196
invoke-virtual {p0}, Lorg/joda/time/chrono/ISOChronology;->getZone()Lorg/joda/time/DateTimeZone;
move-result-object v0
invoke-virtual {v0}, Lorg/joda/time/DateTimeZone;->hashCode()I
move-result v0
const v1, 0xc3857
add-int/2addr v1, v0
return v1
.end method
.method public toString()Ljava/lang/String;
.registers 4
.line 149
invoke-virtual {p0}, Lorg/joda/time/chrono/ISOChronology;->getZone()Lorg/joda/time/DateTimeZone;
move-result-object v0
const-string v1, "ISOChronology"
if-eqz v0, :cond_25
.line 151
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v1, 0x5b
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Lorg/joda/time/DateTimeZone;->getID()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const/16 v0, 0x5d
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
:cond_25
return-object v1
.end method
.method public withUTC()Lorg/joda/time/Chronology;
.registers 2
.line 121
sget-object v0, Lorg/joda/time/chrono/ISOChronology;->INSTANCE_UTC:Lorg/joda/time/chrono/ISOChronology;
return-object v0
.end method
.method public withZone(Lorg/joda/time/DateTimeZone;)Lorg/joda/time/Chronology;
.registers 3
if-nez p1, :cond_6
.line 132
invoke-static {}, Lorg/joda/time/DateTimeZone;->getDefault()Lorg/joda/time/DateTimeZone;
move-result-object p1
.line 134
:cond_6
invoke-virtual {p0}, Lorg/joda/time/chrono/ISOChronology;->getZone()Lorg/joda/time/DateTimeZone;
move-result-object v0
if-ne p1, v0, :cond_d
return-object p0
.line 137
:cond_d
invoke-static {p1}, Lorg/joda/time/chrono/ISOChronology;->getInstance(Lorg/joda/time/DateTimeZone;)Lorg/joda/time/chrono/ISOChronology;
move-result-object p1
return-object p1
.end method