AndroidStateMonitor.smali

.class public Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;
.super Ljava/lang/Object;
.source "AndroidStateMonitor.java"

# interfaces
.implements Landroid/app/Application$ActivityLifecycleCallbacks;
.implements Ljava/io/Serializable;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;,
        Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ApplicationStateListener;
    }
.end annotation


# static fields
.field private static INSTANCE:Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;


# instance fields
.field private activityCount:Ljava/util/concurrent/atomic/AtomicInteger;

.field private final activityStateListeners:Ljava/util/Set;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Set",
            "<",
            "Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;",
            ">;"
        }
    .end annotation
.end field

.field private final applicationStateListeners:Ljava/util/Set;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Set",
            "<",
            "Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ApplicationStateListener;",
            ">;"
        }
    .end annotation
.end field

.field private currentActivityName:Ljava/lang/String;

.field private foreground:Ljava/util/concurrent/atomic/AtomicBoolean;

.field private final mActivities:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List",
            "<",
            "Ljava/lang/ref/WeakReference",
            "<",
            "Landroid/app/Activity;",
            ">;>;"
        }
    .end annotation
.end field

.field private mTopActivity:Ljava/lang/ref/WeakReference;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/lang/ref/WeakReference",
            "<",
            "Landroid/app/Activity;",
            ">;"
        }
    .end annotation
.end field


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

    .prologue
    .line 20
    new-instance v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;

    invoke-direct {v0}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;-><init>()V

    sput-object v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->INSTANCE:Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;

    return-void
.end method

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

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

    .line 21
    new-instance v0, Ljava/util/HashSet;

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

    iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->applicationStateListeners:Ljava/util/Set;

    .line 22
    new-instance v0, Ljava/util/HashSet;

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

    iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

    .line 23
    new-instance v0, Ljava/util/concurrent/atomic/AtomicBoolean;

    const/4 v1, 0x1

    invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V

    iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->foreground:Ljava/util/concurrent/atomic/AtomicBoolean;

    .line 24
    new-instance v0, Ljava/util/concurrent/atomic/AtomicInteger;

    const/4 v1, 0x0

    invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicInteger;-><init>(I)V

    iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityCount:Ljava/util/concurrent/atomic/AtomicInteger;

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

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

    iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mActivities:Ljava/util/List;

    return-void
.end method

.method public static get()Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;
    .registers 1

    .prologue
    .line 80
    sget-object v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->INSTANCE:Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;

    return-object v0
.end method

.method public static init(Landroid/app/Application;)V
    .registers 2

    .prologue
    .line 28
    invoke-static {}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->get()Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;

    move-result-object v0

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

    .line 29
    return-void
.end method

.method public static isBackground()Z
    .registers 1

    .prologue
    .line 75
    invoke-static {}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->isForeground()Z

    move-result v0

    if-nez v0, :cond_8

    const/4 v0, 0x1

    :goto_7
    return v0

    :cond_8
    const/4 v0, 0x0

    goto :goto_7
.end method

.method public static isForeground()Z
    .registers 1

    .prologue
    .line 71
    invoke-static {}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->get()Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;

    move-result-object v0

    iget-object v0, v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->foreground:Ljava/util/concurrent/atomic/AtomicBoolean;

    invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z

    move-result v0

    return v0
.end method


# virtual methods
.method public addActivityStateListener(Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;)V
    .registers 4

    .prologue
    .line 54
    iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

    monitor-enter v1

    .line 55
    :try_start_3
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

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

    .line 56
    monitor-exit v1

    .line 57
    return-void

    .line 56
    :catchall_a
    move-exception v0

    monitor-exit v1
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v0
.end method

.method public addApplicationStateListener(Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ApplicationStateListener;)V
    .registers 4

    .prologue
    .line 37
    iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->applicationStateListeners:Ljava/util/Set;

    monitor-enter v1

    .line 38
    :try_start_3
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->applicationStateListeners:Ljava/util/Set;

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

    .line 39
    monitor-exit v1

    .line 40
    return-void

    .line 39
    :catchall_a
    move-exception v0

    monitor-exit v1
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v0
.end method

.method public finishApp()V
    .registers 3

    .prologue
    .line 208
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mActivities:Ljava/util/List;

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

    move-result-object v1

    :cond_6
    :goto_6
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_1e

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

    move-result-object v0

    check-cast v0, Ljava/lang/ref/WeakReference;

    .line 209
    invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/app/Activity;

    .line 210
    if-eqz v0, :cond_6

    .line 211
    invoke-virtual {v0}, Landroid/app/Activity;->finish()V

    goto :goto_6

    .line 213
    :cond_1e
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mActivities:Ljava/util/List;

    invoke-interface {v0}, Ljava/util/List;->clear()V

    .line 214
    return-void
.end method

.method public getActivities()Ljava/util/List;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List",
            "<",
            "Ljava/lang/ref/WeakReference",
            "<",
            "Landroid/app/Activity;",
            ">;>;"
        }
    .end annotation

    .prologue
    .line 217
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mActivities:Ljava/util/List;

    return-object v0
.end method

.method public getCurrentActivityName()Ljava/lang/String;
    .registers 2

    .prologue
    .line 122
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->currentActivityName:Ljava/lang/String;

    return-object v0
.end method

.method public getTopActivity()Landroid/app/Activity;
    .registers 3

    .prologue
    const/4 v0, 0x0

    .line 200
    iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->foreground:Ljava/util/concurrent/atomic/AtomicBoolean;

    invoke-virtual {v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z

    move-result v1

    if-nez v1, :cond_a

    .line 204
    :cond_9
    :goto_9
    return-object v0

    .line 201
    :cond_a
    iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mTopActivity:Ljava/lang/ref/WeakReference;

    if-eqz v1, :cond_9

    .line 202
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mTopActivity:Ljava/lang/ref/WeakReference;

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

    move-result-object v0

    check-cast v0, Landroid/app/Activity;

    goto :goto_9
.end method

.method public onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
    .registers 5

    .prologue
    .line 113
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mActivities:Ljava/util/List;

    new-instance v1, Ljava/lang/ref/WeakReference;

    invoke-direct {v1, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V

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

    .line 114
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

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

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_20

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;

    .line 115
    invoke-interface {v0, p1}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;->onActivityCreate(Landroid/app/Activity;)V

    goto :goto_10

    .line 117
    :cond_20
    return-void
.end method

.method public onActivityDestroyed(Landroid/app/Activity;)V
    .registers 5

    .prologue
    .line 181
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mActivities:Ljava/util/List;

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

    move-result-object v1

    .line 182
    :cond_6
    :goto_6
    invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z

    move-result v0

    if-eqz v0, :cond_34

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

    move-result-object v0

    check-cast v0, Ljava/lang/ref/WeakReference;

    .line 184
    invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v2

    if-nez v2, :cond_1c

    .line 185
    invoke-interface {v1}, Ljava/util/Iterator;->remove()V

    goto :goto_6

    .line 188
    :cond_1c
    invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object;

    move-result-object v0

    check-cast v0, Landroid/app/Activity;

    invoke-virtual {v0}, Landroid/app/Activity;->getComponentName()Landroid/content/ComponentName;

    move-result-object v0

    invoke-virtual {p1}, Landroid/app/Activity;->getComponentName()Landroid/content/ComponentName;

    move-result-object v2

    invoke-virtual {v0, v2}, Landroid/content/ComponentName;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_6

    .line 189
    invoke-interface {v1}, Ljava/util/Iterator;->remove()V

    goto :goto_6

    .line 192
    :cond_34
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

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

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_4a

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;

    .line 193
    invoke-interface {v0, p1}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;->onActivityDestroyed(Landroid/app/Activity;)V

    goto :goto_3a

    .line 195
    :cond_4a
    return-void
.end method

.method public onActivityPaused(Landroid/app/Activity;)V
    .registers 4

    .prologue
    .line 153
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

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

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_16

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;

    .line 154
    invoke-interface {v0, p1}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;->onActivityPaused(Landroid/app/Activity;)V

    goto :goto_6

    .line 156
    :cond_16
    return-void
.end method

.method public onActivityResumed(Landroid/app/Activity;)V
    .registers 4

    .prologue
    .line 146
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

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

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_16

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;

    .line 147
    invoke-interface {v0, p1}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;->onActivityResumed(Landroid/app/Activity;)V

    goto :goto_6

    .line 149
    :cond_16
    return-void
.end method

.method public onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
    .registers 3

    .prologue
    .line 177
    return-void
.end method

.method public onActivityStarted(Landroid/app/Activity;)V
    .registers 4

    .prologue
    const/4 v1, 0x1

    .line 128
    invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;

    move-result-object v0

    invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->currentActivityName:Ljava/lang/String;

    .line 129
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityCount:Ljava/util/concurrent/atomic/AtomicInteger;

    invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I

    move-result v0

    if-ne v0, v1, :cond_42

    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->foreground:Ljava/util/concurrent/atomic/AtomicBoolean;

    invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z

    move-result v0

    if-nez v0, :cond_42

    .line 130
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->foreground:Ljava/util/concurrent/atomic/AtomicBoolean;

    invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V

    .line 131
    const-class v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;

    invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v0

    const-string/jumbo v1, "\u5207\u6362\u5230\u524d\u53f0"

    invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 132
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->applicationStateListeners:Ljava/util/Set;

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

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_42

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ApplicationStateListener;

    .line 133
    invoke-interface {v0, p1}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ApplicationStateListener;->onForeground(Landroid/app/Activity;)V

    goto :goto_32

    .line 137
    :cond_42
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

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

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_58

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;

    .line 138
    invoke-interface {v0, p1}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;->onActivityStarted(Landroid/app/Activity;)V

    goto :goto_48

    .line 141
    :cond_58
    new-instance v0, Ljava/lang/ref/WeakReference;

    invoke-direct {v0, p1}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V

    iput-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->mTopActivity:Ljava/lang/ref/WeakReference;

    .line 142
    return-void
.end method

.method public onActivityStopped(Landroid/app/Activity;)V
    .registers 4

    .prologue
    .line 160
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityCount:Ljava/util/concurrent/atomic/AtomicInteger;

    invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I

    move-result v0

    if-nez v0, :cond_38

    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->foreground:Ljava/util/concurrent/atomic/AtomicBoolean;

    invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicBoolean;->get()Z

    move-result v0

    if-eqz v0, :cond_38

    .line 161
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->foreground:Ljava/util/concurrent/atomic/AtomicBoolean;

    const/4 v1, 0x0

    invoke-virtual {v0, v1}, Ljava/util/concurrent/atomic/AtomicBoolean;->set(Z)V

    .line 162
    const-class v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;

    invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;

    move-result-object v0

    const-string/jumbo v1, "\u5207\u6362\u5230\u540e\u53f0"

    invoke-static {v0, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

    .line 163
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->applicationStateListeners:Ljava/util/Set;

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

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_38

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ApplicationStateListener;

    .line 164
    invoke-interface {v0, p1}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ApplicationStateListener;->onBackground(Landroid/app/Activity;)V

    goto :goto_28

    .line 168
    :cond_38
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

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

    move-result-object v1

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

    move-result v0

    if-eqz v0, :cond_4e

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;

    .line 169
    invoke-interface {v0, p1}, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;->onActivityStopped(Landroid/app/Activity;)V

    goto :goto_3e

    .line 172
    :cond_4e
    return-void
.end method

.method public removeActivityStateListener(Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ActivityStateListener;)V
    .registers 4

    .prologue
    .line 60
    iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

    monitor-enter v1

    .line 61
    :try_start_3
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->activityStateListeners:Ljava/util/Set;

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

    .line 62
    monitor-exit v1

    .line 63
    return-void

    .line 62
    :catchall_a
    move-exception v0

    monitor-exit v1
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v0
.end method

.method public removeApplicationStateListener(Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor$ApplicationStateListener;)V
    .registers 4

    .prologue
    .line 43
    iget-object v1, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->applicationStateListeners:Ljava/util/Set;

    monitor-enter v1

    .line 44
    :try_start_3
    iget-object v0, p0, Lcom/cleanmaster/pluginscommonlib/util/appMonitor/AndroidStateMonitor;->applicationStateListeners:Ljava/util/Set;

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

    .line 45
    monitor-exit v1

    .line 46
    return-void

    .line 45
    :catchall_a
    move-exception v0

    monitor-exit v1
    :try_end_c
    .catchall {:try_start_3 .. :try_end_c} :catchall_a

    throw v0
.end method