.class public final Lb0/c;
.super Ljava/lang/Object;
.source ""


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


# static fields
.field public static final a:Ljava/lang/Class;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/lang/Class<",
            "*>;"
        }
    .end annotation
.end field

.field public static final b:Ljava/lang/reflect/Field;

.field public static final c:Ljava/lang/reflect/Field;

.field public static final d:Ljava/lang/reflect/Method;

.field public static final e:Ljava/lang/reflect/Method;

.field public static final f:Ljava/lang/reflect/Method;

.field public static final g:Landroid/os/Handler;


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

    const-class v0, Landroid/app/Activity;

    new-instance v1, Landroid/os/Handler;

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

    move-result-object v2

    invoke-direct {v1, v2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V

    sput-object v1, Lb0/c;->g:Landroid/os/Handler;

    const/4 v1, 0x0

    :try_start_e
    const-string v2, "android.app.ActivityThread"

    .line 1
    invoke-static {v2}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;

    move-result-object v2
    :try_end_14
    .catchall {:try_start_e .. :try_end_14} :catchall_15

    goto :goto_16

    :catchall_15
    move-object v2, v1

    .line 2
    :goto_16
    sput-object v2, Lb0/c;->a:Ljava/lang/Class;

    const/4 v2, 0x1

    :try_start_19
    const-string v3, "mMainThread"

    .line 3
    invoke-virtual {v0, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v3

    invoke-virtual {v3, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
    :try_end_22
    .catchall {:try_start_19 .. :try_end_22} :catchall_23

    goto :goto_24

    :catchall_23
    move-object v3, v1

    .line 4
    :goto_24
    sput-object v3, Lb0/c;->b:Ljava/lang/reflect/Field;

    :try_start_26
    const-string v3, "mToken"

    .line 5
    invoke-virtual {v0, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v0

    invoke-virtual {v0, v2}, Ljava/lang/reflect/Field;->setAccessible(Z)V
    :try_end_2f
    .catchall {:try_start_26 .. :try_end_2f} :catchall_30

    goto :goto_31

    :catchall_30
    move-object v0, v1

    .line 6
    :goto_31
    sput-object v0, Lb0/c;->c:Ljava/lang/reflect/Field;

    sget-object v0, Lb0/c;->a:Ljava/lang/Class;

    const/4 v3, 0x3

    const-string v4, "performStopActivity"

    const/4 v5, 0x2

    const/4 v6, 0x0

    if-nez v0, :cond_3e

    :catchall_3c
    move-object v0, v1

    goto :goto_53

    :cond_3e
    :try_start_3e
    new-array v7, v3, [Ljava/lang/Class;

    .line 7
    const-class v8, Landroid/os/IBinder;

    aput-object v8, v7, v6

    sget-object v8, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    aput-object v8, v7, v2

    const-class v8, Ljava/lang/String;

    aput-object v8, v7, v5

    invoke-virtual {v0, v4, v7}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    invoke-virtual {v0, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
    :try_end_53
    .catchall {:try_start_3e .. :try_end_53} :catchall_3c

    .line 8
    :goto_53
    sput-object v0, Lb0/c;->d:Ljava/lang/reflect/Method;

    sget-object v0, Lb0/c;->a:Ljava/lang/Class;

    if-nez v0, :cond_5b

    :catchall_59
    move-object v0, v1

    goto :goto_6c

    :cond_5b
    :try_start_5b
    new-array v7, v5, [Ljava/lang/Class;

    .line 9
    const-class v8, Landroid/os/IBinder;

    aput-object v8, v7, v6

    sget-object v8, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    aput-object v8, v7, v2

    invoke-virtual {v0, v4, v7}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    invoke-virtual {v0, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
    :try_end_6c
    .catchall {:try_start_5b .. :try_end_6c} :catchall_59

    .line 10
    :goto_6c
    sput-object v0, Lb0/c;->e:Ljava/lang/reflect/Method;

    sget-object v0, Lb0/c;->a:Ljava/lang/Class;

    .line 11
    invoke-static {}, Lb0/c;->a()Z

    move-result v4

    if-eqz v4, :cond_ad

    if-nez v0, :cond_79

    goto :goto_ad

    :cond_79
    :try_start_79
    const-string v4, "requestRelaunchActivity"

    const/16 v7, 0x9

    new-array v7, v7, [Ljava/lang/Class;

    const-class v8, Landroid/os/IBinder;

    aput-object v8, v7, v6

    const-class v6, Ljava/util/List;

    aput-object v6, v7, v2

    const-class v6, Ljava/util/List;

    aput-object v6, v7, v5

    sget-object v5, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;

    aput-object v5, v7, v3

    const/4 v3, 0x4

    sget-object v5, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;

    aput-object v5, v7, v3

    const/4 v3, 0x5

    const-class v6, Landroid/content/res/Configuration;

    aput-object v6, v7, v3

    const/4 v3, 0x6

    const-class v6, Landroid/content/res/Configuration;

    aput-object v6, v7, v3

    const/4 v3, 0x7

    aput-object v5, v7, v3

    const/16 v3, 0x8

    aput-object v5, v7, v3

    invoke-virtual {v0, v4, v7}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v0

    invoke-virtual {v0, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V
    :try_end_ac
    .catchall {:try_start_79 .. :try_end_ac} :catchall_ad

    move-object v1, v0

    .line 12
    :catchall_ad
    :cond_ad
    :goto_ad
    sput-object v1, Lb0/c;->f:Ljava/lang/reflect/Method;

    return-void
.end method

.method public static a()Z
    .registers 2

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

    const/16 v1, 0x1a

    if-eq v0, v1, :cond_d

    const/16 v1, 0x1b

    if-ne v0, v1, :cond_b

    goto :goto_d

    :cond_b
    const/4 v0, 0x0

    goto :goto_e

    :cond_d
    :goto_d
    const/4 v0, 0x1

    :goto_e
    return v0
.end method

.method public static b(Landroid/app/Activity;)Z
    .registers 11

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

    const/4 v1, 0x1

    const/16 v2, 0x1c

    if-lt v0, v2, :cond_b

    invoke-virtual {p0}, Landroid/app/Activity;->recreate()V

    return v1

    :cond_b
    invoke-static {}, Lb0/c;->a()Z

    move-result v0

    const/4 v2, 0x0

    if-eqz v0, :cond_17

    sget-object v0, Lb0/c;->f:Ljava/lang/reflect/Method;

    if-nez v0, :cond_17

    return v2

    :cond_17
    sget-object v0, Lb0/c;->e:Ljava/lang/reflect/Method;

    if-nez v0, :cond_20

    sget-object v0, Lb0/c;->d:Ljava/lang/reflect/Method;

    if-nez v0, :cond_20

    return v2

    :cond_20
    :try_start_20
    sget-object v0, Lb0/c;->c:Ljava/lang/reflect/Field;

    invoke-virtual {v0, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    if-nez v0, :cond_29

    return v2

    :cond_29
    sget-object v3, Lb0/c;->b:Ljava/lang/reflect/Field;

    invoke-virtual {v3, p0}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v3

    if-nez v3, :cond_32

    return v2

    :cond_32
    invoke-virtual {p0}, Landroid/app/Activity;->getApplication()Landroid/app/Application;

    move-result-object v4

    new-instance v5, Lb0/c$c;

    invoke-direct {v5, p0}, Lb0/c$c;-><init>(Landroid/app/Activity;)V

    invoke-virtual {v4, v5}, Landroid/app/Application;->registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V

    sget-object v6, Lb0/c;->g:Landroid/os/Handler;

    new-instance v7, Lb0/c$a;

    invoke-direct {v7, v5, v0}, Lb0/c$a;-><init>(Lb0/c$c;Ljava/lang/Object;)V

    invoke-virtual {v6, v7}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
    :try_end_48
    .catchall {:try_start_20 .. :try_end_48} :catchall_91

    :try_start_48
    invoke-static {}, Lb0/c;->a()Z

    move-result v7

    if-eqz v7, :cond_79

    sget-object p0, Lb0/c;->f:Ljava/lang/reflect/Method;

    const/16 v7, 0x9

    new-array v7, v7, [Ljava/lang/Object;

    aput-object v0, v7, v2

    const/4 v0, 0x0

    aput-object v0, v7, v1

    const/4 v8, 0x2

    aput-object v0, v7, v8

    const/4 v8, 0x3

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

    move-result-object v9

    aput-object v9, v7, v8

    const/4 v8, 0x4

    sget-object v9, Ljava/lang/Boolean;->FALSE:Ljava/lang/Boolean;

    aput-object v9, v7, v8

    const/4 v8, 0x5

    aput-object v0, v7, v8

    const/4 v8, 0x6

    aput-object v0, v7, v8

    const/4 v0, 0x7

    aput-object v9, v7, v0

    const/16 v0, 0x8

    aput-object v9, v7, v0

    invoke-virtual {p0, v3, v7}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;

    goto :goto_7c

    :cond_79
    invoke-virtual {p0}, Landroid/app/Activity;->recreate()V
    :try_end_7c
    .catchall {:try_start_48 .. :try_end_7c} :catchall_85

    :goto_7c
    :try_start_7c
    new-instance p0, Lb0/c$b;

    invoke-direct {p0, v4, v5}, Lb0/c$b;-><init>(Landroid/app/Application;Lb0/c$c;)V

    invoke-virtual {v6, p0}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    return v1

    :catchall_85
    move-exception p0

    sget-object v0, Lb0/c;->g:Landroid/os/Handler;

    new-instance v1, Lb0/c$b;

    invoke-direct {v1, v4, v5}, Lb0/c$b;-><init>(Landroid/app/Application;Lb0/c$c;)V

    invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z

    throw p0
    :try_end_91
    .catchall {:try_start_7c .. :try_end_91} :catchall_91

    :catchall_91
    return v2
.end method
