a.smali
.class public Lcom/iwangding/basis/base/a;
.super Ljava/lang/Object;
.source "BaseFunction.java"
# instance fields
.field protected TAG:Ljava/lang/String;
.field protected mBackgroundHandler:Landroid/os/Handler;
.field private mBackgroundThread:Landroid/os/HandlerThread;
.field protected mUiHandler:Landroid/os/Handler;
.field protected running:Z
# direct methods
.method public constructor <init>()V
.registers 3
.prologue
.line 7
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 9
invoke-virtual {p0}, 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/iwangding/basis/base/a;->TAG:Ljava/lang/String;
.line 10
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/iwangding/basis/base/a;->running:Z
.line 13
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/iwangding/basis/base/a;->mUiHandler:Landroid/os/Handler;
return-void
.end method
# virtual methods
.method protected declared-synchronized startBackgroundThread()V
.registers 3
.prologue
.line 19
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
if-nez v0, :cond_e
.line 20
new-instance v0, Landroid/os/HandlerThread;
iget-object v1, p0, Lcom/iwangding/basis/base/a;->TAG:Ljava/lang/String;
invoke-direct {v0, v1}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
.line 22
:cond_e
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->isAlive()Z
move-result v0
if-nez v0, :cond_1b
.line 23
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->start()V
.line 25
:cond_1b
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundHandler:Landroid/os/Handler;
if-nez v0, :cond_2c
.line 26
new-instance v0, Landroid/os/Handler;
iget-object v1, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
invoke-virtual {v1}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundHandler:Landroid/os/Handler;
:try_end_2c
.catchall {:try_start_1 .. :try_end_2c} :catchall_2e
.line 28
:cond_2c
monitor-exit p0
return-void
.line 19
:catchall_2e
move-exception v0
monitor-exit p0
throw v0
.end method
.method protected declared-synchronized stopBackgroundThread()V
.registers 3
.prologue
.line 35
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundHandler:Landroid/os/Handler;
if-eqz v0, :cond_b
.line 36
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundHandler:Landroid/os/Handler;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacksAndMessages(Ljava/lang/Object;)V
:try_end_b
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_b} :catch_21
.catchall {:try_start_1 .. :try_end_b} :catchall_29
.line 40
:cond_b
const/4 v0, 0x0
:try_start_c
iput-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundHandler:Landroid/os/Handler;
:try_end_e
.catchall {:try_start_c .. :try_end_e} :catchall_26
.line 43
:goto_e
:try_start_e
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
if-eqz v0, :cond_1c
.line 44
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->quit()Z
.line 45
iget-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
invoke-virtual {v0}, Landroid/os/HandlerThread;->interrupt()V
:try_end_1c
.catch Ljava/lang/Exception; {:try_start_e .. :try_end_1c} :catch_2e
.catchall {:try_start_e .. :try_end_1c} :catchall_33
.line 49
:cond_1c
const/4 v0, 0x0
:try_start_1d
iput-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
:try_end_1f
.catchall {:try_start_1d .. :try_end_1f} :catchall_26
.line 51
:goto_1f
monitor-exit p0
return-void
.line 38
:catch_21
move-exception v0
.line 40
const/4 v0, 0x0
:try_start_23
iput-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundHandler:Landroid/os/Handler;
:try_end_25
.catchall {:try_start_23 .. :try_end_25} :catchall_26
goto :goto_e
.line 35
:catchall_26
move-exception v0
monitor-exit p0
throw v0
.line 40
:catchall_29
move-exception v0
const/4 v1, 0x0
:try_start_2b
iput-object v1, p0, Lcom/iwangding/basis/base/a;->mBackgroundHandler:Landroid/os/Handler;
.line 41
throw v0
.line 47
:catch_2e
move-exception v0
.line 49
const/4 v0, 0x0
iput-object v0, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
goto :goto_1f
:catchall_33
move-exception v0
const/4 v1, 0x0
iput-object v1, p0, Lcom/iwangding/basis/base/a;->mBackgroundThread:Landroid/os/HandlerThread;
.line 50
throw v0
:try_end_38
.catchall {:try_start_2b .. :try_end_38} :catchall_26
.end method