Utils$ActivityLifecycleImpl.smali

.class Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;
.super Ljava/lang/Object;
.source "Utils.java"

# interfaces
.implements Landroid/app/Application$ActivityLifecycleCallbacks;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/blankj/utilcode/util/Utils;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x8
    name = "ActivityLifecycleImpl"
.end annotation


# instance fields
.field final mActivityList:Ljava/util/LinkedList;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/LinkedList<",
            "Landroid/app/Activity;",
            ">;"
        }
    .end annotation
.end field

.field private mConfigCount:I

.field final mDestroyedListenerMap:Ljava/util/Map;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Map<",
            "Landroid/app/Activity;",
            "Ljava/util/List<",
            "Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;",
            ">;>;"
        }
    .end annotation
.end field

.field private mForegroundCount:I

.field private mIsBackground:Z

.field final mStatusListeners:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;",
            ">;"
        }
    .end annotation
.end field


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

    return-void
.end method

.method constructor <init>()V
    .registers 2

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

    .line 456
    new-instance v0, Ljava/util/LinkedList;

    invoke-direct {v0}, Ljava/util/LinkedList;-><init>()V

    iput-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    .line 457
    new-instance v0, Ljava/util/ArrayList;

    invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V

    iput-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mStatusListeners:Ljava/util/List;

    .line 458
    new-instance v0, Ljava/util/HashMap;

    invoke-direct {v0}, Ljava/util/HashMap;-><init>()V

    iput-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mDestroyedListenerMap:Ljava/util/Map;

    .line 460
    const/4 v0, 0x0

    iput v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mForegroundCount:I

    .line 461
    iput v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mConfigCount:I

    .line 462
    iput-boolean v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mIsBackground:Z

    return-void
.end method

.method private consumeOnActivityDestroyedListener(Landroid/app/Activity;)V
    .registers 7
    .param p1, "activity"    # Landroid/app/Activity;

    .line 617
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mDestroyedListenerMap:Ljava/util/Map;

    .line 618
    invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;

    move-result-object v0

    invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;

    move-result-object v0

    .line 619
    .local v0, "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<Ljava/util/Map$Entry<Landroid/app/Activity;Ljava/util/List<Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;>;>;>;"
    :goto_a
    invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z

    move-result v1

    if-eqz v1, :cond_3a

    .line 620
    invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Ljava/util/Map$Entry;

    .line 621
    .local v1, "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Landroid/app/Activity;Ljava/util/List<Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;>;>;"
    invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;

    move-result-object v2

    if-ne v2, p1, :cond_39

    .line 622
    invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;

    move-result-object v2

    check-cast v2, Ljava/util/List;

    .line 623
    .local v2, "value":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;>;"
    invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v3

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

    move-result v4

    if-eqz v4, :cond_36

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

    move-result-object v4

    check-cast v4, Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;

    .line 624
    .local v4, "listener":Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;
    invoke-interface {v4, p1}, Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;->onActivityDestroyed(Landroid/app/Activity;)V

    .line 625
    .end local v4    # "listener":Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;
    goto :goto_26

    .line 626
    :cond_36
    invoke-interface {v0}, Ljava/util/Iterator;->remove()V

    .line 628
    .end local v1    # "entry":Ljava/util/Map$Entry;, "Ljava/util/Map$Entry<Landroid/app/Activity;Ljava/util/List<Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;>;>;"
    .end local v2    # "value":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;>;"
    :cond_39
    goto :goto_a

    .line 629
    :cond_3a
    return-void
.end method

.method private getTopActivityByReflect()Landroid/app/Activity;
    .registers 12

    .line 634
    const/4 v0, 0x0

    :try_start_1
    const-string v1, "android.app.ActivityThread"

    invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;

    move-result-object v1

    .line 635
    .local v1, "activityThreadClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
    const-string v2, "currentActivityThread"

    const/4 v3, 0x0

    new-array v4, v3, [Ljava/lang/Class;

    invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;

    move-result-object v2

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

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

    move-result-object v2

    .line 636
    .local v2, "currentActivityThreadMethod":Ljava/lang/Object;
    const-string v3, "mActivityList"

    invoke-virtual {v1, v3}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v3

    .line 637
    .local v3, "mActivityListField":Ljava/lang/reflect/Field;
    const/4 v4, 0x1

    invoke-virtual {v3, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V

    .line 638
    invoke-virtual {v3, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v5

    check-cast v5, Ljava/util/Map;

    .line 639
    .local v5, "activities":Ljava/util/Map;
    if-nez v5, :cond_29

    return-object v0

    .line 640
    :cond_29
    invoke-interface {v5}, Ljava/util/Map;->values()Ljava/util/Collection;

    move-result-object v6

    invoke-interface {v6}, Ljava/util/Collection;->iterator()Ljava/util/Iterator;

    move-result-object v6

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

    move-result v7

    if-eqz v7, :cond_5f

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

    move-result-object v7

    .line 641
    .local v7, "activityRecord":Ljava/lang/Object;
    invoke-virtual {v7}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v8

    .line 642
    .local v8, "activityRecordClass":Ljava/lang/Class;
    const-string v9, "paused"

    invoke-virtual {v8, v9}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v9

    .line 643
    .local v9, "pausedField":Ljava/lang/reflect/Field;
    invoke-virtual {v9, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V

    .line 644
    invoke-virtual {v9, v7}, Ljava/lang/reflect/Field;->getBoolean(Ljava/lang/Object;)Z

    move-result v10

    if-nez v10, :cond_5e

    .line 645
    const-string v6, "activity"

    invoke-virtual {v8, v6}, Ljava/lang/Class;->getDeclaredField(Ljava/lang/String;)Ljava/lang/reflect/Field;

    move-result-object v6

    .line 646
    .local v6, "activityField":Ljava/lang/reflect/Field;
    invoke-virtual {v6, v4}, Ljava/lang/reflect/Field;->setAccessible(Z)V

    .line 647
    invoke-virtual {v6, v7}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v4

    check-cast v4, Landroid/app/Activity;
    :try_end_5d
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_5d} :catch_60

    return-object v4

    .line 649
    .end local v6    # "activityField":Ljava/lang/reflect/Field;
    .end local v7    # "activityRecord":Ljava/lang/Object;
    .end local v8    # "activityRecordClass":Ljava/lang/Class;
    .end local v9    # "pausedField":Ljava/lang/reflect/Field;
    :cond_5e
    goto :goto_31

    .line 652
    .end local v1    # "activityThreadClass":Ljava/lang/Class;, "Ljava/lang/Class<*>;"
    .end local v2    # "currentActivityThreadMethod":Ljava/lang/Object;
    .end local v3    # "mActivityListField":Ljava/lang/reflect/Field;
    .end local v5    # "activities":Ljava/util/Map;
    :cond_5f
    goto :goto_6a

    .line 650
    :catch_60
    move-exception v1

    .line 651
    .local v1, "e":Ljava/lang/Exception;
    invoke-virtual {v1}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;

    move-result-object v2

    const-string v3, "Utils"

    invoke-static {v3, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    .line 653
    .end local v1    # "e":Ljava/lang/Exception;
    :goto_6a
    return-object v0
.end method

.method private postStatus(Landroid/app/Activity;Z)V
    .registers 5
    .param p1, "activity"    # Landroid/app/Activity;
    .param p2, "isForeground"    # Z

    .line 594
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mStatusListeners:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->isEmpty()Z

    move-result v0

    if-eqz v0, :cond_9

    return-void

    .line 595
    :cond_9
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mStatusListeners:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v0

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

    move-result v1

    if-eqz v1, :cond_25

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

    move-result-object v1

    check-cast v1, Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;

    .line 596
    .local v1, "statusListener":Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;
    if-eqz p2, :cond_21

    .line 597
    invoke-interface {v1, p1}, Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;->onForeground(Landroid/app/Activity;)V

    goto :goto_24

    .line 599
    :cond_21
    invoke-interface {v1, p1}, Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;->onBackground(Landroid/app/Activity;)V

    .line 601
    .end local v1    # "statusListener":Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;
    :goto_24
    goto :goto_f

    .line 602
    :cond_25
    return-void
.end method

.method private processHideSoftInputOnActivityDestroy(Landroid/app/Activity;Z)V
    .registers 8
    .param p1, "activity"    # Landroid/app/Activity;
    .param p2, "isSave"    # Z

    .line 573
    const/16 v0, -0x7b

    if-eqz p2, :cond_26

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

    move-result-object v1

    invoke-virtual {v1}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;

    move-result-object v1

    .line 575
    .local v1, "attrs":Landroid/view/WindowManager$LayoutParams;
    iget v2, v1, Landroid/view/WindowManager$LayoutParams;->softInputMode:I

    .line 576
    .local v2, "softInputMode":I
    invoke-virtual {p1}, Landroid/app/Activity;->getWindow()Landroid/view/Window;

    move-result-object v3

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

    move-result-object v3

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

    move-result-object v4

    invoke-virtual {v3, v0, v4}, Landroid/view/View;->setTag(ILjava/lang/Object;)V

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

    move-result-object v0

    const/4 v3, 0x3

    invoke-virtual {v0, v3}, Landroid/view/Window;->setSoftInputMode(I)V

    .line 578
    .end local v1    # "attrs":Landroid/view/WindowManager$LayoutParams;
    .end local v2    # "softInputMode":I
    goto :goto_41

    .line 579
    :cond_26
    invoke-virtual {p1}, Landroid/app/Activity;->getWindow()Landroid/view/Window;

    move-result-object v1

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

    move-result-object v1

    invoke-virtual {v1, v0}, Landroid/view/View;->getTag(I)Ljava/lang/Object;

    move-result-object v0

    .line 580
    .local v0, "tag":Ljava/lang/Object;
    instance-of v1, v0, Ljava/lang/Integer;

    if-nez v1, :cond_37

    return-void

    .line 581
    :cond_37
    new-instance v1, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl$1;

    invoke-direct {v1, p0, p1, v0}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl$1;-><init>(Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;Landroid/app/Activity;Ljava/lang/Object;)V

    const-wide/16 v2, 0x64

    invoke-static {v1, v2, v3}, Lcom/blankj/utilcode/util/Utils;->runOnUiThreadDelayed(Ljava/lang/Runnable;J)V

    .line 591
    .end local v0    # "tag":Ljava/lang/Object;
    :goto_41
    return-void
.end method

.method private setTopActivity(Landroid/app/Activity;)V
    .registers 3
    .param p1, "activity"    # Landroid/app/Activity;

    .line 606
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v0, p1}, Ljava/util/LinkedList;->contains(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_21

    .line 607
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v0}, Ljava/util/LinkedList;->getLast()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/app/Activity;

    invoke-virtual {v0, p1}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_26

    .line 608
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v0, p1}, Ljava/util/LinkedList;->remove(Ljava/lang/Object;)Z

    .line 609
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v0, p1}, Ljava/util/LinkedList;->addLast(Ljava/lang/Object;)V

    goto :goto_26

    .line 612
    :cond_21
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v0, p1}, Ljava/util/LinkedList;->addLast(Ljava/lang/Object;)V

    .line 614
    :cond_26
    :goto_26
    return-void
.end method


# virtual methods
.method addOnActivityDestroyedListener(Landroid/app/Activity;Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;)V
    .registers 5
    .param p1, "activity"    # Landroid/app/Activity;
    .param p2, "listener"    # Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;

    .line 556
    if-eqz p1, :cond_26

    if-nez p2, :cond_5

    goto :goto_26

    .line 557
    :cond_5
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mDestroyedListenerMap:Ljava/util/Map;

    invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Ljava/util/List;

    .line 558
    .local v0, "listeners":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;>;"
    if-nez v0, :cond_1b

    .line 559
    new-instance v1, Ljava/util/concurrent/CopyOnWriteArrayList;

    invoke-direct {v1}, Ljava/util/concurrent/CopyOnWriteArrayList;-><init>()V

    move-object v0, v1

    .line 560
    iget-object v1, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mDestroyedListenerMap:Ljava/util/Map;

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

    goto :goto_22

    .line 562
    :cond_1b
    invoke-interface {v0, p2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_22

    return-void

    .line 564
    :cond_22
    :goto_22
    invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 565
    return-void

    .line 556
    .end local v0    # "listeners":Ljava/util/List;, "Ljava/util/List<Lcom/blankj/utilcode/util/Utils$OnActivityDestroyedListener;>;"
    :cond_26
    :goto_26
    return-void
.end method

.method addOnAppStatusChangedListener(Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;)V
    .registers 3
    .param p1, "listener"    # Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;

    .line 542
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mStatusListeners:Ljava/util/List;

    invoke-interface {v0, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 543
    return-void
.end method

.method getTopActivity()Landroid/app/Activity;
    .registers 5

    .line 523
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v0}, Ljava/util/LinkedList;->isEmpty()Z

    move-result v0

    if-nez v0, :cond_33

    .line 524
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v0}, Ljava/util/LinkedList;->size()I

    move-result v0

    add-int/lit8 v0, v0, -0x1

    .local v0, "i":I
    :goto_10
    if-ltz v0, :cond_33

    .line 525
    iget-object v1, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v1, v0}, Ljava/util/LinkedList;->get(I)Ljava/lang/Object;

    move-result-object v1

    check-cast v1, Landroid/app/Activity;

    .line 526
    .local v1, "activity":Landroid/app/Activity;
    if-eqz v1, :cond_30

    .line 527
    invoke-virtual {v1}, Landroid/app/Activity;->isFinishing()Z

    move-result v2

    if-nez v2, :cond_30

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

    const/16 v3, 0x11

    if-lt v2, v3, :cond_2f

    .line 528
    invoke-virtual {v1}, Landroid/app/Activity;->isDestroyed()Z

    move-result v2

    if-eqz v2, :cond_2f

    .line 529
    goto :goto_30

    .line 531
    :cond_2f
    return-object v1

    .line 524
    .end local v1    # "activity":Landroid/app/Activity;
    :cond_30
    :goto_30
    add-int/lit8 v0, v0, -0x1

    goto :goto_10

    .line 534
    .end local v0    # "i":I
    :cond_33
    invoke-direct {p0}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->getTopActivityByReflect()Landroid/app/Activity;

    move-result-object v0

    .line 535
    .local v0, "topActivityByReflect":Landroid/app/Activity;
    if-eqz v0, :cond_3c

    .line 536
    invoke-direct {p0, v0}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->setTopActivity(Landroid/app/Activity;)V

    .line 538
    :cond_3c
    return-object v0
.end method

.method public onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
    .registers 3
    .param p1, "activity"    # Landroid/app/Activity;
    .param p2, "savedInstanceState"    # Landroid/os/Bundle;

    .line 466
    invoke-static {p1}, Lcom/blankj/utilcode/util/LanguageUtils;->applyLanguage(Landroid/app/Activity;)V

    .line 467
    # invokes: Lcom/blankj/utilcode/util/Utils;->setAnimatorsEnabled()V
    invoke-static {}, Lcom/blankj/utilcode/util/Utils;->access$000()V

    .line 468
    invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->setTopActivity(Landroid/app/Activity;)V

    .line 469
    return-void
.end method

.method public onActivityDestroyed(Landroid/app/Activity;)V
    .registers 3
    .param p1, "activity"    # Landroid/app/Activity;

    .line 517
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mActivityList:Ljava/util/LinkedList;

    invoke-virtual {v0, p1}, Ljava/util/LinkedList;->remove(Ljava/lang/Object;)Z

    .line 518
    invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->consumeOnActivityDestroyedListener(Landroid/app/Activity;)V

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

    move-result-object v0

    invoke-static {v0}, Lcom/blankj/utilcode/util/Utils;->fixSoftInputLeaks(Landroid/view/Window;)V

    .line 520
    return-void
.end method

.method public onActivityPaused(Landroid/app/Activity;)V
    .registers 2
    .param p1, "activity"    # Landroid/app/Activity;

    .line 496
    return-void
.end method

.method public onActivityResumed(Landroid/app/Activity;)V
    .registers 4
    .param p1, "activity"    # Landroid/app/Activity;

    .line 485
    invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->setTopActivity(Landroid/app/Activity;)V

    .line 486
    iget-boolean v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mIsBackground:Z

    const/4 v1, 0x0

    if-eqz v0, :cond_e

    .line 487
    iput-boolean v1, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mIsBackground:Z

    .line 488
    const/4 v0, 0x1

    invoke-direct {p0, p1, v0}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->postStatus(Landroid/app/Activity;Z)V

    .line 490
    :cond_e
    invoke-direct {p0, p1, v1}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->processHideSoftInputOnActivityDestroy(Landroid/app/Activity;Z)V

    .line 491
    return-void
.end method

.method public onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
    .registers 3
    .param p1, "activity"    # Landroid/app/Activity;
    .param p2, "outState"    # Landroid/os/Bundle;

    .line 513
    return-void
.end method

.method public onActivityStarted(Landroid/app/Activity;)V
    .registers 3
    .param p1, "activity"    # Landroid/app/Activity;

    .line 473
    iget-boolean v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mIsBackground:Z

    if-nez v0, :cond_7

    .line 474
    invoke-direct {p0, p1}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->setTopActivity(Landroid/app/Activity;)V

    .line 476
    :cond_7
    iget v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mConfigCount:I

    if-gez v0, :cond_10

    .line 477
    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mConfigCount:I

    goto :goto_16

    .line 479
    :cond_10
    iget v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mForegroundCount:I

    add-int/lit8 v0, v0, 0x1

    iput v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mForegroundCount:I

    .line 481
    :goto_16
    return-void
.end method

.method public onActivityStopped(Landroid/app/Activity;)V
    .registers 4
    .param p1, "activity"    # Landroid/app/Activity;

    .line 500
    invoke-virtual {p1}, Landroid/app/Activity;->isChangingConfigurations()Z

    move-result v0

    const/4 v1, 0x1

    if-eqz v0, :cond_d

    .line 501
    iget v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mConfigCount:I

    sub-int/2addr v0, v1

    iput v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mConfigCount:I

    goto :goto_1a

    .line 503
    :cond_d
    iget v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mForegroundCount:I

    sub-int/2addr v0, v1

    iput v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mForegroundCount:I

    .line 504
    if-gtz v0, :cond_1a

    .line 505
    iput-boolean v1, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mIsBackground:Z

    .line 506
    const/4 v0, 0x0

    invoke-direct {p0, p1, v0}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->postStatus(Landroid/app/Activity;Z)V

    .line 509
    :cond_1a
    :goto_1a
    invoke-direct {p0, p1, v1}, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->processHideSoftInputOnActivityDestroy(Landroid/app/Activity;Z)V

    .line 510
    return-void
.end method

.method removeOnActivityDestroyedListener(Landroid/app/Activity;)V
    .registers 3
    .param p1, "activity"    # Landroid/app/Activity;

    .line 550
    if-nez p1, :cond_3

    return-void

    .line 551
    :cond_3
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mDestroyedListenerMap:Ljava/util/Map;

    invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;

    .line 552
    return-void
.end method

.method removeOnAppStatusChangedListener(Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;)V
    .registers 3
    .param p1, "listener"    # Lcom/blankj/utilcode/util/Utils$OnAppStatusChangedListener;

    .line 546
    iget-object v0, p0, Lcom/blankj/utilcode/util/Utils$ActivityLifecycleImpl;->mStatusListeners:Ljava/util/List;

    invoke-interface {v0, p1}, Ljava/util/List;->remove(Ljava/lang/Object;)Z

    .line 547
    return-void
.end method