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 1478
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 1529
const/4 v0, 0x0
iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mExecutorService:Ljava/util/concurrent/ExecutorService;
.line 1530
const/4 v0, 0x1
new-array v0, v0, [B
iput-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->lock:[B
.line 1479
iput-object p2, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkModelAssemblage:Lcom/cleanmaster/junk/scan/IApkModelAssemblage;
.line 1480
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 1481
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 1482
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 1483
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mWaitForFinish:Z
.line 1484
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 1485
return-void
.end method
.method static synthetic access$000(Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;)Lcom/cleanmaster/junk/scan/ApkParser;
.registers 2
.prologue
.line 1477
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 1477
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 1477
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 1477
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 1526
const/4 v0, 0x0
return-object v0
.end method
.method public getOneApkFileFromList()Lcom/cleanmaster/junk/bean/ApkParseData;
.registers 3
.prologue
.line 1510
iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;
monitor-enter v1
.line 1511
: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 1512
const/4 v0, 0x0
monitor-exit v1
.line 1515
: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 1516
: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 1640
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mWaitForFinish:Z
.line 1641
iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;
monitor-enter v1
.line 1642
: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 1643
iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
.line 1644
monitor-exit v1
.line 1645
return-void
.line 1644
: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 1521
const/4 v0, 0x0
return v0
.end method
.method public putOneApkFile(Ljava/io/File;Lcom/cleanmaster/junk/bean/GenericWhiteInfo;)Z
.registers 6
.prologue
.line 1489
iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;
monitor-enter v1
.line 1490
: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 1491
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 1492
const/4 v0, 0x0
monitor-exit v1
.line 1505
:goto_19
return v0
.line 1496
: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 1497
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 1498
new-instance v0, Lcom/cleanmaster/junk/bean/ApkParseData;
invoke-direct {v0}, Lcom/cleanmaster/junk/bean/ApkParseData;-><init>()V
.line 1499
invoke-virtual {v0, p1}, Lcom/cleanmaster/junk/bean/ApkParseData;->setApkParseDataFile(Ljava/io/File;)V
.line 1500
invoke-virtual {v0, p2}, Lcom/cleanmaster/junk/bean/ApkParseData;->setApkParseDataWhiteInfo(Lcom/cleanmaster/junk/bean/GenericWhiteInfo;)V
.line 1501
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 1502
iget-object v0, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;
invoke-virtual {v0}, Ljava/lang/Object;->notifyAll()V
.line 1504
:cond_46
monitor-exit v1
.line 1505
const/4 v0, 0x1
goto :goto_19
.line 1504
: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 1534
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 1535
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 1536
const/4 v0, -0x1
.line 1537
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 1538
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 1571
: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 1574
: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 1626
: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 1627
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 1631
: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 1633
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 1634
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 1637
:cond_73
return-void
.line 1535
:cond_74
const/4 v0, 0x1
goto :goto_a
.line 1578
:cond_76
invoke-virtual {p0}, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->getOneApkFileFromList()Lcom/cleanmaster/junk/bean/ApkParseData;
move-result-object v1
.line 1579
if-nez v1, :cond_a4
.line 1580
iget-boolean v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mWaitForFinish:Z
if-nez v1, :cond_4a
.line 1583
iget-object v1, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->mApkFileStack:Ljava/util/Stack;
monitor-enter v1
.line 1585
: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 1589
:try_start_88
monitor-exit v1
:try_end_89
.catchall {:try_start_88 .. :try_end_89} :catchall_a1
.line 1591
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 1586
:catch_9e
move-exception v2
.line 1587
:try_start_9f
monitor-exit v1
goto :goto_4a
.line 1589
:catchall_a1
move-exception v0
monitor-exit v1
:try_end_a3
.catchall {:try_start_9f .. :try_end_a3} :catchall_a1
throw v0
.line 1598
:cond_a4
iget-object v2, p0, Lcom/cleanmaster/junk/scan/ApkScanTask$ApkParseThread;->lock:[B
monitor-enter v2
.line 1599
: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 1600
:cond_b7
monitor-exit v2
goto/16 :goto_36
.line 1622
:catchall_ba
move-exception v0
monitor-exit v2
:try_end_bc
.catchall {:try_start_a7 .. :try_end_bc} :catchall_ba
throw v0
.line 1602
: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 1622
monitor-exit v2
:try_end_c8
.catchall {:try_start_bd .. :try_end_c8} :catchall_ba
goto/16 :goto_36
.line 1628
:catch_ca
move-exception v1
goto :goto_5b
.end method