CollSpliter.smali
.class public Lcom/litesuits/orm/db/assit/CollSpliter;
.super Ljava/lang/Object;
.source "CollSpliter.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/litesuits/orm/db/assit/CollSpliter$Spliter;
}
.end annotation
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 12
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 47
return-void
.end method
.method public static split(Ljava/util/Collection;ILcom/litesuits/orm/db/assit/CollSpliter$Spliter;)I
.registers 10
.param p1, "perSize" # I
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/Collection<",
"TT;>;I",
"Lcom/litesuits/orm/db/assit/CollSpliter$Spliter<",
"TT;>;)I"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.line 22
.local p0, "collection":Ljava/util/Collection;, "Ljava/util/Collection<TT;>;"
.local p2, "spliter":Lcom/litesuits/orm/db/assit/CollSpliter$Spliter;, "Lcom/litesuits/orm/db/assit/CollSpliter$Spliter<TT;>;"
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 23
.local v0, "list":Ljava/util/ArrayList;, "Ljava/util/ArrayList<TT;>;"
const/4 v1, 0x0
.line 24
.local v1, "count":I
invoke-interface {p0}, Ljava/util/Collection;->size()I
move-result v2
if-gt v2, p1, :cond_15
.line 25
invoke-virtual {v0, p0}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z
.line 26
invoke-interface {p2, v0}, Lcom/litesuits/orm/db/assit/CollSpliter$Spliter;->oneSplit(Ljava/util/ArrayList;)I
move-result v2
add-int/2addr v1, v2
goto :goto_49
.line 28
:cond_15
const/4 v2, 0x0
.local v2, "i":I
const/4 v3, 0x1
.line 29
.local v3, "j":I
invoke-interface {p0}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;
move-result-object v4
.local v4, "i$":Ljava/util/Iterator;
:goto_1b
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_3e
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
.line 30
.local v5, "data":Ljava/lang/Object;, "TT;"
mul-int v6, v3, p1
if-ge v2, v6, :cond_2d
.line 31
invoke-virtual {v0, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
goto :goto_3a
.line 33
:cond_2d
invoke-interface {p2, v0}, Lcom/litesuits/orm/db/assit/CollSpliter$Spliter;->oneSplit(Ljava/util/ArrayList;)I
move-result v6
add-int/2addr v1, v6
.line 34
add-int/lit8 v3, v3, 0x1
.line 35
invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V
.line 36
invoke-virtual {v0, v5}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 38
:goto_3a
nop
.end local v5 # "data":Ljava/lang/Object;, "TT;"
add-int/lit8 v2, v2, 0x1
.line 39
goto :goto_1b
.line 40
.end local v4 # "i$":Ljava/util/Iterator;
:cond_3e
invoke-virtual {v0}, Ljava/util/ArrayList;->size()I
move-result v4
if-lez v4, :cond_49
.line 41
invoke-interface {p2, v0}, Lcom/litesuits/orm/db/assit/CollSpliter$Spliter;->oneSplit(Ljava/util/ArrayList;)I
move-result v4
add-int/2addr v1, v4
.line 44
.end local v2 # "i":I
.end local v3 # "j":I
:cond_49
:goto_49
return v1
.end method