a.smali

.class public final Lsg/bigo/apm/plugins/memoryinfo/b/a;
.super Lsg/bigo/apm/plugins/memoryinfo/b/e;
.source "SourceFile"


# instance fields
.field private final criticalType:I

.field private final map:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field

.field private final memoryInfo:Lsg/bigo/apm/plugins/memoryinfo/b/d;

.field private final oom:Ljava/lang/OutOfMemoryError;


# direct methods
.method public constructor <init>(ILsg/bigo/apm/plugins/memoryinfo/b/d;Ljava/lang/OutOfMemoryError;)V
    .registers 26

    move-object/from16 v0, p0

    move-object/from16 v1, p2

    const-string v2, "memoryInfo"

    invoke-static {v1, v2}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    const/4 v2, 0x1

    const-string v3, "CriticalMemoryInfo"

    const/4 v4, 0x0

    .line 57
    invoke-direct {v0, v2, v3, v4}, Lsg/bigo/apm/plugins/memoryinfo/b/e;-><init>(ILjava/lang/String;Lkotlin/f/b/j;)V

    move/from16 v3, p1

    iput v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I

    iput-object v1, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->memoryInfo:Lsg/bigo/apm/plugins/memoryinfo/b/d;

    move-object/from16 v1, p3

    iput-object v1, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->oom:Ljava/lang/OutOfMemoryError;

    .line 59
    invoke-virtual/range {p0 .. p0}, Lsg/bigo/apm/plugins/memoryinfo/b/a;->a()Ljava/util/Map;

    move-result-object v1

    .line 60
    sget-object v3, Lsg/bigo/apm/plugins/memoryinfo/c/c;->a:Lsg/bigo/apm/plugins/memoryinfo/c/c;

    const/4 v3, -0x1

    .line 1107
    invoke-static {v3}, Lsg/bigo/apm/plugins/memoryinfo/c/c;->a(I)Ljava/util/List;

    move-result-object v3

    .line 60
    invoke-virtual {v3}, Ljava/lang/Object;->toString()Ljava/lang/String;

    move-result-object v3

    const-string v4, "pages"

    invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 61
    iget v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I

    invoke-static {v3}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v3

    const-string v4, "critical"

    invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 65
    iget v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I

    if-ne v3, v2, :cond_47

    iget-object v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->oom:Ljava/lang/OutOfMemoryError;

    if-eqz v3, :cond_4f

    .line 63
    invoke-static {v3}, Lsg/bigo/apm/plugins/memoryinfo/c/b;->a(Ljava/lang/OutOfMemoryError;)I

    move-result v3

    if-nez v3, :cond_4f

    :cond_47
    iget v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I

    const/4 v4, 0x3

    if-eq v3, v4, :cond_4f

    const/4 v4, 0x4

    if-ne v3, v4, :cond_12d

    .line 131
    :cond_4f
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v3

    .line 67
    sget-object v5, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;

    invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->h()I

    move-result v5

    invoke-static {v5}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    const-string v6, "max_fd"

    invoke-interface {v1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 68
    sget-object v5, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;

    invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->d()Ljava/lang/String;

    move-result-object v5

    const-string v6, "fd_links"

    invoke-interface {v1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 69
    sget-object v5, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;

    invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->g()I

    move-result v5

    invoke-static {v5}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v5

    const-string v6, "max_thread"

    invoke-interface {v1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 70
    sget-object v5, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;

    invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->f()[Ljava/lang/Thread;

    move-result-object v5

    .line 132
    array-length v6, v5

    if-le v6, v2, :cond_8f

    new-instance v6, Lsg/bigo/apm/plugins/memoryinfo/b/a$a;

    invoke-direct {v6}, Lsg/bigo/apm/plugins/memoryinfo/b/a$a;-><init>()V

    check-cast v6, Ljava/util/Comparator;

    invoke-static {v5, v6}, Lkotlin/a/e;->a([Ljava/lang/Object;Ljava/util/Comparator;)V

    :cond_8f
    const-string v13, ","

    .line 72
    move-object v7, v13

    check-cast v7, Ljava/lang/CharSequence;

    const/4 v8, 0x0

    const/4 v9, 0x0

    const/4 v10, 0x0

    const/4 v11, 0x0

    const/16 v12, 0x3e

    move-object v6, v5

    invoke-static/range {v6 .. v12}, Lkotlin/a/e;->a([Ljava/lang/Object;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILjava/lang/CharSequence;I)Ljava/lang/String;

    move-result-object v6

    const-string v7, "thread_list"

    invoke-interface {v1, v7, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 73
    invoke-static {v5}, Lsg/bigo/apm/plugins/memoryinfo/c/b;->a([Ljava/lang/Thread;)Ljava/util/List;

    move-result-object v5

    .line 74
    move-object v6, v5

    check-cast v6, Ljava/util/Collection;

    invoke-interface {v6}, Ljava/util/Collection;->isEmpty()Z

    move-result v6

    xor-int/2addr v6, v2

    if-eqz v6, :cond_11f

    .line 75
    move-object v14, v5

    check-cast v14, Ljava/lang/Iterable;

    move-object v15, v13

    check-cast v15, Ljava/lang/CharSequence;

    const/16 v16, 0x0

    const/16 v17, 0x0

    const/16 v18, 0x0

    const/16 v19, 0x0

    const/16 v20, 0x0

    const/16 v21, 0x3e

    invoke-static/range {v14 .. v21}, Lkotlin/a/k;->a(Ljava/lang/Iterable;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ILjava/lang/CharSequence;Lkotlin/f/a/b;I)Ljava/lang/String;

    move-result-object v6

    const-string v7, "thread_list_2"

    invoke-interface {v1, v7, v6}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    const-string v6, "groups"

    .line 76
    invoke-static {v5, v6}, Lkotlin/f/b/o;->b(Ljava/lang/Object;Ljava/lang/String;)V

    .line 1354
    invoke-interface {v5}, Ljava/util/List;->isEmpty()Z

    move-result v6

    if-eqz v6, :cond_db

    const-string v5, ""

    goto :goto_11a

    .line 1358
    :cond_db
    invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v6

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

    move-result v7

    if-eqz v7, :cond_10f

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

    move-result-object v7

    check-cast v7, Lkotlin/m;

    .line 2000
    iget-object v8, v7, Lkotlin/m;->a:Ljava/lang/Object;

    .line 1358
    check-cast v8, Ljava/lang/String;

    .line 3000
    iget-object v7, v7, Lkotlin/m;->b:Ljava/lang/Object;

    .line 1358
    check-cast v7, Ljava/lang/Number;

    invoke-virtual {v7}, Ljava/lang/Number;->intValue()I

    move-result v7

    const-string v9, "Thread-**"

    .line 1359
    invoke-static {v8, v9}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/Object;)Z

    move-result v9

    xor-int/2addr v9, v2

    if-eqz v9, :cond_109

    const-string v9, "pool-**-thread-**"

    invoke-static {v8, v9}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/Object;)Z

    move-result v9

    xor-int/2addr v9, v2

    if-nez v9, :cond_10d

    :cond_109
    const/16 v9, 0x28

    if-lt v7, v9, :cond_df

    :cond_10d
    move-object v5, v8

    goto :goto_11a

    :cond_10f
    const/4 v6, 0x0

    .line 1363
    invoke-interface {v5, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Lkotlin/m;

    .line 3027
    iget-object v5, v5, Lkotlin/m;->a:Ljava/lang/Object;

    .line 1363
    check-cast v5, Ljava/lang/String;

    :goto_11a
    const-string v6, "thread_critical_tag"

    .line 76
    invoke-interface {v1, v6, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 134
    :cond_11f
    invoke-static {}, Landroid/os/SystemClock;->uptimeMillis()J

    move-result-wide v5

    sub-long/2addr v5, v3

    .line 80
    invoke-static {v5, v6}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v3

    const-string v4, "cost_get_extra"

    invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 84
    :cond_12d
    iget v3, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->criticalType:I

    if-ne v3, v2, :cond_15f

    iget-object v2, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->oom:Ljava/lang/OutOfMemoryError;

    if-eqz v2, :cond_13b

    .line 83
    invoke-static {v2}, Lsg/bigo/apm/plugins/memoryinfo/c/b;->a(Ljava/lang/OutOfMemoryError;)I

    move-result v2

    if-eqz v2, :cond_15f

    :cond_13b
    sget-object v2, Lsg/bigo/apm/plugins/memoryinfo/c/e;->b:Lsg/bigo/apm/plugins/memoryinfo/c/e;

    invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/e;->a()Z

    move-result v2

    if-nez v2, :cond_15f

    .line 135
    sget-object v2, Lkotlin/w;->a:Lkotlin/w;

    :try_start_145
    const-string v2, "memory_map"

    .line 86
    sget-object v3, Lsg/bigo/apm/plugins/memoryinfo/c/a;->b:Lsg/bigo/apm/plugins/memoryinfo/c/a;

    invoke-static {}, Lsg/bigo/apm/plugins/memoryinfo/c/a;->e()Ljava/lang/String;

    move-result-object v3

    invoke-static {v3}, Lsg/bigo/apm/b/f;->a(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    const-string v4, "GzipUtils.compress(MemoryUtils.getMemoryMapInfo())"

    invoke-static {v3, v4}, Lkotlin/f/b/o;->a(Ljava/lang/Object;Ljava/lang/String;)V

    invoke-interface {v1, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 87
    sget-object v2, Lkotlin/w;->a:Lkotlin/w;
    :try_end_15b
    .catchall {:try_start_145 .. :try_end_15b} :catchall_15c

    goto :goto_15f

    .line 146
    :catchall_15c
    invoke-static {}, Lsg/bigo/common/a;->e()Z

    .line 90
    :cond_15f
    :goto_15f
    iget-object v2, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->memoryInfo:Lsg/bigo/apm/plugins/memoryinfo/b/d;

    invoke-virtual {v2}, Lsg/bigo/apm/plugins/memoryinfo/b/d;->toMap()Ljava/util/Map;

    move-result-object v2

    invoke-interface {v1, v2}, Ljava/util/Map;->putAll(Ljava/util/Map;)V

    .line 91
    iget-object v2, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->oom:Ljava/lang/OutOfMemoryError;

    if-eqz v2, :cond_186

    .line 92
    invoke-virtual {v2}, Ljava/lang/OutOfMemoryError;->getMessage()Ljava/lang/String;

    move-result-object v3

    if-nez v3, :cond_174

    const-string v3, "unknown"

    :cond_174
    const-string v4, "oom_msg"

    invoke-interface {v1, v4, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 93
    invoke-static {v2}, Lsg/bigo/apm/plugins/memoryinfo/c/b;->a(Ljava/lang/OutOfMemoryError;)I

    move-result v2

    invoke-static {v2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v2

    const-string v3, "oom_type"

    invoke-interface {v1, v3, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

    .line 59
    :cond_186
    iput-object v1, v0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->map:Ljava/util/Map;

    return-void
.end method


# virtual methods
.method public final toMap()Ljava/util/Map;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/Map<",
            "Ljava/lang/String;",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation

    .line 98
    iget-object v0, p0, Lsg/bigo/apm/plugins/memoryinfo/b/a;->map:Ljava/util/Map;

    return-object v0
.end method