public class android.net.VpnService$Builder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.net.VpnService$Builder
super_class: java.lang.Object
{
private final com.android.internal.net.VpnConfig mConfig;
descriptor: Lcom/android/internal/net/VpnConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<android.net.LinkAddress> mAddresses;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Landroid/net/LinkAddress;>;
private final java.util.List<android.net.RouteInfo> mRoutes;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Landroid/net/RouteInfo;>;
final android.net.VpnService this$0;
descriptor: Landroid/net/VpnService;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(android.net.VpnService);
descriptor: (Landroid/net/VpnService;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield android.net.VpnService$Builder.this$0:Landroid/net/VpnService;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new com.android.internal.net.VpnConfig
dup
invokespecial com.android.internal.net.VpnConfig.<init>:()V
putfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.net.VpnService$Builder.mAddresses:Ljava/util/List;
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.net.VpnService$Builder.mRoutes:Ljava/util/List;
4: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
putfield com.android.internal.net.VpnConfig.user:Ljava/lang/String;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/net/VpnService$Builder;
MethodParameters:
Name Flags
this$0 final
public android.net.VpnService$Builder setSession(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
aload 1
putfield com.android.internal.net.VpnConfig.session:Ljava/lang/String;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/VpnService$Builder;
0 2 1 session Ljava/lang/String;
MethodParameters:
Name Flags
session
public android.net.VpnService$Builder setConfigureIntent(android.app.PendingIntent);
descriptor: (Landroid/app/PendingIntent;)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
aload 1
putfield com.android.internal.net.VpnConfig.configureIntent:Landroid/app/PendingIntent;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/VpnService$Builder;
0 2 1 intent Landroid/app/PendingIntent;
MethodParameters:
Name Flags
intent
public android.net.VpnService$Builder setMtu(int);
descriptor: (I)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifgt 2
1: new java.lang.IllegalArgumentException
dup
ldc "Bad mtu"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
iload 1
putfield com.android.internal.net.VpnConfig.mtu:I
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/net/VpnService$Builder;
0 4 1 mtu I
MethodParameters:
Name Flags
mtu
public android.net.VpnService$Builder addAddress(java.net.InetAddress, int);
descriptor: (Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic android.net.VpnService.check:(Ljava/net/InetAddress;I)V
1: aload 1
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 3
2: new java.lang.IllegalArgumentException
dup
ldc "Bad address"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield android.net.VpnService$Builder.mAddresses:Ljava/util/List;
new android.net.LinkAddress
dup
aload 1
iload 2
invokespecial android.net.LinkAddress.<init>:(Ljava/net/InetAddress;I)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
4: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
aload 1
invokevirtual com.android.internal.net.VpnConfig.updateAllowedFamilies:(Ljava/net/InetAddress;)V
5: aload 0
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/net/VpnService$Builder;
0 6 1 address Ljava/net/InetAddress;
0 6 2 prefixLength I
MethodParameters:
Name Flags
address
prefixLength
public android.net.VpnService$Builder addAddress(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tThe method parseNumericAddress(String) is undefined for the type InetAddress\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/net/VpnService$Builder;
MethodParameters:
Name Flags
address
prefixLength
public android.net.VpnService$Builder addRoute(java.net.InetAddress, int);
descriptor: (Ljava/net/InetAddress;I)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic android.net.VpnService.check:(Ljava/net/InetAddress;I)V
1: iload 2
bipush 8
idiv
istore 3
start local 3 2: aload 1
invokevirtual java.net.InetAddress.getAddress:()[B
astore 4
start local 4 3: iload 3
aload 4
arraylength
if_icmpge 9
4: aload 4
iload 3
dup2
baload
iload 2
bipush 8
irem
ishl
i2b
bastore
goto 8
5: StackMap locals: int byte[]
StackMap stack:
aload 4
iload 3
baload
ifeq 7
6: new java.lang.IllegalArgumentException
dup
ldc "Bad address"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
aload 4
arraylength
if_icmplt 5
9: StackMap locals:
StackMap stack:
aload 0
getfield android.net.VpnService$Builder.mRoutes:Ljava/util/List;
new android.net.RouteInfo
dup
new android.net.IpPrefix
dup
aload 1
iload 2
invokespecial android.net.IpPrefix.<init>:(Ljava/net/InetAddress;I)V
aconst_null
invokespecial android.net.RouteInfo.<init>:(Landroid/net/IpPrefix;Ljava/net/InetAddress;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
aload 1
invokevirtual com.android.internal.net.VpnConfig.updateAllowedFamilies:(Ljava/net/InetAddress;)V
11: aload 0
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/net/VpnService$Builder;
0 12 1 address Ljava/net/InetAddress;
0 12 2 prefixLength I
2 12 3 offset I
3 12 4 bytes [B
MethodParameters:
Name Flags
address
prefixLength
public android.net.VpnService$Builder addRoute(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tThe method parseNumericAddress(String) is undefined for the type InetAddress\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/net/VpnService$Builder;
MethodParameters:
Name Flags
address
prefixLength
public android.net.VpnService$Builder addDnsServer(java.net.InetAddress);
descriptor: (Ljava/net/InetAddress;)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.net.InetAddress.isLoopbackAddress:()Z
ifne 1
aload 1
invokevirtual java.net.InetAddress.isAnyLocalAddress:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Bad address"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.dnsServers:Ljava/util/List;
ifnonnull 4
3: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.net.VpnConfig.dnsServers:Ljava/util/List;
4: StackMap locals:
StackMap stack:
aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.dnsServers:Ljava/util/List;
aload 1
invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
5: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/net/VpnService$Builder;
0 6 1 address Ljava/net/InetAddress;
MethodParameters:
Name Flags
address
public android.net.VpnService$Builder addDnsServer(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tThe method parseNumericAddress(String) is undefined for the type InetAddress\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/net/VpnService$Builder;
MethodParameters:
Name Flags
address
public android.net.VpnService$Builder addSearchDomain(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.searchDomains:Ljava/util/List;
ifnonnull 2
1: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.net.VpnConfig.searchDomains:Ljava/util/List;
2: StackMap locals:
StackMap stack:
aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.searchDomains:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/net/VpnService$Builder;
0 4 1 domain Ljava/lang/String;
MethodParameters:
Name Flags
domain
public android.net.VpnService$Builder allowFamily(int);
descriptor: (I)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tAF_INET cannot be resolved to a variable\n\tAF_INET6 cannot be resolved to a variable\n\tAF_INET cannot be resolved to a variable\n\tAF_INET6 cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/net/VpnService$Builder;
MethodParameters:
Name Flags
family
private void verifyApp(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: ldc "package"
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
1: invokestatic android.content.pm.IPackageManager$Stub.asInterface:(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
astore 2
start local 2 2: aload 2
aload 1
iconst_0
invokestatic android.os.UserHandle.getCallingUserId:()I
invokeinterface android.content.pm.IPackageManager.getApplicationInfo:(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
pop
3: goto 6
StackMap locals: android.net.VpnService$Builder java.lang.String android.content.pm.IPackageManager
StackMap stack: android.os.RemoteException
4: astore 3
start local 3 5: new java.lang.IllegalStateException
dup
aload 3
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/net/VpnService$Builder;
0 7 1 packageName Ljava/lang/String;
2 7 2 pm Landroid/content/pm/IPackageManager;
5 6 3 e Landroid/os/RemoteException;
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
Exceptions:
throws android.content.pm.PackageManager$NameNotFoundException
MethodParameters:
Name Flags
packageName
public android.net.VpnService$Builder addAllowedApplication(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.disallowedApplications:Ljava/util/List;
ifnull 2
1: new java.lang.UnsupportedOperationException
dup
ldc "addDisallowedApplication already called"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.net.VpnService$Builder.verifyApp:(Ljava/lang/String;)V
3: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.allowedApplications:Ljava/util/List;
ifnonnull 5
4: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.net.VpnConfig.allowedApplications:Ljava/util/List;
5: StackMap locals:
StackMap stack:
aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.allowedApplications:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/net/VpnService$Builder;
0 7 1 packageName Ljava/lang/String;
Exceptions:
throws android.content.pm.PackageManager$NameNotFoundException
MethodParameters:
Name Flags
packageName
public android.net.VpnService$Builder addDisallowedApplication(java.lang.String);
descriptor: (Ljava/lang/String;)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.allowedApplications:Ljava/util/List;
ifnull 2
1: new java.lang.UnsupportedOperationException
dup
ldc "addAllowedApplication already called"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual android.net.VpnService$Builder.verifyApp:(Ljava/lang/String;)V
3: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.disallowedApplications:Ljava/util/List;
ifnonnull 5
4: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.android.internal.net.VpnConfig.disallowedApplications:Ljava/util/List;
5: StackMap locals:
StackMap stack:
aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
getfield com.android.internal.net.VpnConfig.disallowedApplications:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/net/VpnService$Builder;
0 7 1 packageName Ljava/lang/String;
Exceptions:
throws android.content.pm.PackageManager$NameNotFoundException
MethodParameters:
Name Flags
packageName
public android.net.VpnService$Builder allowBypass();
descriptor: ()Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
iconst_1
putfield com.android.internal.net.VpnConfig.allowBypass:Z
1: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/VpnService$Builder;
public android.net.VpnService$Builder setBlocking(boolean);
descriptor: (Z)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
iload 1
putfield com.android.internal.net.VpnConfig.blocking:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/net/VpnService$Builder;
0 2 1 blocking Z
MethodParameters:
Name Flags
blocking
public android.net.VpnService$Builder setUnderlyingNetworks(android.net.Network[]);
descriptor: ([Landroid/net/Network;)Landroid/net/VpnService$Builder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
aload 1
ifnull 1
aload 1
invokevirtual android.net.Network[].clone:()Ljava/lang/Object;
checkcast android.net.Network[]
goto 2
StackMap locals:
StackMap stack: com.android.internal.net.VpnConfig
1: aconst_null
StackMap locals: android.net.VpnService$Builder android.net.Network[]
StackMap stack: com.android.internal.net.VpnConfig android.net.Network[]
2: putfield com.android.internal.net.VpnConfig.underlyingNetworks:[Landroid/net/Network;
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/net/VpnService$Builder;
0 4 1 networks [Landroid/net/Network;
MethodParameters:
Name Flags
networks
public android.os.ParcelFileDescriptor establish();
descriptor: ()Landroid/os/ParcelFileDescriptor;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
aload 0
getfield android.net.VpnService$Builder.mAddresses:Ljava/util/List;
putfield com.android.internal.net.VpnConfig.addresses:Ljava/util/List;
1: aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
aload 0
getfield android.net.VpnService$Builder.mRoutes:Ljava/util/List;
putfield com.android.internal.net.VpnConfig.routes:Ljava/util/List;
2: invokestatic android.net.VpnService.getService:()Landroid/net/IConnectivityManager;
aload 0
getfield android.net.VpnService$Builder.mConfig:Lcom/android/internal/net/VpnConfig;
invokeinterface android.net.IConnectivityManager.establishVpn:(Lcom/android/internal/net/VpnConfig;)Landroid/os/ParcelFileDescriptor;
3: areturn
4: StackMap locals:
StackMap stack: android.os.RemoteException
astore 1
start local 1 5: new java.lang.IllegalStateException
dup
aload 1
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/net/VpnService$Builder;
5 6 1 e Landroid/os/RemoteException;
Exception table:
from to target type
2 3 4 Class android.os.RemoteException
}
SourceFile: "VpnService.java"
NestHost: android.net.VpnService
InnerClasses:
public abstract Stub = android.content.pm.IPackageManager$Stub of android.content.pm.IPackageManager
public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
public Builder = android.net.VpnService$Builder of android.net.VpnService