LocalVpnService$VpnDisconnectTask.smali
.class Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
.super Ljava/lang/Thread;
.source "LocalVpnService.java"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = "VpnDisconnectTask"
.end annotation
# instance fields
.field private startTime:J
.field final synthetic this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# direct methods
.method private constructor <init>(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)V
.registers 4
.prologue
.line 260
iput-object p1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
invoke-direct {p0}, Ljava/lang/Thread;-><init>()V
.line 262
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v0
iput-wide v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->startTime:J
return-void
.end method
.method synthetic constructor <init>(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Lcom/quickbird/mini/vpn/vpn/LocalVpnService$1;)V
.registers 3
.prologue
.line 260
invoke-direct {p0, p1}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;-><init>(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)V
return-void
.end method
.method private closeFd()V
.registers 4
.prologue
const/4 v2, 0x0
.line 293
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# getter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnFD:Landroid/os/ParcelFileDescriptor;
invoke-static {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$300(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Landroid/os/ParcelFileDescriptor;
move-result-object v0
if-eqz v0, :cond_17
.line 295
:try_start_9
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# getter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnFD:Landroid/os/ParcelFileDescriptor;
invoke-static {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$300(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Landroid/os/ParcelFileDescriptor;
move-result-object v0
invoke-virtual {v0}, Landroid/os/ParcelFileDescriptor;->close()V
:try_end_12
.catch Ljava/io/IOException; {:try_start_9 .. :try_end_12} :catch_18
.catchall {:try_start_9 .. :try_end_12} :catchall_1f
.line 299
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
:goto_14
# setter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnFD:Landroid/os/ParcelFileDescriptor;
invoke-static {v0, v2}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$302(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Landroid/os/ParcelFileDescriptor;)Landroid/os/ParcelFileDescriptor;
.line 302
:cond_17
return-void
.line 296
:catch_18
move-exception v0
.line 297
:try_start_19
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
:try_end_1c
.catchall {:try_start_19 .. :try_end_1c} :catchall_1f
.line 299
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
goto :goto_14
:catchall_1f
move-exception v0
iget-object v1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# setter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnFD:Landroid/os/ParcelFileDescriptor;
invoke-static {v1, v2}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$302(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Landroid/os/ParcelFileDescriptor;)Landroid/os/ParcelFileDescriptor;
throw v0
.end method
# virtual methods
.method public run()V
.registers 7
.prologue
.line 267
:try_start_0
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# getter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-static {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$600(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
move-result-object v0
if-eqz v0, :cond_2f
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# getter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-static {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$600(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
move-result-object v0
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;->isAlive()Z
move-result v0
if-eqz v0, :cond_2f
.line 268
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# getter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-static {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$600(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
move-result-object v0
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;->terminate()V
.line 269
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# getter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-static {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$600(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
move-result-object v0
const-wide/32 v2, 0xea60
invoke-virtual {v0, v2, v3}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;->join(J)V
.line 270
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
const/4 v1, 0x0
# setter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-static {v0, v1}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$602(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;)Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
:try_end_2f
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_2f} :catch_79
.catchall {:try_start_0 .. :try_end_2f} :catchall_8a
.line 275
:cond_2f
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->closeFd()V
.line 276
new-instance v0, Landroid/content/Intent;
const-string v1, "com.dianxinos.optimizer.action.VPN_STOP"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 277
iget-object v1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
:goto_3b
invoke-virtual {v1, v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sendBroadcast(Landroid/content/Intent;)V
.line 280
iget-object v1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
monitor-enter v1
.line 281
:try_start_41
# getter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
invoke-static {}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$700()Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
move-result-object v0
if-eqz v0, :cond_4e
.line 282
# getter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
invoke-static {}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$700()Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
move-result-object v0
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->stopSelf()V
.line 284
:cond_4e
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
const/4 v2, 0x0
# setter for: Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnDisconnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
invoke-static {v0, v2}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->access$802(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;)Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
.line 285
monitor-exit v1
:try_end_55
.catchall {:try_start_41 .. :try_end_55} :catchall_9b
.line 287
sget-boolean v0, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v0, :cond_78
.line 288
const-string v0, "QbSdk"
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Vpn disconnect used time : "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v2
iget-wide v4, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->startTime:J
sub-long/2addr v2, v4
invoke-virtual {v1, v2, v3}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 290
:cond_78
return-void
.line 272
:catch_79
move-exception v0
.line 273
:try_start_7a
invoke-virtual {v0}, Ljava/lang/Exception;->printStackTrace()V
:try_end_7d
.catchall {:try_start_7a .. :try_end_7d} :catchall_8a
.line 275
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->closeFd()V
.line 276
new-instance v0, Landroid/content/Intent;
const-string v1, "com.dianxinos.optimizer.action.VPN_STOP"
invoke-direct {v0, v1}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 277
iget-object v1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
goto :goto_3b
.line 275
:catchall_8a
move-exception v0
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->closeFd()V
.line 276
new-instance v1, Landroid/content/Intent;
const-string v2, "com.dianxinos.optimizer.action.VPN_STOP"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
.line 277
iget-object v2, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->this$0:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
invoke-virtual {v2, v1}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sendBroadcast(Landroid/content/Intent;)V
.line 275
throw v0
.line 285
:catchall_9b
move-exception v0
:try_start_9c
monitor-exit v1
:try_end_9d
.catchall {:try_start_9c .. :try_end_9d} :catchall_9b
throw v0
.end method