public final class android.webkit.WebViewFactory
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.webkit.WebViewFactory
super_class: java.lang.Object
{
private static final java.lang.String CHROMIUM_WEBVIEW_FACTORY;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.webview.chromium.WebViewChromiumFactoryProviderForP"
private static final java.lang.String CHROMIUM_WEBVIEW_FACTORY_METHOD;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "create"
public static final java.lang.String CHROMIUM_WEBVIEW_VMSIZE_SIZE_PROPERTY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "persist.sys.webview.vmsize"
private static final java.lang.String LOGTAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "WebViewFactory"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static android.webkit.WebViewFactoryProvider sProviderInstance;
descriptor: Landroid/webkit/WebViewFactoryProvider;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.lang.Object sProviderLock;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static android.content.pm.PackageInfo sPackageInfo;
descriptor: Landroid/content/pm/PackageInfo;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.Boolean sWebViewSupported;
descriptor: Ljava/lang/Boolean;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean sWebViewDisabled;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String sDataDirectorySuffix;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
public static final int LIBLOAD_SUCCESS;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int LIBLOAD_WRONG_PACKAGE_NAME;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int LIBLOAD_FAILED_JNI_CALL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static java.lang.String WEBVIEW_UPDATE_SERVICE_NAME;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic android.webkit.WebViewFactory.sProviderLock:Ljava/lang/Object;
1: ldc "webviewupdate"
putstatic android.webkit.WebViewFactory.WEBVIEW_UPDATE_SERVICE_NAME:Ljava/lang/String;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/webkit/WebViewFactory;
private static java.lang.String getWebViewPreparationErrorReason(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
tableswitch { // 3 - 8
3: 1
4: 2
5: 4
6: 4
7: 4
8: 3
default: 4
}
1: StackMap locals:
StackMap stack:
ldc "Time out waiting for Relro files being created"
areturn
2: StackMap locals:
StackMap stack:
ldc "No WebView installed"
areturn
3: StackMap locals:
StackMap stack:
ldc "Crashed for unknown reason"
areturn
4: StackMap locals:
StackMap stack:
ldc "Unknown"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 error I
MethodParameters:
Name Flags
error
private static boolean isWebViewSupported();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic android.webkit.WebViewFactory.sWebViewSupported:Ljava/lang/Boolean;
ifnonnull 4
1: invokestatic android.app.AppGlobals.getInitialApplication:()Landroid/app/Application;
invokevirtual android.app.Application.getPackageManager:()Landroid/content/pm/PackageManager;
2: ldc "android.software.webview"
invokevirtual android.content.pm.PackageManager.hasSystemFeature:(Ljava/lang/String;)Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
3: putstatic android.webkit.WebViewFactory.sWebViewSupported:Ljava/lang/Boolean;
4: StackMap locals:
StackMap stack:
getstatic android.webkit.WebViewFactory.sWebViewSupported:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
static void disableWebView();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: getstatic android.webkit.WebViewFactory.sProviderLock:Ljava/lang/Object;
dup
astore 0
monitorenter
1: getstatic android.webkit.WebViewFactory.sProviderInstance:Landroid/webkit/WebViewFactoryProvider;
ifnull 5
2: new java.lang.IllegalStateException
dup
3: ldc "Can't disable WebView: WebView already initialized"
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
iconst_1
putstatic android.webkit.WebViewFactory.sWebViewDisabled:Z
6: aload 0
monitorexit
7: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
8: aload 0
monitorexit
9: athrow
10: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 7 8 any
8 9 8 any
static void setDataDirectorySuffix(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: getstatic android.webkit.WebViewFactory.sProviderLock:Ljava/lang/Object;
dup
astore 1
monitorenter
1: getstatic android.webkit.WebViewFactory.sProviderInstance:Landroid/webkit/WebViewFactoryProvider;
ifnull 5
2: new java.lang.IllegalStateException
dup
3: ldc "Can't set data directory suffix: WebView already initialized"
4: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.indexOf:(I)I
iflt 9
6: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Suffix "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " contains a path separator"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 0
putstatic android.webkit.WebViewFactory.sDataDirectorySuffix:Ljava/lang/String;
10: aload 1
monitorexit
11: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
12: aload 1
monitorexit
13: athrow
14: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 suffix Ljava/lang/String;
Exception table:
from to target type
1 11 12 any
12 13 12 any
MethodParameters:
Name Flags
suffix
static java.lang.String getDataDirectorySuffix();
descriptor: ()Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic android.webkit.WebViewFactory.sProviderLock:Ljava/lang/Object;
dup
astore 0
monitorenter
1: getstatic android.webkit.WebViewFactory.sDataDirectorySuffix:Ljava/lang/String;
aload 0
monitorexit
2: areturn
3: StackMap locals: java.lang.Object
StackMap stack: java.lang.Throwable
aload 0
monitorexit
4: athrow
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 2 3 any
3 4 3 any
public static java.lang.String getWebViewLibrary(android.content.pm.ApplicationInfo);
descriptor: (Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.content.pm.ApplicationInfo.metaData:Landroid/os/Bundle;
ifnull 2
1: aload 0
getfield android.content.pm.ApplicationInfo.metaData:Landroid/os/Bundle;
ldc "com.android.webview.WebViewLibrary"
invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 ai Landroid/content/pm/ApplicationInfo;
MethodParameters:
Name Flags
ai
public static android.content.pm.PackageInfo getLoadedPackageInfo();
descriptor: ()Landroid/content/pm/PackageInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic android.webkit.WebViewFactory.sProviderLock:Ljava/lang/Object;
dup
astore 0
monitorenter
1: getstatic android.webkit.WebViewFactory.sPackageInfo:Landroid/content/pm/PackageInfo;
aload 0
monitorexit
2: areturn
3: StackMap locals: java.lang.Object
StackMap stack: java.lang.Throwable
aload 0
monitorexit
4: athrow
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 2 3 any
3 4 3 any
public static java.lang.Class<android.webkit.WebViewFactoryProvider> getWebViewProviderClass(java.lang.ClassLoader);
descriptor: (Ljava/lang/ClassLoader;)Ljava/lang/Class;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "com.android.webview.chromium.WebViewChromiumFactoryProviderForP"
1: iconst_1
aload 0
2: invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 clazzLoader Ljava/lang/ClassLoader;
Exceptions:
throws java.lang.ClassNotFoundException
Signature: (Ljava/lang/ClassLoader;)Ljava/lang/Class<Landroid/webkit/WebViewFactoryProvider;>;
MethodParameters:
Name Flags
clazzLoader
public static int loadWebViewNativeLibraryFromPackage(java.lang.String, java.lang.ClassLoader);
descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: invokestatic android.webkit.WebViewFactory.isWebViewSupported:()Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 2
start local 2 3: invokestatic android.webkit.WebViewFactory.getUpdateService:()Landroid/webkit/IWebViewUpdateService;
invokeinterface android.webkit.IWebViewUpdateService.waitForAndGetProvider:()Landroid/webkit/WebViewProviderResponse;
astore 2
4: goto 8
StackMap locals: java.lang.String java.lang.ClassLoader android.webkit.WebViewProviderResponse
StackMap stack: android.os.RemoteException
5: astore 3
start local 3 6: ldc "WebViewFactory"
ldc "error waiting for relro creation"
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
7: bipush 8
ireturn
end local 3 8: StackMap locals:
StackMap stack:
aload 2
getfield android.webkit.WebViewProviderResponse.status:I
ifeq 11
9: aload 2
getfield android.webkit.WebViewProviderResponse.status:I
iconst_3
if_icmpeq 11
10: aload 2
getfield android.webkit.WebViewProviderResponse.status:I
ireturn
11: StackMap locals:
StackMap stack:
aload 2
getfield android.webkit.WebViewProviderResponse.packageInfo:Landroid/content/pm/PackageInfo;
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
12: iconst_1
ireturn
13: StackMap locals:
StackMap stack:
invokestatic android.app.AppGlobals.getInitialApplication:()Landroid/app/Application;
invokevirtual android.app.Application.getPackageManager:()Landroid/content/pm/PackageManager;
astore 3
start local 3 14: aload 3
aload 0
15: ldc 268435584
16: invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
astore 5
start local 5 17: aload 5
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
invokestatic android.webkit.WebViewFactory.getWebViewLibrary:(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
astore 4
end local 5 start local 4 18: goto 22
end local 4 StackMap locals: java.lang.String java.lang.ClassLoader android.webkit.WebViewProviderResponse android.content.pm.PackageManager
StackMap stack: android.content.pm.PackageManager$NameNotFoundException
19: pop
20: ldc "WebViewFactory"
new java.lang.StringBuilder
dup
ldc "Couldn't find package "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
21: iconst_1
ireturn
start local 4 22: StackMap locals: java.lang.String
StackMap stack:
aload 1
aload 4
invokestatic android.webkit.WebViewLibraryLoader.loadNativeLibrary:(Ljava/lang/ClassLoader;Ljava/lang/String;)I
istore 5
start local 5 23: iload 5
ifne 24
aload 2
getfield android.webkit.WebViewProviderResponse.status:I
ireturn
24: StackMap locals: int
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 packageName Ljava/lang/String;
0 25 1 clazzLoader Ljava/lang/ClassLoader;
3 25 2 response Landroid/webkit/WebViewProviderResponse;
6 8 3 e Landroid/os/RemoteException;
14 25 3 packageManager Landroid/content/pm/PackageManager;
18 19 4 libraryFileName Ljava/lang/String;
22 25 4 libraryFileName Ljava/lang/String;
17 18 5 packageInfo Landroid/content/pm/PackageInfo;
23 25 5 loadNativeRet I
Exception table:
from to target type
3 4 5 Class android.os.RemoteException
14 18 19 Class android.content.pm.PackageManager$NameNotFoundException
MethodParameters:
Name Flags
packageName
clazzLoader
static android.webkit.WebViewFactoryProvider getProvider();
descriptor: ()Landroid/webkit/WebViewFactoryProvider;
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=8, args_size=0
0: getstatic android.webkit.WebViewFactory.sProviderLock:Ljava/lang/Object;
dup
astore 0
monitorenter
1: getstatic android.webkit.WebViewFactory.sProviderInstance:Landroid/webkit/WebViewFactoryProvider;
ifnull 3
getstatic android.webkit.WebViewFactory.sProviderInstance:Landroid/webkit/WebViewFactoryProvider;
aload 0
monitorexit
2: areturn
3: StackMap locals: java.lang.Object
StackMap stack:
invokestatic android.os.Process.myUid:()I
istore 1
start local 1 4: iload 1
ifeq 7
iload 1
sipush 1000
if_icmpeq 7
5: iload 1
sipush 1001
if_icmpeq 7
iload 1
sipush 1027
if_icmpeq 7
6: iload 1
sipush 1002
if_icmpne 10
7: StackMap locals: int
StackMap stack:
new java.lang.UnsupportedOperationException
dup
8: ldc "For security reasons, WebView is not allowed in privileged processes"
9: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
invokestatic android.webkit.WebViewFactory.isWebViewSupported:()Z
ifne 12
11: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
getstatic android.webkit.WebViewFactory.sWebViewDisabled:Z
ifeq 16
13: new java.lang.IllegalStateException
dup
14: ldc "WebView.disableWebView() was called: WebView is disabled"
15: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
ldc 16
ldc "WebViewFactory.getProvider()"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
17: invokestatic android.webkit.WebViewFactory.getProviderClass:()Ljava/lang/Class;
astore 2
start local 2 18: aconst_null
astore 3
start local 3 19: aload 2
20: ldc "create"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Landroid/webkit/WebViewDelegate;
aastore
21: invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
22: goto 24
StackMap locals: java.lang.Object int java.lang.Class java.lang.reflect.Method
StackMap stack: java.lang.Exception
23: astore 4
24: StackMap locals:
StackMap stack:
ldc 16
ldc "WebViewFactoryProvider invocation"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
25: aload 3
aconst_null
iconst_1
anewarray java.lang.Object
dup
iconst_0
new android.webkit.WebViewDelegate
dup
invokespecial android.webkit.WebViewDelegate.<init>:()V
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
26: checkcast android.webkit.WebViewFactoryProvider
putstatic android.webkit.WebViewFactory.sProviderInstance:Landroid/webkit/WebViewFactoryProvider;
27: getstatic android.webkit.WebViewFactory.sProviderInstance:Landroid/webkit/WebViewFactoryProvider;
astore 6
28: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
29: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
30: aload 0
monitorexit
31: aload 6
areturn
32: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 33: ldc "WebViewFactory"
ldc "error instantiating provider"
aload 4
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
34: new android.util.AndroidRuntimeException
dup
aload 4
invokespecial android.util.AndroidRuntimeException.<init>:(Ljava/lang/Exception;)V
athrow
end local 4 35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
36: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
37: aload 5
athrow
end local 3 end local 2 38: StackMap locals: java.lang.Object int
StackMap stack: java.lang.Throwable
astore 7
39: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
40: aload 7
athrow
end local 1 41: StackMap locals: java.lang.Object
StackMap stack: java.lang.Throwable
aload 0
monitorexit
42: athrow
LocalVariableTable:
Start End Slot Name Signature
4 41 1 uid I
18 38 2 providerClass Ljava/lang/Class<Landroid/webkit/WebViewFactoryProvider;>;
19 38 3 staticFactory Ljava/lang/reflect/Method;
33 35 4 e Ljava/lang/Exception;
Exception table:
from to target type
19 22 23 Class java.lang.Exception
25 28 32 Class java.lang.Exception
25 28 35 any
32 35 35 any
17 29 38 any
32 38 38 any
1 2 41 any
3 31 41 any
32 42 41 any
private static boolean signaturesEquals(android.content.pm.Signature[], android.content.pm.Signature[]);
descriptor: ([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 3
1: aload 1
ifnonnull 2
iconst_1
ireturn
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
iconst_0
ireturn
4: StackMap locals:
StackMap stack:
new android.util.ArraySet
dup
invokespecial android.util.ArraySet.<init>:()V
astore 2
start local 2 5: aload 0
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: android.content.pm.Signature[] android.content.pm.Signature[] android.util.ArraySet top int int android.content.pm.Signature[]
StackMap stack:
6: aload 6
iload 4
aaload
astore 3
start local 3 7: aload 2
aload 3
invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
pop
end local 3 8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 5
if_icmplt 6
10: new android.util.ArraySet
dup
invokespecial android.util.ArraySet.<init>:()V
astore 3
start local 3 11: aload 1
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 15
StackMap locals: android.content.pm.Signature[] android.content.pm.Signature[] android.util.ArraySet android.util.ArraySet top int int android.content.pm.Signature[]
StackMap stack:
12: aload 7
iload 5
aaload
astore 4
start local 4 13: aload 3
aload 4
invokevirtual android.util.ArraySet.add:(Ljava/lang/Object;)Z
pop
end local 4 14: iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 12
16: aload 2
aload 3
invokevirtual android.util.ArraySet.equals:(Ljava/lang/Object;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 s1 [Landroid/content/pm/Signature;
0 17 1 s2 [Landroid/content/pm/Signature;
5 17 2 set1 Landroid/util/ArraySet<Landroid/content/pm/Signature;>;
7 8 3 signature Landroid/content/pm/Signature;
11 17 3 set2 Landroid/util/ArraySet<Landroid/content/pm/Signature;>;
13 14 4 signature Landroid/content/pm/Signature;
MethodParameters:
Name Flags
s1
s2
private static void verifyPackageInfo(android.content.pm.PackageInfo, android.content.pm.PackageInfo);
descriptor: (Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
aload 1
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
1: new android.webkit.WebViewFactory$MissingWebViewPackageException
dup
new java.lang.StringBuilder
dup
ldc "Failed to verify WebView provider, packageName mismatch, expected: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " actual: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial android.webkit.WebViewFactory$MissingWebViewPackageException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.content.pm.PackageInfo.getLongVersionCode:()J
aload 1
invokevirtual android.content.pm.PackageInfo.getLongVersionCode:()J
lcmp
ifle 9
5: new android.webkit.WebViewFactory$MissingWebViewPackageException
dup
new java.lang.StringBuilder
dup
ldc "Failed to verify WebView provider, version code is lower than expected: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: aload 0
invokevirtual android.content.pm.PackageInfo.getLongVersionCode:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
7: ldc " actual: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual android.content.pm.PackageInfo.getLongVersionCode:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial android.webkit.WebViewFactory$MissingWebViewPackageException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
aload 1
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
invokestatic android.webkit.WebViewFactory.getWebViewLibrary:(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
ifnonnull 13
10: new android.webkit.WebViewFactory$MissingWebViewPackageException
dup
new java.lang.StringBuilder
dup
ldc "Tried to load an invalid WebView provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 1
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial android.webkit.WebViewFactory$MissingWebViewPackageException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield android.content.pm.PackageInfo.signatures:[Landroid/content/pm/Signature;
aload 1
getfield android.content.pm.PackageInfo.signatures:[Landroid/content/pm/Signature;
invokestatic android.webkit.WebViewFactory.signaturesEquals:([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
ifne 15
14: new android.webkit.WebViewFactory$MissingWebViewPackageException
dup
ldc "Failed to verify WebView provider, signature mismatch"
invokespecial android.webkit.WebViewFactory$MissingWebViewPackageException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 chosen Landroid/content/pm/PackageInfo;
0 16 1 toUse Landroid/content/pm/PackageInfo;
Exceptions:
throws android.webkit.WebViewFactory$MissingWebViewPackageException
MethodParameters:
Name Flags
chosen
toUse
private static void fixupStubApplicationInfo(android.content.pm.ApplicationInfo, android.content.pm.PackageManager);
descriptor: (Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManager;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield android.content.pm.ApplicationInfo.metaData:Landroid/os/Bundle;
ifnull 3
2: aload 0
getfield android.content.pm.ApplicationInfo.metaData:Landroid/os/Bundle;
ldc "com.android.webview.WebViewDonorPackage"
invokevirtual android.os.Bundle.getString:(Ljava/lang/String;)Ljava/lang/String;
astore 2
3: StackMap locals: java.lang.String
StackMap stack:
aload 2
ifnull 20
4: aload 1
5: aload 2
6: ldc 270541824
7: invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
astore 3
start local 3 8: goto 13
end local 3 StackMap locals:
StackMap stack: android.content.pm.PackageManager$NameNotFoundException
9: pop
10: new android.webkit.WebViewFactory$MissingWebViewPackageException
dup
new java.lang.StringBuilder
dup
ldc "Failed to find donor package: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
11: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial android.webkit.WebViewFactory$MissingWebViewPackageException.<init>:(Ljava/lang/String;)V
athrow
start local 3 13: StackMap locals: android.content.pm.PackageInfo
StackMap stack:
aload 3
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
astore 4
start local 4 14: aload 0
aload 4
getfield android.content.pm.ApplicationInfo.sourceDir:Ljava/lang/String;
putfield android.content.pm.ApplicationInfo.sourceDir:Ljava/lang/String;
15: aload 0
aload 4
getfield android.content.pm.ApplicationInfo.splitSourceDirs:[Ljava/lang/String;
putfield android.content.pm.ApplicationInfo.splitSourceDirs:[Ljava/lang/String;
16: aload 0
aload 4
getfield android.content.pm.ApplicationInfo.nativeLibraryDir:Ljava/lang/String;
putfield android.content.pm.ApplicationInfo.nativeLibraryDir:Ljava/lang/String;
17: aload 0
aload 4
getfield android.content.pm.ApplicationInfo.secondaryNativeLibraryDir:Ljava/lang/String;
putfield android.content.pm.ApplicationInfo.secondaryNativeLibraryDir:Ljava/lang/String;
18: aload 0
aload 4
getfield android.content.pm.ApplicationInfo.primaryCpuAbi:Ljava/lang/String;
putfield android.content.pm.ApplicationInfo.primaryCpuAbi:Ljava/lang/String;
19: aload 0
aload 4
getfield android.content.pm.ApplicationInfo.secondaryCpuAbi:Ljava/lang/String;
putfield android.content.pm.ApplicationInfo.secondaryCpuAbi:Ljava/lang/String;
end local 4 end local 3 20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 ai Landroid/content/pm/ApplicationInfo;
0 21 1 pm Landroid/content/pm/PackageManager;
1 21 2 donorPackageName Ljava/lang/String;
8 9 3 donorPackage Landroid/content/pm/PackageInfo;
13 20 3 donorPackage Landroid/content/pm/PackageInfo;
14 20 4 donorInfo Landroid/content/pm/ApplicationInfo;
Exception table:
from to target type
4 8 9 Class android.content.pm.PackageManager$NameNotFoundException
Exceptions:
throws android.webkit.WebViewFactory$MissingWebViewPackageException
MethodParameters:
Name Flags
ai
pm
private static android.content.Context getWebViewContextAndSetProvider();
descriptor: ()Landroid/content/Context;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=0
0: invokestatic android.app.AppGlobals.getInitialApplication:()Landroid/app/Application;
astore 0
start local 0 1: aconst_null
astore 1
start local 1 2: ldc 16
3: ldc "WebViewUpdateService.waitForAndGetProvider()"
4: invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
5: invokestatic android.webkit.WebViewFactory.getUpdateService:()Landroid/webkit/IWebViewUpdateService;
invokeinterface android.webkit.IWebViewUpdateService.waitForAndGetProvider:()Landroid/webkit/WebViewProviderResponse;
astore 1
6: goto 10
StackMap locals: android.app.Application android.webkit.WebViewProviderResponse
StackMap stack: java.lang.Throwable
7: astore 2
8: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
11: aload 1
getfield android.webkit.WebViewProviderResponse.status:I
ifeq 16
12: aload 1
getfield android.webkit.WebViewProviderResponse.status:I
iconst_3
if_icmpeq 16
13: new android.webkit.WebViewFactory$MissingWebViewPackageException
dup
new java.lang.StringBuilder
dup
ldc "Failed to load WebView provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 1
getfield android.webkit.WebViewProviderResponse.status:I
invokestatic android.webkit.WebViewFactory.getWebViewPreparationErrorReason:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
15: invokespecial android.webkit.WebViewFactory$MissingWebViewPackageException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
ldc 16
ldc "ActivityManager.addPackageDependency()"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
17: invokestatic android.app.ActivityManager.getService:()Landroid/app/IActivityManager;
18: aload 1
getfield android.webkit.WebViewProviderResponse.packageInfo:Landroid/content/pm/PackageInfo;
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
19: invokeinterface android.app.IActivityManager.addPackageDependency:(Ljava/lang/String;)V
20: goto 24
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 2
22: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
23: aload 2
athrow
24: StackMap locals:
StackMap stack:
ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
25: aconst_null
astore 2
start local 2 26: aload 0
invokevirtual android.app.Application.getPackageManager:()Landroid/content/pm/PackageManager;
astore 3
start local 3 27: ldc 16
ldc "PackageManager.getPackageInfo()"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
28: aload 3
29: aload 1
getfield android.webkit.WebViewProviderResponse.packageInfo:Landroid/content/pm/PackageInfo;
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
30: ldc 268444864
31: invokevirtual android.content.pm.PackageManager.getPackageInfo:(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
astore 2
32: goto 36
StackMap locals: android.app.Application android.webkit.WebViewProviderResponse android.content.pm.PackageInfo android.content.pm.PackageManager
StackMap stack: java.lang.Throwable
33: astore 4
34: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
35: aload 4
athrow
36: StackMap locals:
StackMap stack:
ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
37: aload 1
getfield android.webkit.WebViewProviderResponse.packageInfo:Landroid/content/pm/PackageInfo;
aload 2
invokestatic android.webkit.WebViewFactory.verifyPackageInfo:(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;)V
38: aload 2
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
astore 4
start local 4 39: aload 4
aload 3
invokestatic android.webkit.WebViewFactory.fixupStubApplicationInfo:(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManager;)V
40: ldc 16
41: ldc "initialApplication.createApplicationContext"
42: invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
43: aload 0
44: aload 4
45: iconst_3
46: invokevirtual android.app.Application.createApplicationContext:(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
astore 5
start local 5 47: aload 2
putstatic android.webkit.WebViewFactory.sPackageInfo:Landroid/content/pm/PackageInfo;
48: aload 5
astore 7
49: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
50: aload 7
areturn
end local 5 51: StackMap locals: android.app.Application android.webkit.WebViewProviderResponse android.content.pm.PackageInfo android.content.pm.PackageManager android.content.pm.ApplicationInfo
StackMap stack: java.lang.Throwable
astore 6
52: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
53: aload 6
athrow
end local 4 end local 3 end local 2 end local 1 54: StackMap locals: android.app.Application
StackMap stack: android.util.AndroidException
astore 1
start local 1 55: new android.webkit.WebViewFactory$MissingWebViewPackageException
dup
new java.lang.StringBuilder
dup
ldc "Failed to load WebView provider: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial android.webkit.WebViewFactory$MissingWebViewPackageException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 56 0 initialApplication Landroid/app/Application;
2 54 1 response Landroid/webkit/WebViewProviderResponse;
26 54 2 newPackageInfo Landroid/content/pm/PackageInfo;
27 54 3 pm Landroid/content/pm/PackageManager;
39 54 4 ai Landroid/content/pm/ApplicationInfo;
47 51 5 webViewContext Landroid/content/Context;
55 56 1 e Landroid/util/AndroidException;
Exception table:
from to target type
5 7 7 any
17 21 21 any
28 33 33 any
43 49 51 any
1 50 54 Class android.os.RemoteException
51 54 54 Class android.os.RemoteException
1 50 54 Class android.content.pm.PackageManager$NameNotFoundException
51 54 54 Class android.content.pm.PackageManager$NameNotFoundException
Exceptions:
throws android.webkit.WebViewFactory$MissingWebViewPackageException
private static java.lang.Class<android.webkit.WebViewFactoryProvider> getProviderClass();
descriptor: ()Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=0
0: aconst_null
astore 0
start local 0 1: invokestatic android.app.AppGlobals.getInitialApplication:()Landroid/app/Application;
astore 1
start local 1 2: ldc 16
3: ldc "WebViewFactory.getWebViewContextAndSetProvider()"
4: invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
5: invokestatic android.webkit.WebViewFactory.getWebViewContextAndSetProvider:()Landroid/content/Context;
astore 0
6: goto 10
StackMap locals: android.content.Context android.app.Application
StackMap stack: java.lang.Throwable
7: astore 2
8: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
11: ldc "WebViewFactory"
new java.lang.StringBuilder
dup
ldc "Loading "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic android.webkit.WebViewFactory.sPackageInfo:Landroid/content/pm/PackageInfo;
getfield android.content.pm.PackageInfo.packageName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " version "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: getstatic android.webkit.WebViewFactory.sPackageInfo:Landroid/content/pm/PackageInfo;
getfield android.content.pm.PackageInfo.versionName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " (code "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic android.webkit.WebViewFactory.sPackageInfo:Landroid/content/pm/PackageInfo;
invokevirtual android.content.pm.PackageInfo.getLongVersionCode:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
13: invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
14: ldc 16
ldc "WebViewFactory.getChromiumProviderClass()"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
15: aload 1
invokevirtual android.app.Application.getAssets:()Landroid/content/res/AssetManager;
16: aload 0
invokevirtual android.content.Context.getApplicationInfo:()Landroid/content/pm/ApplicationInfo;
getfield android.content.pm.ApplicationInfo.sourceDir:Ljava/lang/String;
17: invokevirtual android.content.res.AssetManager.addAssetPathAsSharedLibrary:(Ljava/lang/String;)I
pop
18: aload 0
invokevirtual android.content.Context.getClassLoader:()Ljava/lang/ClassLoader;
astore 2
start local 2 19: ldc 16
ldc "WebViewFactory.loadNativeLibrary()"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
20: aload 2
21: getstatic android.webkit.WebViewFactory.sPackageInfo:Landroid/content/pm/PackageInfo;
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
invokestatic android.webkit.WebViewFactory.getWebViewLibrary:(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
22: invokestatic android.webkit.WebViewLibraryLoader.loadNativeLibrary:(Ljava/lang/ClassLoader;Ljava/lang/String;)I
pop
23: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
24: ldc 16
ldc "Class.forName()"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
25: aload 2
invokestatic android.webkit.WebViewFactory.getWebViewProviderClass:(Ljava/lang/ClassLoader;)Ljava/lang/Class;
astore 4
26: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
27: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
28: aload 4
areturn
29: StackMap locals: android.content.Context android.app.Application java.lang.ClassLoader
StackMap stack: java.lang.Throwable
astore 3
30: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
31: aload 3
athrow
end local 2 32: StackMap locals: android.content.Context android.app.Application
StackMap stack: java.lang.ClassNotFoundException
astore 2
start local 2 33: ldc "WebViewFactory"
ldc "error loading provider"
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
34: new android.util.AndroidRuntimeException
dup
aload 2
invokespecial android.util.AndroidRuntimeException.<init>:(Ljava/lang/Exception;)V
athrow
end local 2 35: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
36: ldc 16
invokestatic android.os.Trace.traceEnd:(J)V
37: aload 5
athrow
38: StackMap locals:
StackMap stack: android.webkit.WebViewFactory$MissingWebViewPackageException
astore 2
start local 2 39: ldc "WebViewFactory"
ldc "Chromium WebView package does not exist"
aload 2
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
40: new android.util.AndroidRuntimeException
dup
aload 2
invokespecial android.util.AndroidRuntimeException.<init>:(Ljava/lang/Exception;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 41 0 webViewContext Landroid/content/Context;
2 41 1 initialApplication Landroid/app/Application;
19 32 2 clazzLoader Ljava/lang/ClassLoader;
33 35 2 e Ljava/lang/ClassNotFoundException;
39 41 2 e Landroid/webkit/WebViewFactory$MissingWebViewPackageException;
Exception table:
from to target type
5 7 7 any
25 26 29 any
15 27 32 Class java.lang.ClassNotFoundException
29 32 32 Class java.lang.ClassNotFoundException
15 27 35 any
29 35 35 any
2 28 38 Class android.webkit.WebViewFactory$MissingWebViewPackageException
29 38 38 Class android.webkit.WebViewFactory$MissingWebViewPackageException
Signature: ()Ljava/lang/Class<Landroid/webkit/WebViewFactoryProvider;>;
public static void prepareWebViewInZygote();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic android.webkit.WebViewLibraryLoader.reserveAddressSpaceInZygote:()V
1: goto 4
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 0
start local 0 3: ldc "WebViewFactory"
ldc "error preparing native loader"
aload 0
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 0 4: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
3 4 0 t Ljava/lang/Throwable;
Exception table:
from to target type
0 1 2 Class java.lang.Throwable
public static int onWebViewProviderChanged(android.content.pm.PackageInfo);
descriptor: (Landroid/content/pm/PackageInfo;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: new android.content.pm.ApplicationInfo
dup
aload 0
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
invokespecial android.content.pm.ApplicationInfo.<init>:(Landroid/content/pm/ApplicationInfo;)V
astore 2
start local 2 2: aload 0
getfield android.content.pm.PackageInfo.applicationInfo:Landroid/content/pm/ApplicationInfo;
3: invokestatic android.app.AppGlobals.getInitialApplication:()Landroid/app/Application;
invokevirtual android.app.Application.getPackageManager:()Landroid/content/pm/PackageManager;
4: invokestatic android.webkit.WebViewFactory.fixupStubApplicationInfo:(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManager;)V
5: aload 0
invokestatic android.webkit.WebViewLibraryLoader.prepareNativeLibraries:(Landroid/content/pm/PackageInfo;)I
istore 1
6: goto 9
StackMap locals: android.content.pm.PackageInfo int android.content.pm.ApplicationInfo
StackMap stack: java.lang.Throwable
7: astore 3
start local 3 8: ldc "WebViewFactory"
ldc "error preparing webview native library"
aload 3
invokestatic android.util.Log.e:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
end local 3 9: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic android.webkit.WebViewZygote.onWebViewProviderChanged:(Landroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;)V
10: iload 1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 packageInfo Landroid/content/pm/PackageInfo;
1 11 1 startedRelroProcesses I
2 11 2 originalAppInfo Landroid/content/pm/ApplicationInfo;
8 9 3 t Ljava/lang/Throwable;
Exception table:
from to target type
2 6 7 Class java.lang.Throwable
MethodParameters:
Name Flags
packageInfo
public static android.webkit.IWebViewUpdateService getUpdateService();
descriptor: ()Landroid/webkit/IWebViewUpdateService;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic android.webkit.WebViewFactory.isWebViewSupported:()Z
ifeq 2
1: invokestatic android.webkit.WebViewFactory.getUpdateServiceUnchecked:()Landroid/webkit/IWebViewUpdateService;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
static android.webkit.IWebViewUpdateService getUpdateServiceUnchecked();
descriptor: ()Landroid/webkit/IWebViewUpdateService;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic android.webkit.WebViewFactory.WEBVIEW_UPDATE_SERVICE_NAME:Ljava/lang/String;
invokestatic android.os.ServiceManager.getService:(Ljava/lang/String;)Landroid/os/IBinder;
1: invokestatic android.webkit.IWebViewUpdateService$Stub.asInterface:(Landroid/os/IBinder;)Landroid/webkit/IWebViewUpdateService;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "WebViewFactory.java"
NestMembers:
android.webkit.WebViewFactory$MissingWebViewPackageException
InnerClasses:
public NameNotFoundException = android.content.pm.PackageManager$NameNotFoundException of android.content.pm.PackageManager
public abstract Stub = android.webkit.IWebViewUpdateService$Stub of android.webkit.IWebViewUpdateService
MissingWebViewPackageException = android.webkit.WebViewFactory$MissingWebViewPackageException of android.webkit.WebViewFactory
RuntimeVisibleAnnotations:
android.annotation.SystemApi()