g.smali

.class public Lcom/cleanmaster/service/watcher/g;
.super Ljava/lang/Object;
.source "AppFolderWatcher.java"

# interfaces
.implements Lcom/cleanmaster/service/PermanentService$PermanentWatcher;


# static fields
.field private static a:Lcom/cleanmaster/service/watcher/g;

.field private static d:I


# instance fields
.field private b:Landroid/content/Context;

.field private c:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;

.field private e:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor$ISdCardObServer;

.field private f:Lcom/cleanmaster/service/watcher/a;

.field private g:Ljava/lang/Object;

.field private h:Z

.field private i:Z

.field private j:Lcom/cm/plugincluster/monitor/interfaces/IMonitor;


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

    .prologue
    .line 32
    const/4 v0, 0x0

    sput-object v0, Lcom/cleanmaster/service/watcher/g;->a:Lcom/cleanmaster/service/watcher/g;

    .line 37
    const/4 v0, 0x4

    sput v0, Lcom/cleanmaster/service/watcher/g;->d:I

    return-void
.end method

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

    .prologue
    const/4 v0, 0x0

    const/4 v1, 0x0

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

    .line 34
    iput-object v0, p0, Lcom/cleanmaster/service/watcher/g;->b:Landroid/content/Context;

    .line 35
    iput-object v0, p0, Lcom/cleanmaster/service/watcher/g;->c:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;

    .line 100
    new-instance v0, Lcom/cleanmaster/service/watcher/i;

    invoke-direct {v0, p0}, Lcom/cleanmaster/service/watcher/i;-><init>(Lcom/cleanmaster/service/watcher/g;)V

    iput-object v0, p0, Lcom/cleanmaster/service/watcher/g;->e:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor$ISdCardObServer;

    .line 204
    new-instance v0, Lcom/cleanmaster/service/watcher/a;

    invoke-direct {v0}, Lcom/cleanmaster/service/watcher/a;-><init>()V

    iput-object v0, p0, Lcom/cleanmaster/service/watcher/g;->f:Lcom/cleanmaster/service/watcher/a;

    .line 206
    new-instance v0, Ljava/lang/Object;

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

    iput-object v0, p0, Lcom/cleanmaster/service/watcher/g;->g:Ljava/lang/Object;

    .line 207
    iput-boolean v1, p0, Lcom/cleanmaster/service/watcher/g;->h:Z

    .line 208
    iput-boolean v1, p0, Lcom/cleanmaster/service/watcher/g;->i:Z

    .line 209
    new-instance v0, Lcom/cleanmaster/service/watcher/j;

    invoke-direct {v0, p0}, Lcom/cleanmaster/service/watcher/j;-><init>(Lcom/cleanmaster/service/watcher/g;)V

    iput-object v0, p0, Lcom/cleanmaster/service/watcher/g;->j:Lcom/cm/plugincluster/monitor/interfaces/IMonitor;

    .line 64
    invoke-static {}, Lcom/keniu/security/l;->d()Landroid/content/Context;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/service/watcher/g;->b:Landroid/content/Context;

    .line 65
    return-void
.end method

.method static synthetic a(Lcom/cleanmaster/service/watcher/g;)Landroid/content/Context;
    .registers 2

    .prologue
    .line 30
    iget-object v0, p0, Lcom/cleanmaster/service/watcher/g;->b:Landroid/content/Context;

    return-object v0
.end method

.method public static declared-synchronized a()Lcom/cleanmaster/service/watcher/g;
    .registers 2

    .prologue
    .line 68
    const-class v1, Lcom/cleanmaster/service/watcher/g;

    monitor-enter v1

    :try_start_3
    sget-object v0, Lcom/cleanmaster/service/watcher/g;->a:Lcom/cleanmaster/service/watcher/g;

    if-nez v0, :cond_e

    .line 69
    new-instance v0, Lcom/cleanmaster/service/watcher/g;

    invoke-direct {v0}, Lcom/cleanmaster/service/watcher/g;-><init>()V

    sput-object v0, Lcom/cleanmaster/service/watcher/g;->a:Lcom/cleanmaster/service/watcher/g;

    .line 72
    :cond_e
    sget-object v0, Lcom/cleanmaster/service/watcher/g;->a:Lcom/cleanmaster/service/watcher/g;
    :try_end_10
    .catchall {:try_start_3 .. :try_end_10} :catchall_12

    monitor-exit v1

    return-object v0

    .line 68
    :catchall_12
    move-exception v0

    monitor-exit v1

    throw v0
.end method

.method static synthetic a(Lcom/cleanmaster/service/watcher/g;Ljava/lang/String;)Ljava/lang/String;
    .registers 3

    .prologue
    .line 30
    invoke-direct {p0, p1}, Lcom/cleanmaster/service/watcher/g;->a(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method private a(Ljava/lang/String;)Ljava/lang/String;
    .registers 4

    .prologue
    .line 93
    const-string v0, "/"

    invoke-virtual {p1, v0}, Ljava/lang/String;->indexOf(Ljava/lang/String;)I

    move-result v0

    .line 94
    const/4 v1, -0x1

    if-ne v0, v1, :cond_a

    .line 97
    :goto_9
    return-object p1

    :cond_a
    const/4 v1, 0x0

    invoke-virtual {p1, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;

    move-result-object p1

    goto :goto_9
.end method

.method static synthetic b(Lcom/cleanmaster/service/watcher/g;)Lcom/cleanmaster/service/watcher/a;
    .registers 2

    .prologue
    .line 30
    iget-object v0, p0, Lcom/cleanmaster/service/watcher/g;->f:Lcom/cleanmaster/service/watcher/a;

    return-object v0
.end method

.method static synthetic c(Lcom/cleanmaster/service/watcher/g;)Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;
    .registers 2

    .prologue
    .line 30
    iget-object v0, p0, Lcom/cleanmaster/service/watcher/g;->c:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;

    return-object v0
.end method

.method static synthetic d(Lcom/cleanmaster/service/watcher/g;)Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor$ISdCardObServer;
    .registers 2

    .prologue
    .line 30
    iget-object v0, p0, Lcom/cleanmaster/service/watcher/g;->e:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor$ISdCardObServer;

    return-object v0
.end method

.method private d()V
    .registers 6

    .prologue
    .line 225
    iget-object v1, p0, Lcom/cleanmaster/service/watcher/g;->g:Ljava/lang/Object;

    monitor-enter v1

    .line 226
    :try_start_3
    iget-boolean v0, p0, Lcom/cleanmaster/service/watcher/g;->h:Z

    if-eqz v0, :cond_9

    .line 227
    monitor-exit v1

    .line 247
    :goto_8
    return-void

    .line 229
    :cond_9
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/cleanmaster/service/watcher/g;->h:Z

    .line 230
    iget-object v0, p0, Lcom/cleanmaster/service/watcher/g;->c:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;

    if-nez v0, :cond_19

    .line 231
    new-instance v0, Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;

    iget-object v2, p0, Lcom/cleanmaster/service/watcher/g;->b:Landroid/content/Context;

    invoke-direct {v0, v2}, Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lcom/cleanmaster/service/watcher/g;->c:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;

    .line 234
    :cond_19
    iget-object v0, p0, Lcom/cleanmaster/service/watcher/g;->c:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;

    invoke-virtual {v0}, Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;->a()Z

    move-result v0

    if-eqz v0, :cond_3c

    invoke-static {}, Lcom/cm/root/k;->a()Lcom/cm/root/k;

    move-result-object v0

    invoke-virtual {v0}, Lcom/cm/root/k;->isMobileRoot()Z

    move-result v0

    if-eqz v0, :cond_3c

    .line 235
    invoke-static {}, Lcom/cm/root/k;->a()Lcom/cm/root/k;

    move-result-object v0

    invoke-virtual {v0}, Lcom/cm/root/k;->checkRoot()Z

    move-result v0

    if-eqz v0, :cond_41

    .line 236
    iget-object v0, p0, Lcom/cleanmaster/service/watcher/g;->c:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;

    iget-object v2, p0, Lcom/cleanmaster/service/watcher/g;->e:Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor$ISdCardObServer;

    invoke-virtual {v0, v2}, Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor;->a(Lcom/cleanmaster/service/watcher/AppFolderSdCardMonitor$ISdCardObServer;)Z

    .line 246
    :cond_3c
    :goto_3c
    monitor-exit v1

    goto :goto_8

    :catchall_3e
    move-exception v0

    monitor-exit v1
    :try_end_40
    .catchall {:try_start_3 .. :try_end_40} :catchall_3e

    throw v0

    .line 239
    :cond_41
    :try_start_41
    iget-object v2, p0, Lcom/cleanmaster/service/watcher/g;->j:Lcom/cm/plugincluster/monitor/interfaces/IMonitor;

    monitor-enter v2
    :try_end_44
    .catchall {:try_start_41 .. :try_end_44} :catchall_3e

    .line 240
    const/4 v0, 0x1

    :try_start_45
    iput-boolean v0, p0, Lcom/cleanmaster/service/watcher/g;->i:Z

    .line 241
    const/4 v0, 0x7

    iget-object v3, p0, Lcom/cleanmaster/service/watcher/g;->j:Lcom/cm/plugincluster/monitor/interfaces/IMonitor;

    const v4, 0x4fffffff    # 8.5899341E9f

    invoke-static {v0, v3, v4}, Lcom/cleanmaster/hpsharelib/utils/MonitorManagerUtil;->addMonitor(ILcom/cm/plugincluster/monitor/interfaces/IMonitor;I)Z

    .line 243
    monitor-exit v2

    goto :goto_3c

    :catchall_52
    move-exception v0

    monitor-exit v2
    :try_end_54
    .catchall {:try_start_45 .. :try_end_54} :catchall_52

    :try_start_54
    throw v0
    :try_end_55
    .catchall {:try_start_54 .. :try_end_55} :catchall_3e
.end method

.method private e()V
    .registers 3

    .prologue
    .line 249
    iget-boolean v0, p0, Lcom/cleanmaster/service/watcher/g;->h:Z

    if-nez v0, :cond_11

    .line 250
    new-instance v0, Ljava/lang/Thread;

    new-instance v1, Lcom/cleanmaster/service/watcher/k;

    invoke-direct {v1, p0}, Lcom/cleanmaster/service/watcher/k;-><init>(Lcom/cleanmaster/service/watcher/g;)V

    invoke-direct {v0, v1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V

    .line 256
    invoke-virtual {v0}, Ljava/lang/Thread;->start()V

    .line 258
    :cond_11
    return-void
.end method

.method static synthetic e(Lcom/cleanmaster/service/watcher/g;)V
    .registers 1

    .prologue
    .line 30
    invoke-direct {p0}, Lcom/cleanmaster/service/watcher/g;->f()V

    return-void
.end method

.method private f()V
    .registers 4

    .prologue
    .line 261
    iget-object v1, p0, Lcom/cleanmaster/service/watcher/g;->j:Lcom/cm/plugincluster/monitor/interfaces/IMonitor;

    monitor-enter v1

    .line 262
    :try_start_3
    iget-boolean v0, p0, Lcom/cleanmaster/service/watcher/g;->i:Z

    if-eqz v0, :cond_10

    .line 263
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/cleanmaster/service/watcher/g;->i:Z

    .line 264
    const/4 v0, 0x7

    iget-object v2, p0, Lcom/cleanmaster/service/watcher/g;->j:Lcom/cm/plugincluster/monitor/interfaces/IMonitor;

    invoke-static {v0, v2}, Lcom/cleanmaster/hpsharelib/utils/MonitorManagerUtil;->removeMonitor(ILcom/cm/plugincluster/monitor/interfaces/IMonitor;)Z

    .line 266
    :cond_10
    monitor-exit v1

    .line 267
    return-void

    .line 266
    :catchall_12
    move-exception v0

    monitor-exit v1
    :try_end_14
    .catchall {:try_start_3 .. :try_end_14} :catchall_12

    throw v0
.end method

.method static synthetic f(Lcom/cleanmaster/service/watcher/g;)V
    .registers 1

    .prologue
    .line 30
    invoke-direct {p0}, Lcom/cleanmaster/service/watcher/g;->d()V

    return-void
.end method

.method private g()V
    .registers 1

    .prologue
    .line 269
    invoke-direct {p0}, Lcom/cleanmaster/service/watcher/g;->f()V

    .line 271
    return-void
.end method


# virtual methods
.method public b()Z
    .registers 2

    .prologue
    .line 77
    const-string v0, "android.permission.WRITE_EXTERNAL_STORAGE"

    invoke-static {v0}, Lcom/cleanmaster/hpsharelib/base/util/system/SystemUtils;->simpleCheckSelfPermission(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_a

    .line 78
    const/4 v0, 0x0

    .line 81
    :goto_9
    return v0

    .line 80
    :cond_a
    invoke-direct {p0}, Lcom/cleanmaster/service/watcher/g;->e()V

    .line 81
    const/4 v0, 0x1

    goto :goto_9
.end method

.method public c()Z
    .registers 2

    .prologue
    .line 86
    invoke-direct {p0}, Lcom/cleanmaster/service/watcher/g;->g()V

    .line 87
    const/4 v0, 0x1

    return v0
.end method

.method public deinitWatcher()V
    .registers 1

    .prologue
    .line 60
    invoke-virtual {p0}, Lcom/cleanmaster/service/watcher/g;->c()Z

    .line 61
    return-void
.end method

.method public initWatcher(Lcom/cleanmaster/service/PermanentService;)V
    .registers 6

    .prologue
    .line 45
    new-instance v0, Lcom/cleanmaster/service/watcher/h;

    invoke-direct {v0, p0}, Lcom/cleanmaster/service/watcher/h;-><init>(Lcom/cleanmaster/service/watcher/g;)V

    .line 55
    invoke-static {}, Lcom/cleanmaster/base/util/concurrent/BackgroundThread;->getHandler()Landroid/os/Handler;

    move-result-object v1

    const-wide/32 v2, 0xc350

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

    .line 56
    return-void
.end method