g.smali
.class public Lcn/jiguang/am/g;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<E:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# instance fields
.field private a:Ljava/util/Comparator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Comparator",
"<TE;>;"
}
.end annotation
.end field
.field private b:I
# direct methods
.method public constructor <init>(Ljava/util/Comparator;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<TE;>;)V"
}
.end annotation
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
invoke-virtual {p0, p1}, Lcn/jiguang/am/g;->a(Ljava/util/Comparator;)V
return-void
.end method
.method private a(Ljava/util/List;IILjava/lang/Object;)Z
.registers 10
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<TE;>;IITE;)Z"
}
.end annotation
move v0, p3
move v1, p2
:goto_2
if-gt v1, v0, :cond_20
add-int v2, v1, v0
shr-int/lit8 v2, v2, 0x1
iget-object v3, p0, Lcn/jiguang/am/g;->a:Ljava/util/Comparator;
invoke-interface {p1, v2}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
invoke-interface {v3, v4, p4}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v3
if-nez v3, :cond_18
iput v2, p0, Lcn/jiguang/am/g;->b:I
const/4 v0, 0x1
:goto_17
return v0
:cond_18
if-gez v3, :cond_1d
add-int/lit8 v1, v2, 0x1
goto :goto_2
:cond_1d
add-int/lit8 v0, v2, -0x1
goto :goto_2
:cond_20
iput v1, p0, Lcn/jiguang/am/g;->b:I
const/4 v0, 0x0
goto :goto_17
.end method
# virtual methods
.method public a(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List",
"<TE;>;",
"Ljava/util/List",
"<TE;>;)",
"Ljava/util/List",
"<TE;>;"
}
.end annotation
const/4 v0, 0x0
iget-object v1, p0, Lcn/jiguang/am/g;->a:Ljava/util/Comparator;
if-eqz v1, :cond_15
if-eqz p1, :cond_15
invoke-interface {p1}, Ljava/util/List;->isEmpty()Z
move-result v1
if-nez v1, :cond_15
if-eqz p2, :cond_15
invoke-interface {p2}, Ljava/util/List;->isEmpty()Z
move-result v1
if-eqz v1, :cond_17
:cond_15
const/4 v0, 0x0
:goto_16
return-object v0
:cond_17
invoke-interface {p1}, Ljava/util/List;->size()I
move-result v3
invoke-interface {p2}, Ljava/util/List;->size()I
move-result v4
add-int/lit8 v5, v3, -0x1
add-int/lit8 v6, v4, -0x1
new-instance v2, Ljava/util/ArrayList;
invoke-direct {v2}, Ljava/util/ArrayList;-><init>()V
move v1, v0
:goto_29
if-ge v0, v3, :cond_73
if-ge v1, v4, :cond_73
invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v7
invoke-interface {p2, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v8
iget-object v9, p0, Lcn/jiguang/am/g;->a:Ljava/util/Comparator;
invoke-interface {v9, v7, v8}, Ljava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
move-result v9
if-nez v9, :cond_45
invoke-interface {v2, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v0, v0, 0x1
add-int/lit8 v1, v1, 0x1
goto :goto_29
:cond_45
if-gez v9, :cond_5c
add-int/lit8 v0, v0, 0x1
invoke-direct {p0, p1, v0, v5, v8}, Lcn/jiguang/am/g;->a(Ljava/util/List;IILjava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_59
invoke-interface {v2, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
iget v0, p0, Lcn/jiguang/am/g;->b:I
add-int/lit8 v0, v0, 0x1
:goto_56
add-int/lit8 v1, v1, 0x1
goto :goto_29
:cond_59
iget v0, p0, Lcn/jiguang/am/g;->b:I
goto :goto_56
:cond_5c
add-int/lit8 v1, v1, 0x1
invoke-direct {p0, p2, v1, v6, v7}, Lcn/jiguang/am/g;->a(Ljava/util/List;IILjava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_6e
invoke-interface {v2, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z
iget v1, p0, Lcn/jiguang/am/g;->b:I
add-int/lit8 v1, v1, 0x1
add-int/lit8 v0, v0, 0x1
goto :goto_29
:cond_6e
iget v1, p0, Lcn/jiguang/am/g;->b:I
add-int/lit8 v0, v0, 0x1
goto :goto_29
:cond_73
move-object v0, v2
goto :goto_16
.end method
.method public a(Ljava/util/Comparator;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/Comparator",
"<TE;>;)V"
}
.end annotation
iput-object p1, p0, Lcn/jiguang/am/g;->a:Ljava/util/Comparator;
return-void
.end method