a.smali
.class public final Lh0/a;
.super Ljava/lang/Object;
.source "ScreenShotDetection.kt"
# interfaces
.implements Lcom/shopee/hamster/base/apm/api/module/ext/SuspendRunnable;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lh0/a$a;
}
.end annotation
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000,\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\t\n\u0002\u0008\u0002\n\u0002\u0010\u0002\n\u0002\u0008\u0003\u0008\u0000\u0018\u0000 \u000e2\u00020\u0001:\u0001\u000eB\u001b\u0012\u000c\u0010\u0002\u001a\u0008\u0012\u0004\u0012\u00020\u00040\u0003\u0012\u0006\u0010\u0005\u001a\u00020\u0006\u00a2\u0006\u0002\u0010\u0007J\u0011\u0010\u000b\u001a\u00020\u000cH\u0096@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\rR\u0014\u0010\u0002\u001a\u0008\u0012\u0004\u0012\u00020\u00040\u0003X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0008\u001a\u00020\tX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\tX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u0006\u000f"
}
d2 = {
"Lcom/argusapm/android/core/job/activity/screen/ScreenShotDetection;",
"Lcom/shopee/hamster/base/apm/api/module/ext/SuspendRunnable;",
"activityRef",
"Ljava/lang/ref/WeakReference;",
"Landroid/app/Activity;",
"cycle",
"Lcom/argusapm/android/core/job/activity/monitor/PageCycle;",
"(Ljava/lang/ref/WeakReference;Lcom/argusapm/android/core/job/activity/monitor/PageCycle;)V",
"configCount",
"",
"configDelay",
"run",
"",
"(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;",
"Companion",
"hamster-activity_release"
}
k = 0x1
mv = {
0x1,
0x4,
0x2
}
.end annotation
# instance fields
.field public final a:J
.field public final b:J
.field public final c:Ljava/lang/ref/WeakReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/WeakReference<",
"Landroid/app/Activity;",
">;"
}
.end annotation
.end field
.field public final d:Lg0/a;
# direct methods
.method public static constructor <clinit>()V
.registers 2
new-instance v0, Lh0/a$a;
const/4 v1, 0x0
invoke-direct {v0, v1}, Lh0/a$a;-><init>(Lkotlin/jvm/internal/DefaultConstructorMarker;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/ref/WeakReference;Lg0/a;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/ref/WeakReference<",
"Landroid/app/Activity;",
">;",
"Lg0/a;",
")V"
}
.end annotation
const-string v0, "activityRef"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "cycle"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lh0/a;->c:Ljava/lang/ref/WeakReference;
iput-object p2, p0, Lh0/a;->d:Lg0/a;
sget-object p1, Lcom/shopee/hamster/base/HamsterContext;->INSTANCE:Lcom/shopee/hamster/base/HamsterContext;
invoke-virtual {p1}, Lcom/shopee/hamster/base/HamsterContext;->getConfig()Lcom/shopee/hamster/base/apm/api/config/HamsterConfig;
move-result-object p1
invoke-virtual {p1}, Lcom/shopee/hamster/base/apm/api/config/HamsterConfig;->getActivityConfig()Lcom/shopee/hamster/base/apm/api/config/module/ActivityConfig;
move-result-object p1
invoke-virtual {p1}, Lcom/shopee/hamster/base/apm/api/config/module/ActivityConfig;->getScreenShotRetryCount()J
move-result-wide p1
iput-wide p1, p0, Lh0/a;->a:J
sget-object p1, Lcom/shopee/hamster/base/HamsterContext;->INSTANCE:Lcom/shopee/hamster/base/HamsterContext;
invoke-virtual {p1}, Lcom/shopee/hamster/base/HamsterContext;->getConfig()Lcom/shopee/hamster/base/apm/api/config/HamsterConfig;
move-result-object p1
invoke-virtual {p1}, Lcom/shopee/hamster/base/apm/api/config/HamsterConfig;->getActivityConfig()Lcom/shopee/hamster/base/apm/api/config/module/ActivityConfig;
move-result-object p1
invoke-virtual {p1}, Lcom/shopee/hamster/base/apm/api/config/module/ActivityConfig;->getScreenShotInterval()J
move-result-wide p1
iput-wide p1, p0, Lh0/a;->b:J
return-void
.end method
.method public static final synthetic a(Lh0/a;)J
.registers 3
iget-wide v0, p0, Lh0/a;->a:J
return-wide v0
.end method
# virtual methods
.method public run(Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
.registers 20
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lkotlin/coroutines/Continuation<",
"-",
"Lkotlin/Unit;",
">;)",
"Ljava/lang/Object;"
}
.end annotation
move-object/from16 v0, p0
move-object/from16 v1, p1
instance-of v2, v1, Lh0/a$b;
if-eqz v2, :cond_17
move-object v2, v1
check-cast v2, Lh0/a$b;
iget v3, v2, Lh0/a$b;->b:I
const/high16 v4, -0x80000000
and-int v5, v3, v4
if-eqz v5, :cond_17
sub-int/2addr v3, v4
iput v3, v2, Lh0/a$b;->b:I
goto :goto_1c
:cond_17
new-instance v2, Lh0/a$b;
invoke-direct {v2, v0, v1}, Lh0/a$b;-><init>(Lh0/a;Lkotlin/coroutines/Continuation;)V
:goto_1c
iget-object v1, v2, Lh0/a$b;->a:Ljava/lang/Object;
invoke-static {}, Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsKt;->getCOROUTINE_SUSPENDED()Ljava/lang/Object;
move-result-object v3
iget v4, v2, Lh0/a$b;->b:I
const-string v5, "ScreenShotDetection"
const/4 v6, 0x2
const/4 v7, 0x1
if-eqz v4, :cond_4f
if-eq v4, v7, :cond_43
if-ne v4, v6, :cond_3b
iget-wide v8, v2, Lh0/a$b;->f:J
iget-wide v10, v2, Lh0/a$b;->e:J
iget-object v4, v2, Lh0/a$b;->d:Ljava/lang/Object;
check-cast v4, Lh0/a;
invoke-static {v1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V
goto/16 :goto_ca
:cond_3b
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
:cond_43
iget-wide v8, v2, Lh0/a$b;->f:J
iget-wide v10, v2, Lh0/a$b;->e:J
iget-object v4, v2, Lh0/a$b;->d:Ljava/lang/Object;
check-cast v4, Lh0/a;
invoke-static {v1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V
goto :goto_7d
:cond_4f
invoke-static {v1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V
sget-object v1, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;
const-string v4, "run is called"
filled-new-array {v4}, [Ljava/lang/String;
move-result-object v4
invoke-virtual {v1, v5, v4}, Lcom/shopee/hamster/base/log/HamsterLog;->d(Ljava/lang/String;[Ljava/lang/String;)V
const-wide/16 v8, 0x0
iget-wide v10, v0, Lh0/a;->a:J
move-object v1, v0
:goto_62
cmp-long v4, v8, v10
if-gez v4, :cond_fd
iget-wide v12, v1, Lh0/a;->b:J
iput-object v1, v2, Lh0/a$b;->d:Ljava/lang/Object;
iput-wide v8, v2, Lh0/a$b;->e:J
iput-wide v10, v2, Lh0/a$b;->f:J
iput v7, v2, Lh0/a$b;->b:I
invoke-static {v12, v13, v2}, Lkotlinx/coroutines/DelayKt;->delay(JLkotlin/coroutines/Continuation;)Ljava/lang/Object;
move-result-object v4
if-ne v4, v3, :cond_77
return-object v3
:cond_77
move-object v4, v1
move-wide/from16 v16, v8
move-wide v8, v10
move-wide/from16 v10, v16
:goto_7d
sget-object v1, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;
sget-object v12, Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;->DEBUG:Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;
invoke-virtual {v1}, Lcom/shopee/hamster/base/log/HamsterLog;->getIntLevel()I
move-result v1
invoke-virtual {v12}, Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;->getValue()I
move-result v12
if-lt v1, v12, :cond_b6
sget-object v1, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;
invoke-virtual {v1}, Lcom/shopee/hamster/base/log/HamsterLog;->getProxy()Lcom/shopee/hamster/logger/ILogger;
move-result-object v1
new-array v12, v7, [Ljava/lang/String;
const/4 v13, 0x0
new-instance v14, Ljava/lang/StringBuilder;
invoke-direct {v14}, Ljava/lang/StringBuilder;-><init>()V
const-string v15, "run: "
invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v14, v10, v11}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
const/16 v15, 0x2f
invoke-virtual {v14, v15}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
invoke-static {v4}, Lh0/a;->a(Lh0/a;)J
move-result-wide v6
invoke-virtual {v14, v6, v7}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
invoke-virtual {v14}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v6
aput-object v6, v12, v13
invoke-interface {v1, v5, v12}, Lcom/shopee/hamster/logger/ILogger;->d(Ljava/lang/String;[Ljava/lang/String;)V
:cond_b6
sget-object v1, Lh0/c;->b:Lh0/c;
iget-object v6, v4, Lh0/a;->c:Ljava/lang/ref/WeakReference;
iput-object v4, v2, Lh0/a$b;->d:Ljava/lang/Object;
iput-wide v10, v2, Lh0/a$b;->e:J
iput-wide v8, v2, Lh0/a$b;->f:J
const/4 v7, 0x2
iput v7, v2, Lh0/a$b;->b:I
invoke-virtual {v1, v6, v2}, Lh0/c;->b(Ljava/lang/ref/WeakReference;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
move-result-object v1
if-ne v1, v3, :cond_ca
return-object v3
:cond_ca
:goto_ca
check-cast v1, Lh0/c$a;
invoke-virtual {v1}, Lh0/c$a;->b()Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;
move-result-object v6
iget-object v7, v4, Lh0/a;->d:Lg0/a;
invoke-virtual {v7, v6}, Lg0/a;->a(Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;)V
sget-object v7, Lh0/b;->$EnumSwitchMapping$0:[I
invoke-virtual {v6}, Ljava/lang/Enum;->ordinal()I
move-result v6
aget v6, v7, v6
const/4 v7, 0x1
if-eq v6, v7, :cond_e7
const/4 v12, 0x2
if-eq v6, v12, :cond_e4
goto :goto_f1
:cond_e4
sget-object v1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
return-object v1
:cond_e7
const/4 v12, 0x2
invoke-virtual {v1}, Lh0/c$a;->c()J
move-result-wide v13
iget-object v1, v4, Lh0/a;->d:Lg0/a;
invoke-virtual {v1, v13, v14}, Lg0/a;->c(J)V
:goto_f1
const-wide/16 v13, 0x1
add-long/2addr v10, v13
move-object v1, v4
const/4 v6, 0x2
move-wide/from16 v16, v8
move-wide v8, v10
move-wide/from16 v10, v16
goto/16 :goto_62
:cond_fd
sget-object v1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
return-object v1
.end method