DateTimeComparator.smali
.class public Lorg/joda/time/DateTimeComparator;
.super Ljava/lang/Object;
.source "DateTimeComparator.java"
# interfaces
.implements Ljava/io/Serializable;
.implements Ljava/util/Comparator;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/io/Serializable;",
"Ljava/util/Comparator",
"<",
"Ljava/lang/Object;",
">;"
}
.end annotation
# static fields
.field private static final ALL_INSTANCE:Lorg/joda/time/DateTimeComparator;
.field private static final DATE_INSTANCE:Lorg/joda/time/DateTimeComparator;
.field private static final TIME_INSTANCE:Lorg/joda/time/DateTimeComparator;
.field private static final serialVersionUID:J = -0x549e1a37ff9c2abcL
# instance fields
.field private final iLowerLimit:Lorg/joda/time/DateTimeFieldType;
.field private final iUpperLimit:Lorg/joda/time/DateTimeFieldType;
# direct methods
.method static constructor <clinit>()V
.registers 3
.prologue
const/4 v2, 0x0
.line 54
new-instance v0, Lorg/joda/time/DateTimeComparator;
invoke-direct {v0, v2, v2}, Lorg/joda/time/DateTimeComparator;-><init>(Lorg/joda/time/DateTimeFieldType;Lorg/joda/time/DateTimeFieldType;)V
sput-object v0, Lorg/joda/time/DateTimeComparator;->ALL_INSTANCE:Lorg/joda/time/DateTimeComparator;
.line 56
new-instance v0, Lorg/joda/time/DateTimeComparator;
invoke-static {}, Lorg/joda/time/DateTimeFieldType;->dayOfYear()Lorg/joda/time/DateTimeFieldType;
move-result-object v1
invoke-direct {v0, v1, v2}, Lorg/joda/time/DateTimeComparator;-><init>(Lorg/joda/time/DateTimeFieldType;Lorg/joda/time/DateTimeFieldType;)V
sput-object v0, Lorg/joda/time/DateTimeComparator;->DATE_INSTANCE:Lorg/joda/time/DateTimeComparator;
.line 58
new-instance v0, Lorg/joda/time/DateTimeComparator;
invoke-static {}, Lorg/joda/time/DateTimeFieldType;->dayOfYear()Lorg/joda/time/DateTimeFieldType;
move-result-object v1
invoke-direct {v0, v2, v1}, Lorg/joda/time/DateTimeComparator;-><init>(Lorg/joda/time/DateTimeFieldType;Lorg/joda/time/DateTimeFieldType;)V
sput-object v0, Lorg/joda/time/DateTimeComparator;->TIME_INSTANCE:Lorg/joda/time/DateTimeComparator;
return-void
.end method
.method protected constructor <init>(Lorg/joda/time/DateTimeFieldType;Lorg/joda/time/DateTimeFieldType;)V
.registers 3
.prologue
.line 155
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 156
iput-object p1, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
.line 157
iput-object p2, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
.line 158
return-void
.end method
.method public static getDateOnlyInstance()Lorg/joda/time/DateTimeComparator;
.registers 1
.prologue
.line 130
sget-object v0, Lorg/joda/time/DateTimeComparator;->DATE_INSTANCE:Lorg/joda/time/DateTimeComparator;
return-object v0
.end method
.method public static getInstance()Lorg/joda/time/DateTimeComparator;
.registers 1
.prologue
.line 72
sget-object v0, Lorg/joda/time/DateTimeComparator;->ALL_INSTANCE:Lorg/joda/time/DateTimeComparator;
return-object v0
.end method
.method public static getInstance(Lorg/joda/time/DateTimeFieldType;)Lorg/joda/time/DateTimeComparator;
.registers 2
.prologue
.line 87
const/4 v0, 0x0
invoke-static {p0, v0}, Lorg/joda/time/DateTimeComparator;->getInstance(Lorg/joda/time/DateTimeFieldType;Lorg/joda/time/DateTimeFieldType;)Lorg/joda/time/DateTimeComparator;
move-result-object v0
return-object v0
.end method
.method public static getInstance(Lorg/joda/time/DateTimeFieldType;Lorg/joda/time/DateTimeFieldType;)Lorg/joda/time/DateTimeComparator;
.registers 3
.prologue
.line 106
if-nez p0, :cond_7
if-nez p1, :cond_7
.line 107
sget-object v0, Lorg/joda/time/DateTimeComparator;->ALL_INSTANCE:Lorg/joda/time/DateTimeComparator;
.line 115
:goto_6
return-object v0
.line 109
:cond_7
invoke-static {}, Lorg/joda/time/DateTimeFieldType;->dayOfYear()Lorg/joda/time/DateTimeFieldType;
move-result-object v0
if-ne p0, v0, :cond_12
if-nez p1, :cond_12
.line 110
sget-object v0, Lorg/joda/time/DateTimeComparator;->DATE_INSTANCE:Lorg/joda/time/DateTimeComparator;
goto :goto_6
.line 112
:cond_12
if-nez p0, :cond_1d
invoke-static {}, Lorg/joda/time/DateTimeFieldType;->dayOfYear()Lorg/joda/time/DateTimeFieldType;
move-result-object v0
if-ne p1, v0, :cond_1d
.line 113
sget-object v0, Lorg/joda/time/DateTimeComparator;->TIME_INSTANCE:Lorg/joda/time/DateTimeComparator;
goto :goto_6
.line 115
:cond_1d
new-instance v0, Lorg/joda/time/DateTimeComparator;
invoke-direct {v0, p0, p1}, Lorg/joda/time/DateTimeComparator;-><init>(Lorg/joda/time/DateTimeFieldType;Lorg/joda/time/DateTimeFieldType;)V
goto :goto_6
.end method
.method public static getTimeOnlyInstance()Lorg/joda/time/DateTimeComparator;
.registers 1
.prologue
.line 145
sget-object v0, Lorg/joda/time/DateTimeComparator;->TIME_INSTANCE:Lorg/joda/time/DateTimeComparator;
return-object v0
.end method
.method private readResolve()Ljava/lang/Object;
.registers 3
.prologue
.line 226
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
invoke-static {v0, v1}, Lorg/joda/time/DateTimeComparator;->getInstance(Lorg/joda/time/DateTimeFieldType;Lorg/joda/time/DateTimeFieldType;)Lorg/joda/time/DateTimeComparator;
move-result-object v0
return-object v0
.end method
# virtual methods
.method public compare(Ljava/lang/Object;Ljava/lang/Object;)I
.registers 10
.prologue
const/4 v1, 0x0
.line 192
invoke-static {}, Lorg/joda/time/convert/ConverterManager;->getInstance()Lorg/joda/time/convert/ConverterManager;
move-result-object v0
invoke-virtual {v0, p1}, Lorg/joda/time/convert/ConverterManager;->getInstantConverter(Ljava/lang/Object;)Lorg/joda/time/convert/InstantConverter;
move-result-object v2
move-object v0, v1
.line 193
check-cast v0, Lorg/joda/time/Chronology;
invoke-interface {v2, p1, v0}, Lorg/joda/time/convert/InstantConverter;->getChronology(Ljava/lang/Object;Lorg/joda/time/Chronology;)Lorg/joda/time/Chronology;
move-result-object v4
.line 194
invoke-interface {v2, p1, v4}, Lorg/joda/time/convert/InstantConverter;->getInstantMillis(Ljava/lang/Object;Lorg/joda/time/Chronology;)J
move-result-wide v2
.line 196
invoke-static {}, Lorg/joda/time/convert/ConverterManager;->getInstance()Lorg/joda/time/convert/ConverterManager;
move-result-object v0
invoke-virtual {v0, p2}, Lorg/joda/time/convert/ConverterManager;->getInstantConverter(Ljava/lang/Object;)Lorg/joda/time/convert/InstantConverter;
move-result-object v0
.line 197
check-cast v1, Lorg/joda/time/Chronology;
invoke-interface {v0, p2, v1}, Lorg/joda/time/convert/InstantConverter;->getChronology(Ljava/lang/Object;Lorg/joda/time/Chronology;)Lorg/joda/time/Chronology;
move-result-object v5
.line 198
invoke-interface {v0, p2, v5}, Lorg/joda/time/convert/InstantConverter;->getInstantMillis(Ljava/lang/Object;Lorg/joda/time/Chronology;)J
move-result-wide v0
.line 200
iget-object v6, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
if-eqz v6, :cond_3e
.line 201
iget-object v6, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v6, v4}, Lorg/joda/time/DateTimeFieldType;->getField(Lorg/joda/time/Chronology;)Lorg/joda/time/DateTimeField;
move-result-object v6
invoke-virtual {v6, v2, v3}, Lorg/joda/time/DateTimeField;->roundFloor(J)J
move-result-wide v2
.line 202
iget-object v6, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v6, v5}, Lorg/joda/time/DateTimeFieldType;->getField(Lorg/joda/time/Chronology;)Lorg/joda/time/DateTimeField;
move-result-object v6
invoke-virtual {v6, v0, v1}, Lorg/joda/time/DateTimeField;->roundFloor(J)J
move-result-wide v0
.line 205
:cond_3e
iget-object v6, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
if-eqz v6, :cond_56
.line 206
iget-object v6, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v6, v4}, Lorg/joda/time/DateTimeFieldType;->getField(Lorg/joda/time/Chronology;)Lorg/joda/time/DateTimeField;
move-result-object v4
invoke-virtual {v4, v2, v3}, Lorg/joda/time/DateTimeField;->remainder(J)J
move-result-wide v2
.line 207
iget-object v4, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v4, v5}, Lorg/joda/time/DateTimeFieldType;->getField(Lorg/joda/time/Chronology;)Lorg/joda/time/DateTimeField;
move-result-object v4
invoke-virtual {v4, v0, v1}, Lorg/joda/time/DateTimeField;->remainder(J)J
move-result-wide v0
.line 210
:cond_56
cmp-long v4, v2, v0
if-gez v4, :cond_5c
.line 211
const/4 v0, -0x1
.line 215
:goto_5b
return v0
.line 212
:cond_5c
cmp-long v0, v2, v0
if-lez v0, :cond_62
.line 213
const/4 v0, 0x1
goto :goto_5b
.line 215
:cond_62
const/4 v0, 0x0
goto :goto_5b
.end method
.method public equals(Ljava/lang/Object;)Z
.registers 5
.prologue
const/4 v0, 0x0
.line 236
instance-of v1, p1, Lorg/joda/time/DateTimeComparator;
if-eqz v1, :cond_38
.line 237
check-cast p1, Lorg/joda/time/DateTimeComparator;
.line 238
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {p1}, Lorg/joda/time/DateTimeComparator;->getLowerLimit()Lorg/joda/time/DateTimeFieldType;
move-result-object v2
if-eq v1, v2, :cond_1f
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
if-eqz v1, :cond_38
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {p1}, Lorg/joda/time/DateTimeComparator;->getLowerLimit()Lorg/joda/time/DateTimeFieldType;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_38
:cond_1f
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {p1}, Lorg/joda/time/DateTimeComparator;->getUpperLimit()Lorg/joda/time/DateTimeFieldType;
move-result-object v2
if-eq v1, v2, :cond_37
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
if-eqz v1, :cond_38
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {p1}, Lorg/joda/time/DateTimeComparator;->getUpperLimit()Lorg/joda/time/DateTimeFieldType;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_38
:cond_37
const/4 v0, 0x1
.line 243
:cond_38
return v0
.end method
.method public getLowerLimit()Lorg/joda/time/DateTimeFieldType;
.registers 2
.prologue
.line 167
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
return-object v0
.end method
.method public getUpperLimit()Lorg/joda/time/DateTimeFieldType;
.registers 2
.prologue
.line 176
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
return-object v0
.end method
.method public hashCode()I
.registers 4
.prologue
const/4 v1, 0x0
.line 252
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
if-nez v0, :cond_e
move v0, v1
:goto_6
iget-object v2, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
if-nez v2, :cond_15
:goto_a
mul-int/lit8 v1, v1, 0x7b
add-int/2addr v0, v1
return v0
:cond_e
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v0}, Ljava/lang/Object;->hashCode()I
move-result v0
goto :goto_6
:cond_15
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v1}, Ljava/lang/Object;->hashCode()I
move-result v1
goto :goto_a
.end method
.method public toString()Ljava/lang/String;
.registers 3
.prologue
.line 262
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
iget-object v1, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
if-ne v0, v1, :cond_2d
.line 263
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "DateTimeComparator["
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
if-nez v0, :cond_26
const-string v0, ""
:goto_17
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
.line 267
:goto_25
return-object v0
.line 263
:cond_26
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v0}, Lorg/joda/time/DateTimeFieldType;->getName()Ljava/lang/String;
move-result-object v0
goto :goto_17
.line 267
:cond_2d
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "DateTimeComparator["
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
if-nez v0, :cond_5d
const-string v0, ""
:goto_3e
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "-"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
if-nez v0, :cond_64
const-string v0, ""
:goto_4e
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
goto :goto_25
:cond_5d
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iLowerLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v0}, Lorg/joda/time/DateTimeFieldType;->getName()Ljava/lang/String;
move-result-object v0
goto :goto_3e
:cond_64
iget-object v0, p0, Lorg/joda/time/DateTimeComparator;->iUpperLimit:Lorg/joda/time/DateTimeFieldType;
invoke-virtual {v0}, Lorg/joda/time/DateTimeFieldType;->getName()Ljava/lang/String;
move-result-object v0
goto :goto_4e
.end method