LocalVpnService.smali
.class public Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
.super Landroid/net/VpnService;
.source "LocalVpnService.java"
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0xe
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/quickbird/mini/vpn/vpn/LocalVpnService$1;,
Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;,
Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;
}
.end annotation
# static fields
.field public static final ACTION_START_SAFE_VPN:Ljava/lang/String; = "START_SAFE_VPN"
.field public static final ACTION_STOP_SAFE_VPN:Ljava/lang/String; = "STOP_SAFE_VPN"
.field public static CURRENT_TRAFFIC_COUNT:J = 0x0L
.field public static final PAUSE_VPN_ACTION:Ljava/lang/String; = "PAUSE_VPN_ACTION"
.field public static final START_VPN_ACTION:Ljava/lang/String; = "VPN_START_ACTION"
.field public static final STOP_VPN_ACTION:Ljava/lang/String; = "VPN_STOP_ACTION"
.field private static final TAG:Ljava/lang/String; = "QbSdk"
.field private static final TUN_DEVICE_ADDRESS:Ljava/lang/String; = "192.168.19.19"
.field private static final VPN_ROUTE_ADDRESS:Ljava/lang/String; = "0.0.0.0"
.field private static final WATCHDOG_THREAD_JOIN_TIMEOUT:I = 0xea60
.field private static sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
# instance fields
.field private mVpnConnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;
.field private mVpnDisconnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
.field private mVpnFD:Landroid/os/ParcelFileDescriptor;
.field private mVpnMgr:Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
.field private mVpnPaused:Z
.field private mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
# direct methods
.method static constructor <clinit>()V
.registers 2
.prologue
.line 49
const-wide/16 v0, 0x0
sput-wide v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->CURRENT_TRAFFIC_COUNT:J
.line 50
const/4 v0, 0x0
sput-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
return-void
.end method
.method public constructor <init>()V
.registers 2
.prologue
.line 34
invoke-direct {p0}, Landroid/net/VpnService;-><init>()V
.line 55
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnPaused:Z
.line 260
return-void
.end method
.method static synthetic access$200(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
.registers 2
.prologue
.line 34
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnMgr:Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
return-object v0
.end method
.method static synthetic access$300(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Landroid/os/ParcelFileDescriptor;
.registers 2
.prologue
.line 34
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnFD:Landroid/os/ParcelFileDescriptor;
return-object v0
.end method
.method static synthetic access$302(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Landroid/os/ParcelFileDescriptor;)Landroid/os/ParcelFileDescriptor;
.registers 2
.prologue
.line 34
iput-object p1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnFD:Landroid/os/ParcelFileDescriptor;
return-object p1
.end method
.method static synthetic access$400(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)V
.registers 1
.prologue
.line 34
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->waitForWatchdogStart()V
return-void
.end method
.method static synthetic access$502(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;)Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;
.registers 2
.prologue
.line 34
iput-object p1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnConnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;
return-object p1
.end method
.method static synthetic access$600(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;)Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
.registers 2
.prologue
.line 34
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
return-object v0
.end method
.method static synthetic access$602(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;)Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
.registers 2
.prologue
.line 34
iput-object p1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
return-object p1
.end method
.method static synthetic access$700()Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
.registers 1
.prologue
.line 34
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
return-object v0
.end method
.method static synthetic access$802(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;)Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
.registers 2
.prologue
.line 34
iput-object p1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnDisconnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
return-object p1
.end method
.method private declared-synchronized asyncConnect()V
.registers 3
.prologue
.line 125
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnConnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_15
if-eqz v0, :cond_7
.line 131
:goto_5
monitor-exit p0
return-void
.line 129
:cond_7
:try_start_7
new-instance v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;-><init>(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Lcom/quickbird/mini/vpn/vpn/LocalVpnService$1;)V
iput-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnConnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;
.line 130
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnConnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnConnectTask;->start()V
:try_end_14
.catchall {:try_start_7 .. :try_end_14} :catchall_15
goto :goto_5
.line 125
:catchall_15
move-exception v0
monitor-exit p0
throw v0
.end method
.method private declared-synchronized asyncDisconnect()V
.registers 3
.prologue
.line 135
monitor-enter p0
:try_start_1
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnDisconnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_15
if-eqz v0, :cond_7
.line 141
:goto_5
monitor-exit p0
return-void
.line 139
:cond_7
:try_start_7
new-instance v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;-><init>(Lcom/quickbird/mini/vpn/vpn/LocalVpnService;Lcom/quickbird/mini/vpn/vpn/LocalVpnService$1;)V
iput-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnDisconnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
.line 140
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnDisconnectTask:Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService$VpnDisconnectTask;->start()V
:try_end_14
.catchall {:try_start_7 .. :try_end_14} :catchall_15
goto :goto_5
.line 135
:catchall_15
move-exception v0
monitor-exit p0
throw v0
.end method
.method public static getInstance()Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
.registers 1
.prologue
.line 120
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
return-object v0
.end method
.method public static isVpnConnected(Landroid/content/Context;)Z
.registers 3
.prologue
const/4 v0, 0x0
.line 182
sget-object v1, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
if-nez v1, :cond_6
.line 190
:cond_5
:goto_5
return v0
.line 186
:cond_6
sget-object v1, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
iget-object v1, v1, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
if-eqz v1, :cond_5
.line 190
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
iget-object v0, v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;->isUP()Z
move-result v0
goto :goto_5
.end method
.method public static isVpnPaused()Z
.registers 1
.prologue
.line 195
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
if-nez v0, :cond_6
.line 196
const/4 v0, 0x0
.line 198
:goto_5
return v0
:cond_6
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
iget-boolean v0, v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnPaused:Z
goto :goto_5
.end method
.method private onStartVpn()V
.registers 2
.prologue
.line 163
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnMgr:Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;->isQbVpnOpened()Z
move-result v0
.line 164
if-eqz v0, :cond_b
.line 165
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnPaused:Z
.line 167
:cond_b
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
iget-object v0, v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
if-eqz v0, :cond_1b
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
iget-object v0, v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;->isUP()Z
move-result v0
if-nez v0, :cond_1e
.line 168
:cond_1b
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->asyncConnect()V
.line 170
:cond_1e
return-void
.end method
.method private onStopVpn()V
.registers 5
.prologue
const/4 v1, 0x1
const/4 v2, 0x0
.line 151
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnMgr:Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;->isQbVpnOpened()Z
move-result v0
if-nez v0, :cond_1f
move v0, v1
.line 152
:goto_b
iget-object v3, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnMgr:Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
invoke-virtual {v3}, Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;->isSafeVpnOpened()Z
move-result v3
if-nez v3, :cond_21
.line 153
:goto_13
if-eqz v0, :cond_17
.line 154
iput-boolean v2, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnPaused:Z
.line 156
:cond_17
if-eqz v0, :cond_1e
if-eqz v1, :cond_1e
.line 157
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->asyncDisconnect()V
.line 159
:cond_1e
return-void
:cond_1f
move v0, v2
.line 151
goto :goto_b
:cond_21
move v1, v2
.line 152
goto :goto_13
.end method
.method public static protectSocket(I)Z
.registers 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.prologue
.line 145
invoke-static {}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->getInstance()Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
move-result-object v0
if-nez v0, :cond_8
const/4 v0, 0x0
.line 146
:goto_7
return v0
:cond_8
invoke-static {}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->getInstance()Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
move-result-object v0
invoke-virtual {v0, p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->protect(I)Z
move-result v0
goto :goto_7
.end method
.method private waitForWatchdogStart()V
.registers 3
.prologue
.line 204
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
if-eqz v0, :cond_c
.line 205
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;->terminate()V
.line 206
const/4 v0, 0x0
iput-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
.line 208
:cond_c
new-instance v0, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
iget-object v1, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnFD:Landroid/os/ParcelFileDescriptor;
invoke-direct {v0, p0, v1}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;-><init>(Landroid/content/Context;Landroid/os/ParcelFileDescriptor;)V
iput-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
.line 209
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;->start()V
.line 210
return-void
.end method
# virtual methods
.method public onCreate()V
.registers 2
.prologue
.line 108
invoke-super {p0}, Landroid/net/VpnService;->onCreate()V
.line 109
sput-object p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
.line 110
invoke-virtual {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->getApplication()Landroid/app/Application;
move-result-object v0
invoke-static {v0}, Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;->getInstance(Landroid/content/Context;)Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
move-result-object v0
iput-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnMgr:Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
.line 111
return-void
.end method
.method public onDestroy()V
.registers 1
.prologue
.line 115
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->onStopVpn()V
.line 116
return-void
.end method
.method public onPauseVpn()V
.registers 2
.prologue
.line 173
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnPaused:Z
.line 174
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
iget-object v0, v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
if-eqz v0, :cond_13
sget-object v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->sIntance:Lcom/quickbird/mini/vpn/vpn/LocalVpnService;
iget-object v0, v0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mWatchdogThread:Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnWatchdogThread;->isUP()Z
move-result v0
if-nez v0, :cond_16
.line 175
:cond_13
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->asyncConnect()V
.line 177
:cond_16
return-void
.end method
.method public onRevoke()V
.registers 3
.prologue
.line 64
invoke-super {p0}, Landroid/net/VpnService;->onRevoke()V
.line 66
sget-boolean v0, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v0, :cond_e
.line 67
const-string v0, "QbSdk"
const-string v1, "Vpn deactivated by system."
invoke-static {v0, v1}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 71
:cond_e
iget-object v0, p0, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->mVpnMgr:Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;
invoke-virtual {v0}, Lcom/quickbird/mini/vpn/vpn/VpnServiceManager;->onVpnDisconnect()V
.line 72
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->onStopVpn()V
.line 73
return-void
.end method
.method public onStartCommand(Landroid/content/Intent;II)I
.registers 6
.prologue
.line 78
const/4 v0, 0x0
.line 79
if-eqz p1, :cond_7
.line 80
invoke-virtual {p1}, Landroid/content/Intent;->getAction()Ljava/lang/String;
move-result-object v0
.line 82
:cond_7
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_12
.line 83
invoke-super {p0, p1, p2, p3}, Landroid/net/VpnService;->onStartCommand(Landroid/content/Intent;II)I
move-result v0
.line 103
:goto_11
return v0
.line 86
:cond_12
const-string v1, "VPN_START_ACTION"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_2d
.line 87
sget-boolean v0, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v0, :cond_25
const-string v0, "QbSdk"
const-string v1, "Local vpn service : start vpn action."
invoke-static {v0, v1}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 88
:cond_25
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->onStartVpn()V
.line 103
:cond_28
:goto_28
invoke-super {p0, p1, p2, p3}, Landroid/net/VpnService;->onStartCommand(Landroid/content/Intent;II)I
move-result v0
goto :goto_11
.line 89
:cond_2d
const-string v1, "VPN_STOP_ACTION"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_44
.line 90
sget-boolean v0, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v0, :cond_40
const-string v0, "QbSdk"
const-string v1, "Local vpn service : stop vpn action."
invoke-static {v0, v1}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 91
:cond_40
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->onStopVpn()V
goto :goto_28
.line 92
:cond_44
const-string v1, "PAUSE_VPN_ACTION"
invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_5b
.line 93
sget-boolean v0, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v0, :cond_57
const-string v0, "QbSdk"
const-string v1, "Local vpn service : pause vpn action."
invoke-static {v0, v1}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 94
:cond_57
invoke-virtual {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->onPauseVpn()V
goto :goto_28
.line 95
:cond_5b
const-string v1, "START_SAFE_VPN"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1, :cond_72
.line 96
sget-boolean v0, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v0, :cond_6e
const-string v0, "QbSdk"
const-string v1, "Local vpn service : start safe vpn"
invoke-static {v0, v1}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 97
:cond_6e
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->onStartVpn()V
goto :goto_28
.line 98
:cond_72
const-string v1, "STOP_SAFE_VPN"
invoke-virtual {v1, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_28
.line 99
sget-boolean v0, Lcom/quickbird/sdk/QuickBird;->SDK_DEBUG:Z
if-eqz v0, :cond_85
const-string v0, "QbSdk"
const-string v1, "Local vpn service : stop safe vpn"
invoke-static {v0, v1}, Lcom/quickbird/sdk/utils/QBLogger;->d(Ljava/lang/String;Ljava/lang/String;)V
.line 100
:cond_85
invoke-direct {p0}, Lcom/quickbird/mini/vpn/vpn/LocalVpnService;->onStopVpn()V
goto :goto_28
.end method