g0.smali
.class public final Lkotlin/collections/g0;
.super Lkotlin/coroutines/jvm/internal/h;
.source "SourceFile"
# interfaces
.implements Lkotlin/jvm/functions/p;
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/coroutines/jvm/internal/h;",
"Lkotlin/jvm/functions/p<",
"Lkotlin/sequences/h<",
"-",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;>;",
"Lkotlin/coroutines/d<",
"-",
"Lkotlin/r;",
">;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation runtime Lkotlin/coroutines/jvm/internal/e;
c = "kotlin.collections.SlidingWindowKt$windowedIterator$1"
f = "SlidingWindow.kt"
l = {
0x22,
0x28,
0x31,
0x37,
0x3a
}
m = "invokeSuspend"
.end annotation
# instance fields
.field public a:Ljava/lang/Object;
.field public b:Ljava/util/Iterator;
.field public c:I
.field public d:I
.field public synthetic e:Ljava/lang/Object;
.field public final synthetic f:I
.field public final synthetic g:I
.field public final synthetic h:Ljava/util/Iterator;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Iterator<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.end field
.field public final synthetic i:Z
.field public final synthetic j:Z
# direct methods
.method public constructor <init>(IILjava/util/Iterator;ZZLkotlin/coroutines/d;)V
.registers 7
.annotation system Ldalvik/annotation/Signature;
value = {
"(II",
"Ljava/util/Iterator<",
"Ljava/lang/Object;",
">;ZZ",
"Lkotlin/coroutines/d<",
"-",
"Lkotlin/collections/g0;",
">;)V"
}
.end annotation
iput p1, p0, Lkotlin/collections/g0;->f:I
iput p2, p0, Lkotlin/collections/g0;->g:I
iput-object p3, p0, Lkotlin/collections/g0;->h:Ljava/util/Iterator;
iput-boolean p4, p0, Lkotlin/collections/g0;->i:Z
iput-boolean p5, p0, Lkotlin/collections/g0;->j:Z
const/4 p1, 0x2
invoke-direct {p0, p1, p6}, Lkotlin/coroutines/jvm/internal/h;-><init>(ILkotlin/coroutines/d;)V
return-void
.end method
# virtual methods
.method public final create(Ljava/lang/Object;Lkotlin/coroutines/d;)Lkotlin/coroutines/d;
.registers 11
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Object;",
"Lkotlin/coroutines/d<",
"*>;)",
"Lkotlin/coroutines/d<",
"Lkotlin/r;",
">;"
}
.end annotation
new-instance v7, Lkotlin/collections/g0;
iget v1, p0, Lkotlin/collections/g0;->f:I
iget v2, p0, Lkotlin/collections/g0;->g:I
iget-object v3, p0, Lkotlin/collections/g0;->h:Ljava/util/Iterator;
iget-boolean v4, p0, Lkotlin/collections/g0;->i:Z
iget-boolean v5, p0, Lkotlin/collections/g0;->j:Z
move-object v0, v7
move-object v6, p2
invoke-direct/range {v0 .. v6}, Lkotlin/collections/g0;-><init>(IILjava/util/Iterator;ZZLkotlin/coroutines/d;)V
iput-object p1, v7, Lkotlin/collections/g0;->e:Ljava/lang/Object;
return-object v7
.end method
.method public final invoke(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.registers 3
check-cast p1, Lkotlin/sequences/h;
check-cast p2, Lkotlin/coroutines/d;
invoke-virtual {p0, p1, p2}, Lkotlin/collections/g0;->create(Ljava/lang/Object;Lkotlin/coroutines/d;)Lkotlin/coroutines/d;
move-result-object p1
check-cast p1, Lkotlin/collections/g0;
sget-object p2, Lkotlin/r;->a:Lkotlin/r;
invoke-virtual {p1, p2}, Lkotlin/collections/g0;->invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
return-object p1
.end method
.method public final invokeSuspend(Ljava/lang/Object;)Ljava/lang/Object;
.registers 20
move-object/from16 v0, p0
.line 1
sget-object v1, Lkotlin/coroutines/intrinsics/a;->COROUTINE_SUSPENDED:Lkotlin/coroutines/intrinsics/a;
.line 2
iget v2, v0, Lkotlin/collections/g0;->d:I
const/4 v3, 0x0
const/4 v4, 0x2
const/4 v5, 0x3
const/4 v6, 0x4
const/4 v7, 0x5
const/4 v8, 0x0
const/4 v9, 0x1
if-eqz v2, :cond_57
if-eq v2, v9, :cond_45
if-eq v2, v4, :cond_40
if-eq v2, v5, :cond_30
if-eq v2, v6, :cond_22
if-ne v2, v7, :cond_1a
goto :goto_40
.line 3
:cond_1a
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "call to \'resume\' before \'invoke\' with coroutine"
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 4
:cond_22
iget-object v2, v0, Lkotlin/collections/g0;->a:Ljava/lang/Object;
check-cast v2, Lkotlin/collections/e0;
iget-object v4, v0, Lkotlin/collections/g0;->e:Ljava/lang/Object;
check-cast v4, Lkotlin/sequences/h;
invoke-static/range {p1 .. p1}, Lcom/shopee/sz/mmsplayercommon/util/b;->I0(Ljava/lang/Object;)V
move-object v11, v0
goto/16 :goto_186
:cond_30
iget-object v2, v0, Lkotlin/collections/g0;->b:Ljava/util/Iterator;
iget-object v4, v0, Lkotlin/collections/g0;->a:Ljava/lang/Object;
check-cast v4, Lkotlin/collections/e0;
iget-object v10, v0, Lkotlin/collections/g0;->e:Ljava/lang/Object;
check-cast v10, Lkotlin/sequences/h;
invoke-static/range {p1 .. p1}, Lcom/shopee/sz/mmsplayercommon/util/b;->I0(Ljava/lang/Object;)V
move-object v11, v0
goto/16 :goto_151
:cond_40
:goto_40
invoke-static/range {p1 .. p1}, Lcom/shopee/sz/mmsplayercommon/util/b;->I0(Ljava/lang/Object;)V
goto/16 :goto_1a2
:cond_45
iget v2, v0, Lkotlin/collections/g0;->c:I
iget-object v5, v0, Lkotlin/collections/g0;->b:Ljava/util/Iterator;
iget-object v6, v0, Lkotlin/collections/g0;->a:Ljava/lang/Object;
check-cast v6, Ljava/util/ArrayList;
iget-object v7, v0, Lkotlin/collections/g0;->e:Ljava/lang/Object;
check-cast v7, Lkotlin/sequences/h;
invoke-static/range {p1 .. p1}, Lcom/shopee/sz/mmsplayercommon/util/b;->I0(Ljava/lang/Object;)V
move v12, v2
move-object v2, v0
goto :goto_a4
:cond_57
invoke-static/range {p1 .. p1}, Lcom/shopee/sz/mmsplayercommon/util/b;->I0(Ljava/lang/Object;)V
iget-object v2, v0, Lkotlin/collections/g0;->e:Ljava/lang/Object;
check-cast v2, Lkotlin/sequences/h;
.line 5
iget v10, v0, Lkotlin/collections/g0;->f:I
const/16 v11, 0x400
if-le v10, v11, :cond_65
goto :goto_66
:cond_65
move v11, v10
.line 6
:goto_66
iget v12, v0, Lkotlin/collections/g0;->g:I
sub-int/2addr v12, v10
if-ltz v12, :cond_d7
.line 7
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5, v11}, Ljava/util/ArrayList;-><init>(I)V
.line 8
iget-object v6, v0, Lkotlin/collections/g0;->h:Ljava/util/Iterator;
move-object v7, v2
move-object v2, v0
move-object/from16 v17, v6
move-object v6, v5
move-object/from16 v5, v17
:cond_79
:goto_79
invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z
move-result v10
if-eqz v10, :cond_b5
invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v10
if-lez v8, :cond_88
add-int/lit8 v8, v8, -0x1
goto :goto_79
.line 9
:cond_88
invoke-virtual {v6, v10}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
.line 10
invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
move-result v10
iget v11, v2, Lkotlin/collections/g0;->f:I
if-ne v10, v11, :cond_79
.line 11
iput-object v7, v2, Lkotlin/collections/g0;->e:Ljava/lang/Object;
iput-object v6, v2, Lkotlin/collections/g0;->a:Ljava/lang/Object;
iput-object v5, v2, Lkotlin/collections/g0;->b:Ljava/util/Iterator;
iput v12, v2, Lkotlin/collections/g0;->c:I
iput v9, v2, Lkotlin/collections/g0;->d:I
invoke-virtual {v7, v6, v2}, Lkotlin/sequences/h;->a(Ljava/lang/Object;Lkotlin/coroutines/d;)Ljava/lang/Object;
move-result-object v8
if-ne v8, v1, :cond_a4
return-object v1
.line 12
:cond_a4
:goto_a4
iget-boolean v8, v2, Lkotlin/collections/g0;->i:Z
if-eqz v8, :cond_ac
invoke-virtual {v6}, Ljava/util/ArrayList;->clear()V
goto :goto_b3
:cond_ac
new-instance v6, Ljava/util/ArrayList;
iget v8, v2, Lkotlin/collections/g0;->f:I
invoke-direct {v6, v8}, Ljava/util/ArrayList;-><init>(I)V
:goto_b3
move v8, v12
goto :goto_79
.line 13
:cond_b5
invoke-interface {v6}, Ljava/util/Collection;->isEmpty()Z
move-result v5
xor-int/2addr v5, v9
if-eqz v5, :cond_1a2
.line 14
iget-boolean v5, v2, Lkotlin/collections/g0;->j:Z
if-nez v5, :cond_c8
invoke-virtual {v6}, Ljava/util/ArrayList;->size()I
move-result v5
iget v8, v2, Lkotlin/collections/g0;->f:I
if-ne v5, v8, :cond_1a2
:cond_c8
iput-object v3, v2, Lkotlin/collections/g0;->e:Ljava/lang/Object;
iput-object v3, v2, Lkotlin/collections/g0;->a:Ljava/lang/Object;
iput-object v3, v2, Lkotlin/collections/g0;->b:Ljava/util/Iterator;
iput v4, v2, Lkotlin/collections/g0;->d:I
invoke-virtual {v7, v6, v2}, Lkotlin/sequences/h;->a(Ljava/lang/Object;Lkotlin/coroutines/d;)Ljava/lang/Object;
move-result-object v2
if-ne v2, v1, :cond_1a2
return-object v1
.line 15
:cond_d7
new-instance v4, Lkotlin/collections/e0;
.line 16
new-array v10, v11, [Ljava/lang/Object;
invoke-direct {v4, v10, v8}, Lkotlin/collections/e0;-><init>([Ljava/lang/Object;I)V
.line 17
iget-object v10, v0, Lkotlin/collections/g0;->h:Ljava/util/Iterator;
move-object v11, v0
move-object/from16 v17, v10
move-object v10, v2
move-object/from16 v2, v17
:goto_e6
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v12
if-eqz v12, :cond_160
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v12
.line 18
iget v13, v4, Lkotlin/collections/e0;->d:I
.line 19
iget v14, v4, Lkotlin/collections/e0;->b:I
if-ne v13, v14, :cond_f8
const/4 v15, 0x1
goto :goto_f9
:cond_f8
const/4 v15, 0x0
:goto_f9
if-nez v15, :cond_158
.line 20
iget-object v15, v4, Lkotlin/collections/e0;->a:[Ljava/lang/Object;
iget v8, v4, Lkotlin/collections/e0;->c:I
add-int v16, v13, v8
.line 21
rem-int v16, v16, v14
.line 22
aput-object v12, v15, v16
add-int/lit8 v13, v13, 0x1
.line 23
iput v13, v4, Lkotlin/collections/e0;->d:I
if-ne v13, v14, :cond_10d
const/4 v12, 0x1
goto :goto_10e
:cond_10d
const/4 v12, 0x0
:goto_10e
if-eqz v12, :cond_156
.line 24
iget v12, v11, Lkotlin/collections/g0;->f:I
if-ge v13, v12, :cond_137
shr-int/lit8 v13, v14, 0x1
add-int/2addr v14, v13
add-int/2addr v14, v9
if-le v14, v12, :cond_11b
goto :goto_11c
:cond_11b
move v12, v14
:goto_11c
if-nez v8, :cond_128
.line 25
invoke-static {v15, v12}, Ljava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
move-result-object v8
const-string v12, "copyOf(this, newSize)"
invoke-static {v8, v12}, Lcom/shopee/sz/loadtask/datasource/a;->x(Ljava/lang/Object;Ljava/lang/String;)V
goto :goto_12e
:cond_128
new-array v8, v12, [Ljava/lang/Object;
invoke-virtual {v4, v8}, Lkotlin/collections/e0;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object v8
.line 26
:goto_12e
new-instance v12, Lkotlin/collections/e0;
.line 27
iget v4, v4, Lkotlin/collections/e0;->d:I
.line 28
invoke-direct {v12, v8, v4}, Lkotlin/collections/e0;-><init>([Ljava/lang/Object;I)V
move-object v4, v12
goto :goto_156
.line 29
:cond_137
iget-boolean v8, v11, Lkotlin/collections/g0;->i:Z
if-eqz v8, :cond_13d
move-object v8, v4
goto :goto_142
:cond_13d
new-instance v8, Ljava/util/ArrayList;
invoke-direct {v8, v4}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
:goto_142
iput-object v10, v11, Lkotlin/collections/g0;->e:Ljava/lang/Object;
iput-object v4, v11, Lkotlin/collections/g0;->a:Ljava/lang/Object;
iput-object v2, v11, Lkotlin/collections/g0;->b:Ljava/util/Iterator;
iput v5, v11, Lkotlin/collections/g0;->d:I
invoke-virtual {v10, v8, v11}, Lkotlin/sequences/h;->a(Ljava/lang/Object;Lkotlin/coroutines/d;)Ljava/lang/Object;
move-result-object v8
if-ne v8, v1, :cond_151
return-object v1
.line 30
:cond_151
:goto_151
iget v8, v11, Lkotlin/collections/g0;->g:I
invoke-virtual {v4, v8}, Lkotlin/collections/e0;->b(I)V
:cond_156
:goto_156
const/4 v8, 0x0
goto :goto_e6
.line 31
:cond_158
new-instance v1, Ljava/lang/IllegalStateException;
const-string v2, "ring buffer is full"
invoke-direct {v1, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v1
.line 32
:cond_160
iget-boolean v2, v11, Lkotlin/collections/g0;->j:Z
if-eqz v2, :cond_1a2
move-object v2, v4
move-object v4, v10
.line 33
:goto_166
iget v5, v2, Lkotlin/collections/e0;->d:I
.line 34
iget v8, v11, Lkotlin/collections/g0;->g:I
if-le v5, v8, :cond_18c
.line 35
iget-boolean v5, v11, Lkotlin/collections/g0;->i:Z
if-eqz v5, :cond_172
move-object v5, v2
goto :goto_177
:cond_172
new-instance v5, Ljava/util/ArrayList;
invoke-direct {v5, v2}, Ljava/util/ArrayList;-><init>(Ljava/util/Collection;)V
:goto_177
iput-object v4, v11, Lkotlin/collections/g0;->e:Ljava/lang/Object;
iput-object v2, v11, Lkotlin/collections/g0;->a:Ljava/lang/Object;
iput-object v3, v11, Lkotlin/collections/g0;->b:Ljava/util/Iterator;
iput v6, v11, Lkotlin/collections/g0;->d:I
invoke-virtual {v4, v5, v11}, Lkotlin/sequences/h;->a(Ljava/lang/Object;Lkotlin/coroutines/d;)Ljava/lang/Object;
move-result-object v5
if-ne v5, v1, :cond_186
return-object v1
.line 36
:cond_186
:goto_186
iget v5, v11, Lkotlin/collections/g0;->g:I
invoke-virtual {v2, v5}, Lkotlin/collections/e0;->b(I)V
goto :goto_166
.line 37
:cond_18c
invoke-virtual {v2}, Lkotlin/collections/a;->isEmpty()Z
move-result v5
xor-int/2addr v5, v9
if-eqz v5, :cond_1a2
iput-object v3, v11, Lkotlin/collections/g0;->e:Ljava/lang/Object;
iput-object v3, v11, Lkotlin/collections/g0;->a:Ljava/lang/Object;
iput-object v3, v11, Lkotlin/collections/g0;->b:Ljava/util/Iterator;
iput v7, v11, Lkotlin/collections/g0;->d:I
invoke-virtual {v4, v2, v11}, Lkotlin/sequences/h;->a(Ljava/lang/Object;Lkotlin/coroutines/d;)Ljava/lang/Object;
move-result-object v2
if-ne v2, v1, :cond_1a2
return-object v1
.line 38
:cond_1a2
:goto_1a2
sget-object v1, Lkotlin/r;->a:Lkotlin/r;
return-object v1
.end method