c.smali

.class public final Lh0/c;
.super Ljava/lang/Object;
.source "ScreenShotUtil.kt"


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lh0/c$a;
    }
.end annotation

.annotation runtime Lkotlin/Metadata;
    bv = {
        0x1,
        0x0,
        0x3
    }
    d1 = {
        "\u0000`\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0010\u0008\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0008\u0008\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\u0008\u00c0\u0002\u0018\u00002\u00020\u0001:\u0001-B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002J\u0012\u0010\r\u001a\u00020\u000e2\u0008\u0010\u000f\u001a\u0004\u0018\u00010\u0010H\u0002J\u0018\u0010\u0011\u001a\u00020\u00042\u0006\u0010\u0012\u001a\u00020\u00042\u0006\u0010\u0013\u001a\u00020\u0004H\u0002J\u001f\u0010\u0014\u001a\u00020\u00152\u000c\u0010\u0016\u001a\u0008\u0012\u0004\u0012\u00020\u00100\u0017H\u0082@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\u0018J\u0012\u0010\u0019\u001a\u0004\u0018\u00010\u001a2\u0006\u0010\u001b\u001a\u00020\u0010H\u0002J\u0012\u0010\u001c\u001a\u0004\u0018\u00010\u001a2\u0006\u0010\u001b\u001a\u00020\u0010H\u0003J\u001b\u0010\u001d\u001a\u0004\u0018\u00010\u001a2\u0006\u0010\u001b\u001a\u00020\u0010H\u0083@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\u001eJ\u001f\u0010\u001f\u001a\u00020\u00152\u000c\u0010\u0016\u001a\u0008\u0012\u0004\u0012\u00020\u00100\u0017H\u0086@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010\u0018J%\u0010 \u001a\u0002H!\"\u0004\u0008\u0000\u0010!2\u000c\u0010\"\u001a\u0008\u0012\u0004\u0012\u0002H!0#H\u0083@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010$J+\u0010%\u001a\u00020&2\u0006\u0010\'\u001a\u00020(2\u0008\u0010)\u001a\u0004\u0018\u00010*2\u0006\u0010+\u001a\u00020\u001aH\u0083@\u00f8\u0001\u0000\u00a2\u0006\u0002\u0010,R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0006X\u0082T\u00a2\u0006\u0002\n\u0000R\u001b\u0010\u0007\u001a\u00020\u00088BX\u0082\u0084\u0002\u00a2\u0006\u000c\n\u0004\u0008\u000b\u0010\u000c\u001a\u0004\u0008\t\u0010\n\u0082\u0002\u0004\n\u0002\u0008\u0019\u00a8\u0006."
    }
    d2 = {
        "Lcom/argusapm/android/core/job/activity/screen/ScreenShotUtil;",
        "",
        "()V",
        "MAX_AREA",
        "",
        "TAG",
        "",
        "handler",
        "Landroid/os/Handler;",
        "getHandler",
        "()Landroid/os/Handler;",
        "handler$delegate",
        "Lkotlin/Lazy;",
        "detectType",
        "Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;",
        "target",
        "Landroid/app/Activity;",
        "getScale",
        "width",
        "height",
        "getScreenShotFromDecorViewAsync",
        "Lcom/argusapm/android/core/job/activity/screen/ScreenShotUtil$ScreenShotResult;",
        "activityRef",
        "Ljava/lang/ref/WeakReference;",
        "(Ljava/lang/ref/WeakReference;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;",
        "getScreenShotKt",
        "Landroid/graphics/Bitmap;",
        "activity",
        "getScreenShotV1",
        "getScreenShotV26",
        "(Landroid/app/Activity;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;",
        "parseScreenshotAsync",
        "suspendIdle",
        "T",
        "block",
        "Lkotlin/Function0;",
        "(Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;",
        "suspendPixelCopy",
        "",
        "source",
        "Landroid/view/Window;",
        "srcRect",
        "Landroid/graphics/Rect;",
        "dest",
        "(Landroid/view/Window;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;",
        "ScreenShotResult",
        "hamster-activity_release"
    }
    k = 0x1
    mv = {
        0x1,
        0x4,
        0x2
    }
.end annotation


# static fields
.field public static final a:Lkotlin/Lazy;

.field public static final b:Lh0/c;


# direct methods
.method public static constructor <clinit>()V
    .registers 1

    new-instance v0, Lh0/c;

    invoke-direct {v0}, Lh0/c;-><init>()V

    sput-object v0, Lh0/c;->b:Lh0/c;

    sget-object v0, Lh0/c$e;->a:Lh0/c$e;

    invoke-static {v0}, Lcom/shopee/hamster/base/extension/FastInitializedLazyKt;->fastLazy(Lkotlin/jvm/functions/Function0;)Lkotlin/Lazy;

    move-result-object v0

    sput-object v0, Lh0/c;->a:Lkotlin/Lazy;

    return-void
.end method

.method public constructor <init>()V
    .registers 1

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    return-void
.end method

.method public static final synthetic a(Lh0/c;Landroid/app/Activity;)Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;
    .registers 2

    invoke-virtual {p0, p1}, Lh0/c;->a(Landroid/app/Activity;)Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;

    move-result-object p0

    return-object p0
.end method

.method public static final synthetic b(Lh0/c;Landroid/app/Activity;)Landroid/graphics/Bitmap;
    .registers 2

    invoke-virtual {p0, p1}, Lh0/c;->b(Landroid/app/Activity;)Landroid/graphics/Bitmap;

    move-result-object p0

    return-object p0
.end method


# virtual methods
.method public final a(II)I
    .registers 3

    mul-int p1, p1, p2

    const p2, 0x14400

    div-int/2addr p1, p2

    const/4 p2, 0x1

    invoke-static {p2, p1}, Lkotlin/ranges/RangesKt___RangesKt;->coerceAtLeast(II)I

    move-result p1

    return p1
.end method

.method public final a()Landroid/os/Handler;
    .registers 2

    sget-object v0, Lh0/c;->a:Lkotlin/Lazy;

    invoke-interface {v0}, Lkotlin/Lazy;->getValue()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/os/Handler;

    return-object v0
.end method

.method public final a(Landroid/app/Activity;)Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;
    .registers 2

    if-nez p1, :cond_5

    sget-object p1, Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;->DETECT_CANCEL:Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;

    goto :goto_7

    :cond_5
    sget-object p1, Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;->DETECT_FAILED:Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;

    :goto_7
    return-object p1
.end method

.method public final synthetic a(Landroid/app/Activity;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
    .registers 20
    .annotation build Landroidx/annotation/RequiresApi;
        value = 0x1a
    .end annotation

    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/app/Activity;",
            "Lkotlin/coroutines/Continuation<",
            "-",
            "Landroid/graphics/Bitmap;",
            ">;)",
            "Ljava/lang/Object;"
        }
    .end annotation

    move-object/from16 v1, p0

    move-object/from16 v0, p2

    instance-of v2, v0, Lh0/c$d;

    if-eqz v2, :cond_17

    move-object v2, v0

    check-cast v2, Lh0/c$d;

    iget v3, v2, Lh0/c$d;->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/c$d;->b:I

    goto :goto_1c

    :cond_17
    new-instance v2, Lh0/c$d;

    invoke-direct {v2, v1, v0}, Lh0/c$d;-><init>(Lh0/c;Lkotlin/coroutines/Continuation;)V

    :goto_1c
    iget-object v0, v2, Lh0/c$d;->a:Ljava/lang/Object;

    invoke-static {}, Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsKt;->getCOROUTINE_SUSPENDED()Ljava/lang/Object;

    move-result-object v3

    iget v4, v2, Lh0/c$d;->b:I

    const/4 v5, 0x0

    const-string v6, "ScreenShotUtil"

    const/4 v7, 0x0

    const/4 v8, 0x1

    if-eqz v4, :cond_42

    if-ne v4, v8, :cond_3a

    iget v3, v2, Lh0/c$d;->d:I

    iget-object v2, v2, Lh0/c$d;->e:Ljava/lang/Object;

    check-cast v2, Landroid/graphics/Bitmap;

    :try_start_33
    invoke-static {v0}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V
    :try_end_36
    .catch Ljava/lang/IllegalArgumentException; {:try_start_33 .. :try_end_36} :catch_37

    goto :goto_a3

    :catch_37
    move-exception v0

    goto/16 :goto_fc

    :cond_3a
    new-instance v0, Ljava/lang/IllegalStateException;

    const-string v2, "call to \'resume\' before \'invoke\' with coroutine"

    invoke-direct {v0, v2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw v0

    :cond_42
    invoke-static {v0}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

    invoke-virtual/range {p1 .. p1}, Landroid/app/Activity;->getWindow()Landroid/view/Window;

    move-result-object v0

    if-eqz v0, :cond_101

    invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;

    move-result-object v4

    const-string/jumbo v9, "window.decorView"

    invoke-static {v4, v9}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-virtual {v4}, Landroid/view/View;->getWidth()I

    move-result v9

    invoke-virtual {v4}, Landroid/view/View;->getHeight()I

    move-result v10

    invoke-virtual {v1, v9, v10}, Lh0/c;->a(II)I

    move-result v9

    invoke-virtual {v4}, Landroid/view/View;->getWidth()I

    move-result v10

    div-int/2addr v10, v9

    invoke-virtual {v4}, Landroid/view/View;->getHeight()I

    move-result v11

    div-int/2addr v11, v9

    sget-object v12, Landroid/graphics/Bitmap$Config;->RGB_565:Landroid/graphics/Bitmap$Config;

    invoke-static {v10, v11, v12}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object v10

    const/4 v11, 0x2

    new-array v11, v11, [I

    invoke-virtual {v4, v11}, Landroid/view/View;->getLocationInWindow([I)V

    :try_start_77
    new-instance v12, Landroid/graphics/Rect;

    aget v13, v11, v7

    aget v14, v11, v8

    aget v15, v11, v7

    invoke-virtual {v4}, Landroid/view/View;->getWidth()I

    move-result v16

    add-int v15, v15, v16

    aget v11, v11, v8

    invoke-virtual {v4}, Landroid/view/View;->getHeight()I

    move-result v4

    add-int/2addr v11, v4

    invoke-direct {v12, v13, v14, v15, v11}, Landroid/graphics/Rect;-><init>(IIII)V

    const-string v4, "bitmap"

    invoke-static {v10, v4}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V

    iput-object v10, v2, Lh0/c$d;->e:Ljava/lang/Object;

    iput v9, v2, Lh0/c$d;->d:I

    iput v8, v2, Lh0/c$d;->b:I

    invoke-virtual {v1, v0, v12, v10, v2}, Lh0/c;->a(Landroid/view/Window;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

    move-result-object v0

    if-ne v0, v3, :cond_a1

    return-object v3

    :cond_a1
    move v3, v9

    move-object v2, v10

    :goto_a3
    check-cast v0, Ljava/lang/Boolean;

    invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z

    move-result v0

    if-eqz v0, :cond_dd

    sget-object v0, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    sget-object v4, Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;->DEBUG:Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;

    invoke-virtual {v0}, Lcom/shopee/hamster/base/log/HamsterLog;->getIntLevel()I

    move-result v0

    invoke-virtual {v4}, Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;->getValue()I

    move-result v4

    if-lt v0, v4, :cond_dc

    sget-object v0, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    invoke-virtual {v0}, Lcom/shopee/hamster/base/log/HamsterLog;->getProxy()Lcom/shopee/hamster/logger/ILogger;

    move-result-object v0

    new-array v4, v8, [Ljava/lang/String;

    new-instance v8, Ljava/lang/StringBuilder;

    invoke-direct {v8}, Ljava/lang/StringBuilder;-><init>()V

    const-string v9, "getScreenShotV26() scale="

    invoke-virtual {v8, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    const-string v3, ", maxArea=82944"

    invoke-virtual {v8, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v8}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    aput-object v3, v4, v7

    invoke-interface {v0, v6, v4}, Lcom/shopee/hamster/logger/ILogger;->d(Ljava/lang/String;[Ljava/lang/String;)V

    :cond_dc
    return-object v2

    :cond_dd
    sget-object v2, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    new-array v3, v8, [Ljava/lang/String;

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    const-string v9, "PixelCopy failed with error code: "

    invoke-virtual {v4, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    if-eqz v0, :cond_ee

    goto :goto_ef

    :cond_ee
    const/4 v8, 0x0

    :goto_ef
    invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    aput-object v0, v3, v7

    invoke-virtual {v2, v6, v3}, Lcom/shopee/hamster/base/log/HamsterLog;->w(Ljava/lang/String;[Ljava/lang/String;)V
    :try_end_fb
    .catch Ljava/lang/IllegalArgumentException; {:try_start_77 .. :try_end_fb} :catch_37

    goto :goto_101

    :goto_fc
    sget-object v2, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    invoke-virtual {v2, v6, v0}, Lcom/shopee/hamster/base/log/HamsterLog;->e(Ljava/lang/String;Ljava/lang/Throwable;)V

    :cond_101
    :goto_101
    return-object v5
.end method

.method public final synthetic a(Landroid/view/Window;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
    .registers 8
    .annotation build Landroidx/annotation/RequiresApi;
        value = 0x1a
    .end annotation

    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Landroid/view/Window;",
            "Landroid/graphics/Rect;",
            "Landroid/graphics/Bitmap;",
            "Lkotlin/coroutines/Continuation<",
            "-",
            "Ljava/lang/Boolean;",
            ">;)",
            "Ljava/lang/Object;"
        }
    .end annotation

    new-instance v0, Lkotlin/coroutines/SafeContinuation;

    invoke-static {p4}, Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsJvmKt;->intercepted(Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;

    move-result-object v1

    invoke-direct {v0, v1}, Lkotlin/coroutines/SafeContinuation;-><init>(Lkotlin/coroutines/Continuation;)V

    new-instance v1, Lh0/c$h;

    invoke-direct {v1, v0}, Lh0/c$h;-><init>(Lkotlin/coroutines/Continuation;)V

    sget-object v2, Lh0/c;->b:Lh0/c;

    invoke-virtual {v2}, Lh0/c;->a()Landroid/os/Handler;

    move-result-object v2

    invoke-static {p1, p2, p3, v1, v2}, Landroid/view/PixelCopy;->request(Landroid/view/Window;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V

    invoke-virtual {v0}, Lkotlin/coroutines/SafeContinuation;->getOrThrow()Ljava/lang/Object;

    move-result-object p1

    invoke-static {}, Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsKt;->getCOROUTINE_SUSPENDED()Ljava/lang/Object;

    move-result-object p2

    if-ne p1, p2, :cond_24

    invoke-static {p4}, Lkotlin/coroutines/jvm/internal/DebugProbesKt;->probeCoroutineSuspended(Lkotlin/coroutines/Continuation;)V

    :cond_24
    return-object p1
.end method

.method public final synthetic a(Ljava/lang/ref/WeakReference;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
    .registers 11
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/ref/WeakReference<",
            "Landroid/app/Activity;",
            ">;",
            "Lkotlin/coroutines/Continuation<",
            "-",
            "Lh0/c$a;",
            ">;)",
            "Ljava/lang/Object;"
        }
    .end annotation

    instance-of v0, p2, Lh0/c$b;

    if-eqz v0, :cond_13

    move-object v0, p2

    check-cast v0, Lh0/c$b;

    iget v1, v0, Lh0/c$b;->b:I

    const/high16 v2, -0x80000000

    and-int v3, v1, v2

    if-eqz v3, :cond_13

    sub-int/2addr v1, v2

    iput v1, v0, Lh0/c$b;->b:I

    goto :goto_18

    :cond_13
    new-instance v0, Lh0/c$b;

    invoke-direct {v0, p0, p2}, Lh0/c$b;-><init>(Lh0/c;Lkotlin/coroutines/Continuation;)V

    :goto_18
    iget-object p2, v0, Lh0/c$b;->a:Ljava/lang/Object;

    invoke-static {}, Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsKt;->getCOROUTINE_SUSPENDED()Ljava/lang/Object;

    move-result-object v1

    iget v2, v0, Lh0/c$b;->b:I

    const/4 v3, 0x0

    const/4 v4, 0x2

    const/4 v5, 0x1

    if-eqz v2, :cond_43

    if-eq v2, v5, :cond_35

    if-ne v2, v4, :cond_2d

    invoke-static {p2}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

    goto :goto_93

    :cond_2d
    new-instance p1, Ljava/lang/IllegalStateException;

    const-string p2, "call to \'resume\' before \'invoke\' with coroutine"

    invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V

    throw p1

    :cond_35
    iget-wide v1, v0, Lh0/c$b;->f:J

    iget-object p1, v0, Lh0/c$b;->e:Ljava/lang/Object;

    check-cast p1, Landroid/app/Activity;

    iget-object v0, v0, Lh0/c$b;->d:Ljava/lang/Object;

    check-cast v0, Lh0/c;

    invoke-static {p2}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

    goto :goto_6b

    :cond_43
    invoke-static {p2}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

    sget p2, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x1a

    if-lt p2, v2, :cond_7b

    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v6

    invoke-virtual {p1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object p1

    check-cast p1, Landroid/app/Activity;

    if-eqz p1, :cond_70

    sget-object p2, Lh0/c;->b:Lh0/c;

    iput-object p0, v0, Lh0/c$b;->d:Ljava/lang/Object;

    iput-object p1, v0, Lh0/c$b;->e:Ljava/lang/Object;

    iput-wide v6, v0, Lh0/c$b;->f:J

    iput v5, v0, Lh0/c$b;->b:I

    invoke-virtual {p2, p1, v0}, Lh0/c;->a(Landroid/app/Activity;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

    move-result-object p2

    if-ne p2, v1, :cond_69

    return-object v1

    :cond_69
    move-object v0, p0

    move-wide v1, v6

    :goto_6b
    move-object v3, p2

    check-cast v3, Landroid/graphics/Bitmap;

    move-wide v6, v1

    goto :goto_71

    :cond_70
    move-object v0, p0

    :goto_71
    new-instance p2, Lh0/c$a;

    invoke-virtual {v0, p1}, Lh0/c;->a(Landroid/app/Activity;)Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;

    move-result-object p1

    invoke-direct {p2, v6, v7, p1, v3}, Lh0/c$a;-><init>(JLcom/argusapm/android/core/job/activity/monitor/DetectEndType;Landroid/graphics/Bitmap;)V

    return-object p2

    :cond_7b
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v5

    sget-object p2, Lcom/shopee/hamster/base/thread/HamsterDispatcher;->MAIN:Lkotlinx/coroutines/android/HandlerDispatcher;

    invoke-virtual {p2}, Lkotlinx/coroutines/android/HandlerDispatcher;->getImmediate()Lkotlinx/coroutines/android/HandlerDispatcher;

    move-result-object p2

    new-instance v2, Lh0/c$c;

    invoke-direct {v2, v5, v6, p1, v3}, Lh0/c$c;-><init>(JLjava/lang/ref/WeakReference;Lkotlin/coroutines/Continuation;)V

    iput v4, v0, Lh0/c$b;->b:I

    invoke-static {p2, v2, v0}, Lkotlinx/coroutines/BuildersKt;->withContext(Lkotlin/coroutines/CoroutineContext;Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

    move-result-object p2

    if-ne p2, v1, :cond_93

    return-object v1

    :cond_93
    :goto_93
    return-object p2
.end method

.method public final synthetic a(Lkotlin/jvm/functions/Function0;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
    .registers 6
    .annotation build Landroidx/annotation/MainThread;
    .end annotation

    .annotation system Ldalvik/annotation/Signature;
        value = {
            "<T:",
            "Ljava/lang/Object;",
            ">(",
            "Lkotlin/jvm/functions/Function0<",
            "+TT;>;",
            "Lkotlin/coroutines/Continuation<",
            "-TT;>;)",
            "Ljava/lang/Object;"
        }
    .end annotation

    new-instance v0, Lkotlin/coroutines/SafeContinuation;

    invoke-static {p2}, Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsJvmKt;->intercepted(Lkotlin/coroutines/Continuation;)Lkotlin/coroutines/Continuation;

    move-result-object v1

    invoke-direct {v0, v1}, Lkotlin/coroutines/SafeContinuation;-><init>(Lkotlin/coroutines/Continuation;)V

    invoke-static {}, Landroid/os/Looper;->myQueue()Landroid/os/MessageQueue;

    move-result-object v1

    new-instance v2, Lh0/c$g;

    invoke-direct {v2, v0, p1}, Lh0/c$g;-><init>(Lkotlin/coroutines/Continuation;Lkotlin/jvm/functions/Function0;)V

    invoke-virtual {v1, v2}, Landroid/os/MessageQueue;->addIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V

    invoke-virtual {v0}, Lkotlin/coroutines/SafeContinuation;->getOrThrow()Ljava/lang/Object;

    move-result-object p1

    invoke-static {}, Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsKt;->getCOROUTINE_SUSPENDED()Ljava/lang/Object;

    move-result-object v0

    if-ne p1, v0, :cond_22

    invoke-static {p2}, Lkotlin/coroutines/jvm/internal/DebugProbesKt;->probeCoroutineSuspended(Lkotlin/coroutines/Continuation;)V

    :cond_22
    return-object p1
.end method

.method public final b(Landroid/app/Activity;)Landroid/graphics/Bitmap;
    .registers 5

    invoke-virtual {p1}, Landroid/app/Activity;->getWindow()Landroid/view/Window;

    move-result-object p1

    if-eqz p1, :cond_36

    invoke-virtual {p1}, Landroid/view/Window;->getDecorView()Landroid/view/View;

    move-result-object p1

    const-string/jumbo v0, "window.decorView"

    invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V

    sget-object v0, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    sget-object v1, Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;->DEBUG:Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;

    invoke-virtual {v0}, Lcom/shopee/hamster/base/log/HamsterLog;->getIntLevel()I

    move-result v0

    invoke-virtual {v1}, Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;->getValue()I

    move-result v1

    if-lt v0, v1, :cond_2f

    sget-object v0, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    invoke-virtual {v0}, Lcom/shopee/hamster/base/log/HamsterLog;->getProxy()Lcom/shopee/hamster/logger/ILogger;

    move-result-object v0

    const-string v1, "getScreenShotKt"

    filled-new-array {v1}, [Ljava/lang/String;

    move-result-object v1

    const-string v2, "ScreenShotUtil"

    invoke-interface {v0, v2, v1}, Lcom/shopee/hamster/logger/ILogger;->d(Ljava/lang/String;[Ljava/lang/String;)V

    :cond_2f
    sget-object v0, Landroid/graphics/Bitmap$Config;->RGB_565:Landroid/graphics/Bitmap$Config;

    invoke-static {p1, v0}, Landroidx/core/view/ViewKt;->drawToBitmap(Landroid/view/View;Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;

    move-result-object p1

    return-object p1

    :cond_36
    const/4 p1, 0x0

    return-object p1
.end method

.method public final b(Ljava/lang/ref/WeakReference;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
    .registers 19
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "(",
            "Ljava/lang/ref/WeakReference<",
            "Landroid/app/Activity;",
            ">;",
            "Lkotlin/coroutines/Continuation<",
            "-",
            "Lh0/c$a;",
            ">;)",
            "Ljava/lang/Object;"
        }
    .end annotation

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    instance-of v2, v1, Lh0/c$f;

    if-eqz v2, :cond_17

    move-object v2, v1

    check-cast v2, Lh0/c$f;

    iget v3, v2, Lh0/c$f;->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/c$f;->b:I

    goto :goto_1c

    :cond_17
    new-instance v2, Lh0/c$f;

    invoke-direct {v2, v0, v1}, Lh0/c$f;-><init>(Lh0/c;Lkotlin/coroutines/Continuation;)V

    :goto_1c
    iget-object v1, v2, Lh0/c$f;->a:Ljava/lang/Object;

    invoke-static {}, Lkotlin/coroutines/intrinsics/IntrinsicsKt__IntrinsicsKt;->getCOROUTINE_SUSPENDED()Ljava/lang/Object;

    move-result-object v3

    iget v4, v2, Lh0/c$f;->b:I

    const/4 v5, 0x1

    if-eqz v4, :cond_35

    if-ne v4, v5, :cond_2d

    invoke-static {v1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

    goto :goto_43

    :cond_2d
    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_35
    invoke-static {v1}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V

    iput v5, v2, Lh0/c$f;->b:I

    move-object/from16 v1, p1

    invoke-virtual {v0, v1, v2}, Lh0/c;->a(Ljava/lang/ref/WeakReference;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;

    move-result-object v1

    if-ne v1, v3, :cond_43

    return-object v3

    :cond_43
    :goto_43
    check-cast v1, Lh0/c$a;

    invoke-virtual {v1}, Lh0/c$a;->a()Landroid/graphics/Bitmap;

    move-result-object v2

    const-string v3, "ScreenShotUtil"

    if-nez v2, :cond_59

    sget-object v2, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    const-string v4, "Failed to get screenshot"

    filled-new-array {v4}, [Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v2, v3, v4}, Lcom/shopee/hamster/base/log/HamsterLog;->e(Ljava/lang/String;[Ljava/lang/String;)V

    return-object v1

    :cond_59
    invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v4

    mul-int/lit8 v4, v4, 0x2

    div-int/lit8 v4, v4, 0xa

    invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I

    move-result v6

    mul-int/lit8 v6, v6, 0x9

    div-int/lit8 v6, v6, 0xa

    invoke-static {v2}, Landroidx/palette/graphics/Palette;->from(Landroid/graphics/Bitmap;)Landroidx/palette/graphics/Palette$Builder;

    move-result-object v7

    const/16 v8, 0x100

    invoke-virtual {v7, v8}, Landroidx/palette/graphics/Palette$Builder;->maximumColorCount(I)Landroidx/palette/graphics/Palette$Builder;

    move-result-object v7

    invoke-virtual {v7}, Landroidx/palette/graphics/Palette$Builder;->clearFilters()Landroidx/palette/graphics/Palette$Builder;

    move-result-object v7

    invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I

    move-result v8

    const/4 v9, 0x0

    invoke-virtual {v7, v9, v4, v8, v6}, Landroidx/palette/graphics/Palette$Builder;->setRegion(IIII)Landroidx/palette/graphics/Palette$Builder;

    move-result-object v4

    invoke-virtual {v4}, Landroidx/palette/graphics/Palette$Builder;->generate()Landroidx/palette/graphics/Palette;

    move-result-object v4

    const-string v6, "Palette.from(bitmap)\n   \u2026)\n            .generate()"

    invoke-static {v4, v6}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-virtual {v4}, Landroidx/palette/graphics/Palette;->getDominantSwatch()Landroidx/palette/graphics/Palette$Swatch;

    move-result-object v6

    const-wide/16 v7, 0x0

    if-eqz v6, :cond_ab

    invoke-virtual {v6}, Landroidx/palette/graphics/Palette$Swatch;->getPopulation()I

    move-result v6

    invoke-static {v6}, Lkotlin/coroutines/jvm/internal/Boxing;->boxInt(I)Ljava/lang/Integer;

    move-result-object v6

    if-eqz v6, :cond_ab

    invoke-virtual {v6}, Ljava/lang/Integer;->intValue()I

    move-result v6

    int-to-double v10, v6

    invoke-static {v10, v11}, Lkotlin/coroutines/jvm/internal/Boxing;->boxDouble(D)Ljava/lang/Double;

    move-result-object v6

    if-eqz v6, :cond_ab

    invoke-virtual {v6}, Ljava/lang/Double;->doubleValue()D

    move-result-wide v10

    goto :goto_ac

    :cond_ab
    move-wide v10, v7

    :goto_ac
    invoke-virtual {v4}, Landroidx/palette/graphics/Palette;->getSwatches()Ljava/util/List;

    move-result-object v4

    const-string v6, "palette.swatches"

    invoke-static {v4, v6}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-interface {v4}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;

    move-result-object v4

    :goto_b9
    invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z

    move-result v6

    if-eqz v6, :cond_d9

    invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v6

    check-cast v6, Landroidx/palette/graphics/Palette$Swatch;

    const-string v12, "it"

    invoke-static {v6, v12}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-virtual {v6}, Landroidx/palette/graphics/Palette$Swatch;->getPopulation()I

    move-result v6

    int-to-double v12, v6

    invoke-static {v12, v13}, Lkotlin/coroutines/jvm/internal/Boxing;->boxDouble(D)Ljava/lang/Double;

    move-result-object v6

    invoke-virtual {v6}, Ljava/lang/Number;->doubleValue()D

    move-result-wide v12

    add-double/2addr v7, v12

    goto :goto_b9

    :cond_d9
    div-double v12, v10, v7

    sget-object v4, Lcom/shopee/hamster/base/HamsterContext;->INSTANCE:Lcom/shopee/hamster/base/HamsterContext;

    invoke-virtual {v4}, Lcom/shopee/hamster/base/HamsterContext;->getConfig()Lcom/shopee/hamster/base/apm/api/config/HamsterConfig;

    move-result-object v4

    invoke-virtual {v4}, Lcom/shopee/hamster/base/apm/api/config/HamsterConfig;->getActivityConfig()Lcom/shopee/hamster/base/apm/api/config/module/ActivityConfig;

    move-result-object v4

    invoke-virtual {v4}, Lcom/shopee/hamster/base/apm/api/config/module/ActivityConfig;->getScreenShotThreshold()D

    move-result-wide v14

    cmpg-double v4, v12, v14

    if-gez v4, :cond_f0

    sget-object v4, Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;->LOAD_SUCCESS:Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;

    goto :goto_f2

    :cond_f0
    sget-object v4, Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;->LOAD_FAILED:Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;

    :goto_f2
    invoke-virtual {v1, v4}, Lh0/c$a;->a(Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;)V

    sget-object v4, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    sget-object v6, Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;->DEBUG:Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;

    invoke-virtual {v4}, Lcom/shopee/hamster/base/log/HamsterLog;->getIntLevel()I

    move-result v4

    invoke-virtual {v6}, Lcom/shopee/hamster/base/apm/api/log/HamsterLogState;->getValue()I

    move-result v6

    if-lt v4, v6, :cond_166

    sget-object v4, Lcom/shopee/hamster/base/log/HamsterLog;->INSTANCE:Lcom/shopee/hamster/base/log/HamsterLog;

    invoke-virtual {v4}, Lcom/shopee/hamster/base/log/HamsterLog;->getProxy()Lcom/shopee/hamster/logger/ILogger;

    move-result-object v4

    new-array v5, v5, [Ljava/lang/String;

    new-instance v6, Ljava/lang/StringBuilder;

    invoke-direct {v6}, Ljava/lang/StringBuilder;-><init>()V

    const-string v9, "[parseScreenshot] ratio="

    invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v12, v13}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;

    const-string v9, " dominant="

    invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v10, v11}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;

    const-string v9, " total="

    invoke-virtual {v6, v9}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v7, v8}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;

    const/16 v7, 0x20

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    const-string/jumbo v7, "threshold="

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6, v14, v15}, Ljava/lang/StringBuilder;->append(D)Ljava/lang/StringBuilder;

    const-string v7, " bitmapSize="

    invoke-virtual {v6, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Landroid/graphics/Bitmap;->getByteCount()I

    move-result v2

    int-to-float v2, v2

    const/high16 v7, 0x100000

    int-to-float v7, v7

    div-float/2addr v2, v7

    invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(F)Ljava/lang/StringBuilder;

    const-string v2, "M "

    invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v2, "result="

    invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Lh0/c$a;->b()Lcom/argusapm/android/core/job/activity/monitor/DetectEndType;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/Enum;->name()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v6, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v6}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    const/4 v6, 0x0

    aput-object v2, v5, v6

    invoke-interface {v4, v3, v5}, Lcom/shopee/hamster/logger/ILogger;->d(Ljava/lang/String;[Ljava/lang/String;)V

    :cond_166
    return-object v1
.end method