ApkScanTask$ApkParseThread.smali

.class Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;
.super Ljava/lang/Thread;
.source "ApkScanTask.java"

# interfaces
.implements Lcom/cleanmaster/junk/scan/IApkFileAssemblage;


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/cleanmaster/junk/scan/ApkScanTask;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0x2
    name = "ApkParseThread"
.end annotation


# instance fields
.field lock:[B

.field private mApkFileStack:Ljava/util/Stack;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/Stack",
            "<",
            "Lcom/cleanmaster/junk/bean/ApkParseData;",
            ">;"
        }
    .end annotation
.end field

.field private mApkModelAssemblage:Lcom/cleanmaster/junk/scan/IApkModelAssemblage;

.field private mApkParser:Lcom/cleanmaster/junk/scan/ApkParser;

.field mExecutorService:Ljava/util/concurrent/ExecutorService;

.field private mProgressControl:Lcom/cleanmaster/util/ProgressControl;

.field private mPushedApk:Lcom/cleanmaster/bitloader/base/ArraySet;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Lcom/cleanmaster/bitloader/base/ArraySet",
            "<",
            "Ljava/lang/String;",
            ">;"
        }
    .end annotation
.end field

.field private mWaitForFinish:Z

.field final synthetic this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;


# direct methods
.method public constructor <init>(Lcom/cleanmaster/junk/scan/ApkScanTask;Lcom/cleanmaster/junk/scan/IApkModelAssemblage;)V
    .registers 6

    .prologue
    .line 1490
    iput-object p1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

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

    .line 1541
    const/4 v0, 0x0

    iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mExecutorService:Ljava/util/concurrent/ExecutorService;

    .line 1542
    const/4 v0, 0x1

    new-array v0, v0, [B

    iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->lock:[B

    .line 1491
    iput-object p2, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkModelAssemblage:Lcom/cleanmaster/junk/scan/IApkModelAssemblage;

    .line 1492
    new-instance v0, Ljava/util/Stack;

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

    iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    .line 1493
    new-instance v0, Lcom/cleanmaster/bitloader/base/ArraySet;

    invoke-direct {v0}, Lcom/cleanmaster/bitloader/base/ArraySet;-><init>()V

    iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mPushedApk:Lcom/cleanmaster/bitloader/base/ArraySet;

    .line 1494
    new-instance v0, Lcom/cleanmaster/junk/scan/ApkParser;

    iget-object v1, p1, Lcom/cleanmaster/junk/scan/ApkScanTask;->mContext:Landroid/content/Context;

    invoke-direct {v0, v1}, Lcom/cleanmaster/junk/scan/ApkParser;-><init>(Landroid/content/Context;)V

    iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkParser:Lcom/cleanmaster/junk/scan/ApkParser;

    .line 1495
    const/4 v0, 0x0

    iput-boolean v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mWaitForFinish:Z

    .line 1496
    new-instance v0, Lcom/cleanmaster/util/ProgressControl;

    iget-object v1, p1, Lcom/cleanmaster/junk/scan/ApkScanTask;->mCB:Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTaskCallback;

    const/4 v2, 0x6

    invoke-direct {v0, v1, v2}, Lcom/cleanmaster/util/ProgressControl;-><init>(Lcom/cm/plugincluster/softmgr/interfaces/junk/IScanTaskCallback;I)V

    iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mProgressControl:Lcom/cleanmaster/util/ProgressControl;

    .line 1497
    return-void
.end method

.method static synthetic access$000(Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;)Lcom/cleanmaster/junk/scan/ApkParser;
    .registers 2

    .prologue
    .line 1489
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkParser:Lcom/cleanmaster/junk/scan/ApkParser;

    return-object v0
.end method

.method static synthetic access$1500(Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;)Ljava/util/Stack;
    .registers 2

    .prologue
    .line 1489
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    return-object v0
.end method

.method static synthetic access$1700(Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;)Lcom/cleanmaster/junk/scan/IApkModelAssemblage;
    .registers 2

    .prologue
    .line 1489
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkModelAssemblage:Lcom/cleanmaster/junk/scan/IApkModelAssemblage;

    return-object v0
.end method

.method static synthetic access$1800(Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;)Lcom/cleanmaster/util/ProgressControl;
    .registers 2

    .prologue
    .line 1489
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mProgressControl:Lcom/cleanmaster/util/ProgressControl;

    return-object v0
.end method


# virtual methods
.method public getOneApkFile()Ljava/io/File;
    .registers 2

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

    return-object v0
.end method

.method public getOneApkFileFromList()Lcom/cleanmaster/junk/bean/ApkParseData;
    .registers 3

    .prologue
    .line 1522
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    monitor-enter v1

    .line 1523
    :try_start_3
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    invoke-virtual {v0}, Ljava/util/Stack;->empty()Z

    move-result v0

    if-eqz v0, :cond_e

    .line 1524
    const/4 v0, 0x0

    monitor-exit v1

    .line 1527
    :goto_d
    return-object v0

    :cond_e
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

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

    move-result-object v0

    check-cast v0, Lcom/cleanmaster/junk/bean/ApkParseData;

    monitor-exit v1

    goto :goto_d

    .line 1528
    :catchall_18
    move-exception v0

    monitor-exit v1
    :try_end_1a
    .catchall {:try_start_3 .. :try_end_1a} :catchall_18

    throw v0
.end method

.method public notifyStartWaitForFinish()V
    .registers 4

    .prologue
    .line 1652
    const/4 v0, 0x1

    iput-boolean v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mWaitForFinish:Z

    .line 1653
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    monitor-enter v1

    .line 1654
    :try_start_6
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mProgressControl:Lcom/cleanmaster/util/ProgressControl;

    iget-object v2, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    invoke-virtual {v2}, Ljava/util/Stack;->size()I

    move-result v2

    invoke-virtual {v0, v2}, Lcom/cleanmaster/util/ProgressControl;->setStepNum(I)V

    .line 1655
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V

    .line 1656
    monitor-exit v1

    .line 1657
    return-void

    .line 1656
    :catchall_18
    move-exception v0

    monitor-exit v1
    :try_end_1a
    .catchall {:try_start_6 .. :try_end_1a} :catchall_18

    throw v0
.end method

.method public putOneApkFile(Ljava/io/File;)Z
    .registers 3

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

    return v0
.end method

.method public putOneApkFile(Ljava/io/File;Lcom/cleanmaster/junk/bean/GenericWhiteInfo;)Z
    .registers 6

    .prologue
    .line 1501
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    monitor-enter v1

    .line 1502
    :try_start_3
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v0}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1400(Lcom/cleanmaster/junk/scan/ApkScanTask;)Z

    move-result v0

    if-eqz v0, :cond_1a

    if-eqz p1, :cond_1a

    .line 1503
    invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;

    move-result-object v0

    invoke-static {v0}, Lcom/cleanmaster/junk/util/JunkUtils;->isApkBackupFilter(Ljava/lang/String;)Z

    move-result v0

    if-eqz v0, :cond_1a

    .line 1504
    const/4 v0, 0x0

    monitor-exit v1

    .line 1517
    :goto_19
    return v0

    .line 1508
    :cond_1a
    if-eqz p1, :cond_46

    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mPushedApk:Lcom/cleanmaster/bitloader/base/ArraySet;

    invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Lcom/cleanmaster/bitloader/base/ArraySet;->contains(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_46

    .line 1509
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mPushedApk:Lcom/cleanmaster/bitloader/base/ArraySet;

    invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;

    move-result-object v2

    invoke-virtual {v0, v2}, Lcom/cleanmaster/bitloader/base/ArraySet;->add(Ljava/lang/Object;)Z

    .line 1510
    new-instance v0, Lcom/cleanmaster/junk/bean/ApkParseData;

    invoke-direct {v0}, Lcom/cleanmaster/junk/bean/ApkParseData;-><init>()V

    .line 1511
    invoke-virtual {v0, p1}, Lcom/cleanmaster/junk/bean/ApkParseData;->setApkParseDataFile(Ljava/io/File;)V

    .line 1512
    invoke-virtual {v0, p2}, Lcom/cleanmaster/junk/bean/ApkParseData;->setApkParseDataWhiteInfo(Lcom/cleanmaster/junk/bean/GenericWhiteInfo;)V

    .line 1513
    iget-object v2, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    invoke-virtual {v2, v0}, Ljava/util/Stack;->push(Ljava/lang/Object;)Ljava/lang/Object;

    .line 1514
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V

    .line 1516
    :cond_46
    monitor-exit v1

    .line 1517
    const/4 v0, 0x1

    goto :goto_19

    .line 1516
    :catchall_49
    move-exception v0

    monitor-exit v1
    :try_end_4b
    .catchall {:try_start_3 .. :try_end_4b} :catchall_49

    throw v0
.end method

.method public run()V
    .registers 6

    .prologue
    .line 1546
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkParser:Lcom/cleanmaster/junk/scan/ApkParser;

    invoke-virtual {v0}, Lcom/cleanmaster/junk/scan/ApkParser;->initApkParser()Z

    .line 1547
    sget-boolean v0, Lcom/cleanmaster/junk/util/Env;->bIsMultiProc:Z

    if-eqz v0, :cond_74

    const/4 v0, 0x2

    :goto_a
    invoke-static {v0}, Ljava/util/concurrent/Executors;->newFixedThreadPool(I)Ljava/util/concurrent/ExecutorService;

    move-result-object v0

    iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mExecutorService:Ljava/util/concurrent/ExecutorService;

    .line 1548
    const/4 v0, -0x1

    .line 1549
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v1}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1000(Lcom/cleanmaster/junk/scan/ApkScanTask;)Lcom/cleanmaster/junk/scan/IScanTaskController;

    move-result-object v1

    if-eqz v1, :cond_28

    .line 1550
    iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v0}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1000(Lcom/cleanmaster/junk/scan/ApkScanTask;)Lcom/cleanmaster/junk/scan/IScanTaskController;

    move-result-object v0

    new-instance v1, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread$1;

    invoke-direct {v1, p0}, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread$1;-><init>(Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;)V

    invoke-interface {v0, v1}, Lcom/cleanmaster/junk/scan/IScanTaskController;->addObserver(Lcom/cleanmaster/junk/scan/IScanTaskControllerObserver;)I

    move-result v0

    .line 1583
    :cond_28
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mProgressControl:Lcom/cleanmaster/util/ProgressControl;

    iget-object v2, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v2}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1600(Lcom/cleanmaster/junk/scan/ApkScanTask;)I

    move-result v2

    const/16 v3, 0x7d0

    const/4 v4, 0x0

    invoke-virtual {v1, v2, v3, v4}, Lcom/cleanmaster/util/ProgressControl;->startControl(IIZ)V

    .line 1586
    :cond_36
    :goto_36
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v1}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1000(Lcom/cleanmaster/junk/scan/ApkScanTask;)Lcom/cleanmaster/junk/scan/IScanTaskController;

    move-result-object v1

    if-eqz v1, :cond_76

    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v1}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1000(Lcom/cleanmaster/junk/scan/ApkScanTask;)Lcom/cleanmaster/junk/scan/IScanTaskController;

    move-result-object v1

    invoke-interface {v1}, Lcom/cleanmaster/junk/scan/IScanTaskController;->checkStop()Z

    move-result v1

    if-eqz v1, :cond_76

    .line 1638
    :cond_4a
    :goto_4a
    :try_start_4a
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mExecutorService:Ljava/util/concurrent/ExecutorService;

    invoke-interface {v1}, Ljava/util/concurrent/ExecutorService;->shutdown()V

    .line 1639
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mExecutorService:Ljava/util/concurrent/ExecutorService;

    const-wide v2, 0x7fffffffffffffffL

    sget-object v4, Ljava/util/concurrent/TimeUnit;->MILLISECONDS:Ljava/util/concurrent/TimeUnit;

    invoke-interface {v1, v2, v3, v4}, Ljava/util/concurrent/ExecutorService;->awaitTermination(JLjava/util/concurrent/TimeUnit;)Z
    :try_end_5b
    .catch Ljava/lang/InterruptedException; {:try_start_4a .. :try_end_5b} :catch_ca

    .line 1643
    :goto_5b
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mProgressControl:Lcom/cleanmaster/util/ProgressControl;

    invoke-virtual {v1}, Lcom/cleanmaster/util/ProgressControl;->stopControl()V

    .line 1645
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v1}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1000(Lcom/cleanmaster/junk/scan/ApkScanTask;)Lcom/cleanmaster/junk/scan/IScanTaskController;

    move-result-object v1

    if-eqz v1, :cond_73

    if-ltz v0, :cond_73

    .line 1646
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v1}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1000(Lcom/cleanmaster/junk/scan/ApkScanTask;)Lcom/cleanmaster/junk/scan/IScanTaskController;

    move-result-object v1

    invoke-interface {v1, v0}, Lcom/cleanmaster/junk/scan/IScanTaskController;->removeObserver(I)V

    .line 1649
    :cond_73
    return-void

    .line 1547
    :cond_74
    const/4 v0, 0x1

    goto :goto_a

    .line 1590
    :cond_76
    invoke-virtual {p0}, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->getOneApkFileFromList()Lcom/cleanmaster/junk/bean/ApkParseData;

    move-result-object v1

    .line 1591
    if-nez v1, :cond_a4

    .line 1592
    iget-boolean v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mWaitForFinish:Z

    if-nez v1, :cond_4a

    .line 1595
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    monitor-enter v1

    .line 1597
    :try_start_83
    iget-object v2, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;

    invoke-virtual {v2}, Ljava/lang/Object;->wait()V
    :try_end_88
    .catch Ljava/lang/InterruptedException; {:try_start_83 .. :try_end_88} :catch_9e
    .catchall {:try_start_83 .. :try_end_88} :catchall_a1

    .line 1601
    :try_start_88
    monitor-exit v1
    :try_end_89
    .catchall {:try_start_88 .. :try_end_89} :catchall_a1

    .line 1603
    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v1}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1000(Lcom/cleanmaster/junk/scan/ApkScanTask;)Lcom/cleanmaster/junk/scan/IScanTaskController;

    move-result-object v1

    if-eqz v1, :cond_36

    iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->this$0:Lcom/cleanmaster/junk/scan/ApkScanTask;

    invoke-static {v1}, Lcom/cleanmaster/junk/scan/ApkScanTask;->access$1000(Lcom/cleanmaster/junk/scan/ApkScanTask;)Lcom/cleanmaster/junk/scan/IScanTaskController;

    move-result-object v1

    invoke-interface {v1}, Lcom/cleanmaster/junk/scan/IScanTaskController;->checkStop()Z

    move-result v1

    if-eqz v1, :cond_36

    goto :goto_4a

    .line 1598
    :catch_9e
    move-exception v2

    .line 1599
    :try_start_9f
    monitor-exit v1

    goto :goto_4a

    .line 1601
    :catchall_a1
    move-exception v0

    monitor-exit v1
    :try_end_a3
    .catchall {:try_start_9f .. :try_end_a3} :catchall_a1

    throw v0

    .line 1610
    :cond_a4
    iget-object v2, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->lock:[B

    monitor-enter v2

    .line 1611
    :try_start_a7
    iget-object v3, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mExecutorService:Ljava/util/concurrent/ExecutorService;

    invoke-interface {v3}, Ljava/util/concurrent/ExecutorService;->isShutdown()Z

    move-result v3

    if-nez v3, :cond_b7

    iget-object v3, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mExecutorService:Ljava/util/concurrent/ExecutorService;

    invoke-interface {v3}, Ljava/util/concurrent/ExecutorService;->isTerminated()Z

    move-result v3

    if-eqz v3, :cond_bd

    .line 1612
    :cond_b7
    monitor-exit v2

    goto/16 :goto_36

    .line 1634
    :catchall_ba
    move-exception v0

    monitor-exit v2
    :try_end_bc
    .catchall {:try_start_a7 .. :try_end_bc} :catchall_ba

    throw v0

    .line 1614
    :cond_bd
    :try_start_bd
    iget-object v3, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mExecutorService:Ljava/util/concurrent/ExecutorService;

    new-instance v4, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread$2;

    invoke-direct {v4, p0, v1}, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread$2;-><init>(Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;Lcom/cleanmaster/junk/bean/ApkParseData;)V

    invoke-interface {v3, v4}, Ljava/util/concurrent/ExecutorService;->submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;

    .line 1634
    monitor-exit v2
    :try_end_c8
    .catchall {:try_start_bd .. :try_end_c8} :catchall_ba

    goto/16 :goto_36

    .line 1640
    :catch_ca
    move-exception v1

    goto :goto_5b
.end method