public class android.app.ResourcesManager
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.app.ResourcesManager
super_class: java.lang.Object
{
static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: "ResourcesManager"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static android.app.ResourcesManager sResourcesManager;
descriptor: Landroid/app/ResourcesManager;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final java.util.function.Predicate<java.lang.ref.WeakReference<android.content.res.Resources>> sEmptyReferencePredicate;
descriptor: Ljava/util/function/Predicate;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Predicate<Ljava/lang/ref/WeakReference<Landroid/content/res/Resources;>;>;
private android.content.res.CompatibilityInfo mResCompatibilityInfo;
descriptor: Landroid/content/res/CompatibilityInfo;
flags: (0x0002) ACC_PRIVATE
private final android.content.res.Configuration mResConfiguration;
descriptor: Landroid/content/res/Configuration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.util.ArrayMap<android.content.res.ResourcesKey, java.lang.ref.WeakReference<android.content.res.ResourcesImpl>> mResourceImpls;
descriptor: Landroid/util/ArrayMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/ArrayMap<Landroid/content/res/ResourcesKey;Ljava/lang/ref/WeakReference<Landroid/content/res/ResourcesImpl;>;>;
private final java.util.ArrayList<java.lang.ref.WeakReference<android.content.res.Resources>> mResourceReferences;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Ljava/lang/ref/WeakReference<Landroid/content/res/Resources;>;>;
private static final boolean ENABLE_APK_ASSETS_CACHE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private final android.util.LruCache<android.app.ResourcesManager$ApkKey, android.content.res.ApkAssets> mLoadedApkAssets;
descriptor: Landroid/util/LruCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/LruCache<Landroid/app/ResourcesManager$ApkKey;Landroid/content/res/ApkAssets;>;
private final android.util.ArrayMap<android.app.ResourcesManager$ApkKey, java.lang.ref.WeakReference<android.content.res.ApkAssets>> mCachedApkAssets;
descriptor: Landroid/util/ArrayMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/ArrayMap<Landroid/app/ResourcesManager$ApkKey;Ljava/lang/ref/WeakReference<Landroid/content/res/ApkAssets;>;>;
private final java.util.WeakHashMap<android.os.IBinder, android.app.ResourcesManager$ActivityResources> mActivityResourceReferences;
descriptor: Ljava/util/WeakHashMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/WeakHashMap<Landroid/os/IBinder;Landroid/app/ResourcesManager$ActivityResources;>;
private final android.util.ArrayMap<android.util.Pair<java.lang.Integer, android.view.DisplayAdjustments>, java.lang.ref.WeakReference<android.view.Display>> mAdjustedDisplays;
descriptor: Landroid/util/ArrayMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Landroid/util/ArrayMap<Landroid/util/Pair<Ljava/lang/Integer;Landroid/view/DisplayAdjustments;>;Ljava/lang/ref/WeakReference<Landroid/view/Display;>;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
android/app/ResourcesManager.lambda$0(Ljava/lang/ref/WeakReference;)Z (6)
(Ljava/lang/ref/WeakReference;)Z
1: putstatic android.app.ResourcesManager.sEmptyReferencePredicate:Ljava/util/function/Predicate;
2: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.content.res.Configuration
dup
invokespecial android.content.res.Configuration.<init>:()V
putfield android.app.ResourcesManager.mResConfiguration:Landroid/content/res/Configuration;
2: aload 0
3: new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
putfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.app.ResourcesManager.mResourceReferences:Ljava/util/ArrayList;
5: aload 0
6: aconst_null
putfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
7: aload 0
new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
putfield android.app.ResourcesManager.mCachedApkAssets:Landroid/util/ArrayMap;
8: aload 0
9: new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield android.app.ResourcesManager.mActivityResourceReferences:Ljava/util/WeakHashMap;
10: aload 0
new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
putfield android.app.ResourcesManager.mAdjustedDisplays:Landroid/util/ArrayMap;
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/app/ResourcesManager;
public static android.app.ResourcesManager getInstance();
descriptor: ()Landroid/app/ResourcesManager;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: ldc Landroid/app/ResourcesManager;
dup
astore 0
monitorenter
1: getstatic android.app.ResourcesManager.sResourcesManager:Landroid/app/ResourcesManager;
ifnonnull 3
2: new android.app.ResourcesManager
dup
invokespecial android.app.ResourcesManager.<init>:()V
putstatic android.app.ResourcesManager.sResourcesManager:Landroid/app/ResourcesManager;
3: StackMap locals: java.lang.Class
StackMap stack:
getstatic android.app.ResourcesManager.sResourcesManager:Landroid/app/ResourcesManager;
aload 0
monitorexit
4: areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
aload 0
monitorexit
6: athrow
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
1 4 5 any
5 6 5 any
public void invalidatePath(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 10
4: StackMap locals: android.app.ResourcesManager int int
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 4
invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
checkcast android.content.res.ResourcesKey
astore 5
start local 5 5: aload 5
aload 1
invokevirtual android.content.res.ResourcesKey.isPathReferenced:(Ljava/lang/String;)Z
ifeq 9
6: aload 0
aload 5
invokevirtual android.app.ResourcesManager.cleanupResourceImpl:(Landroid/content/res/ResourcesKey;)V
7: iinc 3 1
8: goto 10
9: StackMap locals: android.content.res.ResourcesKey
StackMap stack:
iinc 4 1
end local 5 10: StackMap locals:
StackMap stack:
iload 4
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
if_icmplt 4
end local 4 11: ldc "ResourcesManager"
new java.lang.StringBuilder
dup
ldc "Invalidated "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " asset managers that referenced "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 3 12: aload 2
monitorexit
13: goto 16
StackMap locals: android.app.ResourcesManager java.lang.String android.app.ResourcesManager
StackMap stack: java.lang.Throwable
14: aload 2
monitorexit
15: athrow
16: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Landroid/app/ResourcesManager;
0 17 1 path Ljava/lang/String;
2 12 3 count I
3 11 4 i I
5 10 5 key Landroid/content/res/ResourcesKey;
Exception table:
from to target type
1 13 14 any
14 15 14 any
MethodParameters:
Name Flags
path
public android.content.res.Configuration getConfiguration();
descriptor: ()Landroid/content/res/Configuration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield android.app.ResourcesManager.mResConfiguration:Landroid/content/res/Configuration;
aload 1
monitorexit
2: areturn
3: StackMap locals: android.app.ResourcesManager android.app.ResourcesManager
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/app/ResourcesManager;
Exception table:
from to target type
1 2 3 any
3 4 3 any
android.util.DisplayMetrics getDisplayMetrics();
descriptor: ()Landroid/util/DisplayMetrics;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
1: getstatic android.view.DisplayAdjustments.DEFAULT_DISPLAY_ADJUSTMENTS:Landroid/view/DisplayAdjustments;
2: invokevirtual android.app.ResourcesManager.getDisplayMetrics:(ILandroid/view/DisplayAdjustments;)Landroid/util/DisplayMetrics;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/app/ResourcesManager;
protected android.util.DisplayMetrics getDisplayMetrics(int, android.view.DisplayAdjustments);
descriptor: (ILandroid/view/DisplayAdjustments;)Landroid/util/DisplayMetrics;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: new android.util.DisplayMetrics
dup
invokespecial android.util.DisplayMetrics.<init>:()V
astore 3
start local 3 1: aload 0
iload 1
aload 2
invokevirtual android.app.ResourcesManager.getAdjustedDisplay:(ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
astore 4
start local 4 2: aload 4
ifnull 5
3: aload 4
aload 3
invokevirtual android.view.Display.getMetrics:(Landroid/util/DisplayMetrics;)V
4: goto 6
5: StackMap locals: android.util.DisplayMetrics android.view.Display
StackMap stack:
aload 3
invokevirtual android.util.DisplayMetrics.setToDefaults:()V
6: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/app/ResourcesManager;
0 7 1 displayId I
0 7 2 da Landroid/view/DisplayAdjustments;
1 7 3 dm Landroid/util/DisplayMetrics;
2 7 4 display Landroid/view/Display;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
displayId
da
private static void applyNonDefaultDisplayMetricsToConfiguration(android.util.DisplayMetrics, android.content.res.Configuration);
descriptor: (Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
iconst_1
putfield android.content.res.Configuration.touchscreen:I
1: aload 1
aload 0
getfield android.util.DisplayMetrics.densityDpi:I
putfield android.content.res.Configuration.densityDpi:I
2: aload 1
aload 0
getfield android.util.DisplayMetrics.widthPixels:I
i2f
aload 0
getfield android.util.DisplayMetrics.density:F
fdiv
f2i
putfield android.content.res.Configuration.screenWidthDp:I
3: aload 1
aload 0
getfield android.util.DisplayMetrics.heightPixels:I
i2f
aload 0
getfield android.util.DisplayMetrics.density:F
fdiv
f2i
putfield android.content.res.Configuration.screenHeightDp:I
4: aload 1
getfield android.content.res.Configuration.screenLayout:I
invokestatic android.content.res.Configuration.resetScreenLayout:(I)I
istore 2
start local 2 5: aload 0
getfield android.util.DisplayMetrics.widthPixels:I
aload 0
getfield android.util.DisplayMetrics.heightPixels:I
if_icmple 11
6: aload 1
iconst_2
putfield android.content.res.Configuration.orientation:I
7: aload 1
iload 2
8: aload 1
getfield android.content.res.Configuration.screenWidthDp:I
aload 1
getfield android.content.res.Configuration.screenHeightDp:I
9: invokestatic android.content.res.Configuration.reduceScreenLayout:(III)I
putfield android.content.res.Configuration.screenLayout:I
10: goto 15
11: StackMap locals: int
StackMap stack:
aload 1
iconst_1
putfield android.content.res.Configuration.orientation:I
12: aload 1
iload 2
13: aload 1
getfield android.content.res.Configuration.screenHeightDp:I
aload 1
getfield android.content.res.Configuration.screenWidthDp:I
14: invokestatic android.content.res.Configuration.reduceScreenLayout:(III)I
putfield android.content.res.Configuration.screenLayout:I
15: StackMap locals:
StackMap stack:
aload 1
aload 1
getfield android.content.res.Configuration.screenWidthDp:I
putfield android.content.res.Configuration.smallestScreenWidthDp:I
16: aload 1
aload 1
getfield android.content.res.Configuration.screenWidthDp:I
putfield android.content.res.Configuration.compatScreenWidthDp:I
17: aload 1
aload 1
getfield android.content.res.Configuration.screenHeightDp:I
putfield android.content.res.Configuration.compatScreenHeightDp:I
18: aload 1
aload 1
getfield android.content.res.Configuration.smallestScreenWidthDp:I
putfield android.content.res.Configuration.compatSmallestScreenWidthDp:I
19: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 dm Landroid/util/DisplayMetrics;
0 20 1 config Landroid/content/res/Configuration;
5 20 2 sl I
MethodParameters:
Name Flags
dm
config
public boolean applyCompatConfigurationLocked(int, android.content.res.Configuration);
descriptor: (ILandroid/content/res/Configuration;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.app.ResourcesManager.mResCompatibilityInfo:Landroid/content/res/CompatibilityInfo;
ifnull 3
aload 0
getfield android.app.ResourcesManager.mResCompatibilityInfo:Landroid/content/res/CompatibilityInfo;
invokevirtual android.content.res.CompatibilityInfo.supportsScreen:()Z
ifne 3
1: aload 0
getfield android.app.ResourcesManager.mResCompatibilityInfo:Landroid/content/res/CompatibilityInfo;
iload 1
aload 2
invokevirtual android.content.res.CompatibilityInfo.applyToConfiguration:(ILandroid/content/res/Configuration;)V
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/app/ResourcesManager;
0 4 1 displayDensity I
0 4 2 compatConfiguration Landroid/content/res/Configuration;
MethodParameters:
Name Flags
displayDensity
compatConfiguration
private android.view.Display getAdjustedDisplay(int, android.view.DisplayAdjustments);
descriptor: (ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 2
1: new android.view.DisplayAdjustments
dup
aload 2
invokespecial android.view.DisplayAdjustments.<init>:(Landroid/view/DisplayAdjustments;)V
goto 3
StackMap locals:
StackMap stack:
2: new android.view.DisplayAdjustments
dup
invokespecial android.view.DisplayAdjustments.<init>:()V
3: StackMap locals:
StackMap stack: android.view.DisplayAdjustments
astore 3
start local 3 4: iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
invokestatic android.util.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
5: astore 4
start local 4 6: aload 0
dup
astore 5
monitorenter
7: aload 0
getfield android.app.ResourcesManager.mAdjustedDisplays:Landroid/util/ArrayMap;
aload 4
invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 6
start local 6 8: aload 6
ifnull 13
9: aload 6
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.view.Display
astore 7
start local 7 10: aload 7
ifnull 13
11: aload 7
aload 5
monitorexit
12: areturn
end local 7 13: StackMap locals: android.app.ResourcesManager int android.view.DisplayAdjustments android.view.DisplayAdjustments android.util.Pair android.app.ResourcesManager java.lang.ref.WeakReference
StackMap stack:
invokestatic android.hardware.display.DisplayManagerGlobal.getInstance:()Landroid/hardware/display/DisplayManagerGlobal;
astore 7
start local 7 14: aload 7
ifnonnull 17
15: aload 5
monitorexit
16: aconst_null
areturn
17: StackMap locals: android.hardware.display.DisplayManagerGlobal
StackMap stack:
aload 7
iload 1
aload 4
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast android.view.DisplayAdjustments
invokevirtual android.hardware.display.DisplayManagerGlobal.getCompatibleDisplay:(ILandroid/view/DisplayAdjustments;)Landroid/view/Display;
astore 8
start local 8 18: aload 8
ifnull 20
19: aload 0
getfield android.app.ResourcesManager.mAdjustedDisplays:Landroid/util/ArrayMap;
aload 4
new java.lang.ref.WeakReference
dup
aload 8
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: StackMap locals: android.view.Display
StackMap stack:
aload 8
aload 5
monitorexit
21: areturn
end local 8 end local 7 end local 6 22: StackMap locals: android.app.ResourcesManager int android.view.DisplayAdjustments android.view.DisplayAdjustments android.util.Pair android.app.ResourcesManager
StackMap stack: java.lang.Throwable
aload 5
monitorexit
23: athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Landroid/app/ResourcesManager;
0 24 1 displayId I
0 24 2 displayAdjustments Landroid/view/DisplayAdjustments;
4 24 3 displayAdjustmentsCopy Landroid/view/DisplayAdjustments;
6 24 4 key Landroid/util/Pair<Ljava/lang/Integer;Landroid/view/DisplayAdjustments;>;
8 22 6 wd Ljava/lang/ref/WeakReference<Landroid/view/Display;>;
10 13 7 display Landroid/view/Display;
14 22 7 dm Landroid/hardware/display/DisplayManagerGlobal;
18 22 8 display Landroid/view/Display;
Exception table:
from to target type
7 12 22 any
13 16 22 any
17 21 22 any
22 23 22 any
MethodParameters:
Name Flags
displayId final
displayAdjustments
public android.view.Display getAdjustedDisplay(int, android.content.res.Resources);
descriptor: (ILandroid/content/res/Resources;)Landroid/view/Display;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: invokestatic android.hardware.display.DisplayManagerGlobal.getInstance:()Landroid/hardware/display/DisplayManagerGlobal;
astore 4
start local 4 2: aload 4
ifnonnull 5
3: aload 3
monitorexit
4: aconst_null
areturn
5: StackMap locals: android.app.ResourcesManager android.hardware.display.DisplayManagerGlobal
StackMap stack:
aload 4
iload 1
aload 2
invokevirtual android.hardware.display.DisplayManagerGlobal.getCompatibleDisplay:(ILandroid/content/res/Resources;)Landroid/view/Display;
aload 3
monitorexit
6: areturn
end local 4 7: StackMap locals: android.app.ResourcesManager int android.content.res.Resources android.app.ResourcesManager
StackMap stack: java.lang.Throwable
aload 3
monitorexit
8: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/app/ResourcesManager;
0 9 1 displayId I
0 9 2 resources Landroid/content/res/Resources;
2 7 4 dm Landroid/hardware/display/DisplayManagerGlobal;
Exception table:
from to target type
1 4 7 any
5 6 7 any
7 8 7 any
MethodParameters:
Name Flags
displayId final
resources
private void cleanupResourceImpl(android.content.res.ResourcesKey);
descriptor: (Landroid/content/res/ResourcesKey;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.ResourcesImpl
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
invokevirtual android.content.res.ResourcesImpl.flushLayoutCache:()V
3: StackMap locals: android.content.res.ResourcesImpl
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/app/ResourcesManager;
0 4 1 removedKey Landroid/content/res/ResourcesKey;
1 4 2 res Landroid/content/res/ResourcesImpl;
MethodParameters:
Name Flags
removedKey
private static java.lang.String overlayPathToIdmapPath(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "/data/resource-cache/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
bipush 47
bipush 64
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "@idmap"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 path Ljava/lang/String;
MethodParameters:
Name Flags
path
private android.content.res.ApkAssets loadApkAssets(java.lang.String, boolean, boolean);
descriptor: (Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new android.app.ResourcesManager$ApkKey
dup
aload 1
iload 2
iload 3
invokespecial android.app.ResourcesManager$ApkKey.<init>:(Ljava/lang/String;ZZ)V
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
ifnull 6
3: aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
aload 4
invokevirtual android.util.LruCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.content.res.ApkAssets
astore 5
4: aload 5
ifnull 6
5: aload 5
areturn
6: StackMap locals: android.app.ResourcesManager$ApkKey android.content.res.ApkAssets
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mCachedApkAssets:Landroid/util/ArrayMap;
aload 4
invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 6
start local 6 7: aload 6
ifnull 14
8: aload 6
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.ApkAssets
astore 5
9: aload 5
ifnull 13
10: aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
ifnull 12
11: aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
aload 4
aload 5
invokevirtual android.util.LruCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: StackMap locals: java.lang.ref.WeakReference
StackMap stack:
aload 5
areturn
13: StackMap locals:
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mCachedApkAssets:Landroid/util/ArrayMap;
aload 4
invokevirtual android.util.ArrayMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
14: StackMap locals:
StackMap stack:
iload 3
ifeq 19
15: aload 1
invokestatic android.app.ResourcesManager.overlayPathToIdmapPath:(Ljava/lang/String;)Ljava/lang/String;
16: iconst_0
17: invokestatic android.content.res.ApkAssets.loadOverlayFromPath:(Ljava/lang/String;Z)Landroid/content/res/ApkAssets;
astore 5
18: goto 20
19: StackMap locals:
StackMap stack:
aload 1
iconst_0
iload 2
invokestatic android.content.res.ApkAssets.loadFromPath:(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
astore 5
20: StackMap locals:
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
ifnull 22
21: aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
aload 4
aload 5
invokevirtual android.util.LruCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: StackMap locals:
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mCachedApkAssets:Landroid/util/ArrayMap;
aload 4
new java.lang.ref.WeakReference
dup
aload 5
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: aload 5
areturn
end local 6 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 24 0 this Landroid/app/ResourcesManager;
0 24 1 path Ljava/lang/String;
0 24 2 sharedLib Z
0 24 3 overlay Z
1 24 4 newKey Landroid/app/ResourcesManager$ApkKey;
2 24 5 apkAssets Landroid/content/res/ApkAssets;
7 24 6 apkAssetsRef Ljava/lang/ref/WeakReference<Landroid/content/res/ApkAssets;>;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
sharedLib
overlay
protected android.content.res.AssetManager createAssetManager(android.content.res.ResourcesKey);
descriptor: (Landroid/content/res/ResourcesKey;)Landroid/content/res/AssetManager;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: new android.content.res.AssetManager$Builder
dup
invokespecial android.content.res.AssetManager$Builder.<init>:()V
astore 2
start local 2 1: aload 1
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
ifnull 9
2: aload 2
aload 0
aload 1
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
iconst_0
3: iconst_0
4: invokevirtual android.app.ResourcesManager.loadApkAssets:(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
invokevirtual android.content.res.AssetManager$Builder.addApkAssets:(Landroid/content/res/ApkAssets;)Landroid/content/res/AssetManager$Builder;
pop
5: goto 9
StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder
StackMap stack: java.io.IOException
6: pop
7: ldc "ResourcesManager"
new java.lang.StringBuilder
dup
ldc "failed to add asset path "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
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
8: aconst_null
areturn
9: StackMap locals:
StackMap stack:
aload 1
getfield android.content.res.ResourcesKey.mSplitResDirs:[Ljava/lang/String;
ifnull 21
10: aload 1
getfield android.content.res.ResourcesKey.mSplitResDirs:[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 20
StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder top int int java.lang.String[]
StackMap stack:
11: aload 6
iload 4
aaload
astore 3
start local 3 12: aload 2
aload 0
aload 3
iconst_0
13: iconst_0
14: invokevirtual android.app.ResourcesManager.loadApkAssets:(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
invokevirtual android.content.res.AssetManager$Builder.addApkAssets:(Landroid/content/res/ApkAssets;)Landroid/content/res/AssetManager$Builder;
pop
15: goto 19
StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder java.lang.String int int java.lang.String[]
StackMap stack: java.io.IOException
16: pop
17: ldc "ResourcesManager"
new java.lang.StringBuilder
dup
ldc "failed to add split asset path "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
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
18: aconst_null
areturn
end local 3 19: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
20: iload 4
iload 5
if_icmplt 11
21: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder
StackMap stack:
aload 1
getfield android.content.res.ResourcesKey.mOverlayDirs:[Ljava/lang/String;
ifnull 32
22: aload 1
getfield android.content.res.ResourcesKey.mOverlayDirs:[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 31
StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder top int int java.lang.String[]
StackMap stack:
23: aload 6
iload 4
aaload
astore 3
start local 3 24: aload 2
aload 0
aload 3
iconst_0
25: iconst_1
26: invokevirtual android.app.ResourcesManager.loadApkAssets:(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
invokevirtual android.content.res.AssetManager$Builder.addApkAssets:(Landroid/content/res/ApkAssets;)Landroid/content/res/AssetManager$Builder;
pop
27: goto 30
StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder java.lang.String int int java.lang.String[]
StackMap stack: java.io.IOException
28: pop
29: ldc "ResourcesManager"
new java.lang.StringBuilder
dup
ldc "failed to add overlay path "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 3 30: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
31: iload 4
iload 5
if_icmplt 23
32: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder
StackMap stack:
aload 1
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
ifnull 46
33: aload 1
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 45
StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder top int int java.lang.String[]
StackMap stack:
34: aload 6
iload 4
aaload
astore 3
start local 3 35: aload 3
ldc ".apk"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 44
36: aload 2
aload 0
aload 3
iconst_1
37: iconst_0
38: invokevirtual android.app.ResourcesManager.loadApkAssets:(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
invokevirtual android.content.res.AssetManager$Builder.addApkAssets:(Landroid/content/res/ApkAssets;)Landroid/content/res/AssetManager$Builder;
pop
39: goto 44
StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder java.lang.String int int java.lang.String[]
StackMap stack: java.io.IOException
40: pop
41: ldc "ResourcesManager"
new java.lang.StringBuilder
dup
ldc "Asset path '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
42: ldc "' does not exist or contains no resources."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
43: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
end local 3 44: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder top int int java.lang.String[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
45: iload 4
iload 5
if_icmplt 34
46: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.content.res.AssetManager$Builder
StackMap stack:
aload 2
invokevirtual android.content.res.AssetManager$Builder.build:()Landroid/content/res/AssetManager;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Landroid/app/ResourcesManager;
0 47 1 key Landroid/content/res/ResourcesKey;
1 47 2 builder Landroid/content/res/AssetManager$Builder;
12 19 3 splitResDir Ljava/lang/String;
24 30 3 idmapPath Ljava/lang/String;
35 44 3 libDir Ljava/lang/String;
Exception table:
from to target type
2 5 6 Class java.io.IOException
12 15 16 Class java.io.IOException
24 27 28 Class java.io.IOException
36 39 40 Class java.io.IOException
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
key final
private static <T> int countLiveReferences(java.util.Collection<java.lang.ref.WeakReference<T>>);
descriptor: (Ljava/util/Collection;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: java.util.Collection int top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 3: aload 2
ifnull 4
aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
goto 5
StackMap locals: java.util.Collection int java.lang.ref.WeakReference java.util.Iterator
StackMap stack:
4: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
5: astore 4
start local 4 6: aload 4
ifnull 8
7: iinc 1 1
end local 4 end local 2 8: StackMap locals: java.util.Collection int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 collection Ljava/util/Collection<Ljava/lang/ref/WeakReference<TT;>;>;
1 10 1 count I
3 8 2 ref Ljava/lang/ref/WeakReference<TT;>;
6 8 4 value TT;
Signature: <T:Ljava/lang/Object;>(Ljava/util/Collection<Ljava/lang/ref/WeakReference<TT;>;>;)I
MethodParameters:
Name Flags
collection
public void dump(java.lang.String, java.io.PrintWriter);
descriptor: (Ljava/lang/String;Ljava/io/PrintWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: new com.android.internal.util.IndentingPrintWriter
dup
aload 2
ldc " "
invokespecial com.android.internal.util.IndentingPrintWriter.<init>:(Ljava/io/Writer;Ljava/lang/String;)V
astore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 6
4: StackMap locals: android.app.ResourcesManager com.android.internal.util.IndentingPrintWriter int
StackMap stack:
aload 4
invokevirtual com.android.internal.util.IndentingPrintWriter.increaseIndent:()Lcom/android/internal/util/IndentingPrintWriter;
pop
5: iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
aload 1
invokevirtual java.lang.String.length:()I
iconst_2
idiv
if_icmplt 4
end local 5 7: aload 4
ldc "ResourcesManager:"
invokevirtual com.android.internal.util.IndentingPrintWriter.println:(Ljava/lang/String;)V
8: aload 4
invokevirtual com.android.internal.util.IndentingPrintWriter.increaseIndent:()Lcom/android/internal/util/IndentingPrintWriter;
pop
9: aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
ifnull 23
10: aload 4
ldc "cached apks: total="
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
11: aload 4
aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
invokevirtual android.util.LruCache.size:()I
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(I)V
12: aload 4
ldc " created="
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
13: aload 4
aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
invokevirtual android.util.LruCache.createCount:()I
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(I)V
14: aload 4
ldc " evicted="
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
15: aload 4
aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
invokevirtual android.util.LruCache.evictionCount:()I
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(I)V
16: aload 4
ldc " hit="
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
17: aload 4
aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
invokevirtual android.util.LruCache.hitCount:()I
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(I)V
18: aload 4
ldc " miss="
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
19: aload 4
aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
invokevirtual android.util.LruCache.missCount:()I
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(I)V
20: aload 4
ldc " max="
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
21: aload 4
aload 0
getfield android.app.ResourcesManager.mLoadedApkAssets:Landroid/util/LruCache;
invokevirtual android.util.LruCache.maxSize:()I
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(I)V
22: goto 24
23: StackMap locals:
StackMap stack:
aload 4
ldc "cached apks: 0 [cache disabled]"
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
24: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.android.internal.util.IndentingPrintWriter.println:()V
25: aload 4
ldc "total apks: "
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
26: aload 4
aload 0
getfield android.app.ResourcesManager.mCachedApkAssets:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.values:()Ljava/util/Collection;
invokestatic android.app.ResourcesManager.countLiveReferences:(Ljava/util/Collection;)I
invokevirtual com.android.internal.util.IndentingPrintWriter.println:(I)V
27: aload 4
ldc "resources: "
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
28: aload 0
getfield android.app.ResourcesManager.mResourceReferences:Ljava/util/ArrayList;
invokestatic android.app.ResourcesManager.countLiveReferences:(Ljava/util/Collection;)I
istore 5
start local 5 29: aload 0
getfield android.app.ResourcesManager.mActivityResourceReferences:Ljava/util/WeakHashMap;
invokevirtual java.util.WeakHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 7
goto 32
StackMap locals: android.app.ResourcesManager java.lang.String java.io.PrintWriter android.app.ResourcesManager com.android.internal.util.IndentingPrintWriter int top java.util.Iterator
StackMap stack:
30: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.app.ResourcesManager$ActivityResources
astore 6
start local 6 31: iload 5
aload 6
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
invokestatic android.app.ResourcesManager.countLiveReferences:(Ljava/util/Collection;)I
iadd
istore 5
end local 6 32: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 30
33: aload 4
iload 5
invokevirtual com.android.internal.util.IndentingPrintWriter.println:(I)V
34: aload 4
ldc "resource impls: "
invokevirtual com.android.internal.util.IndentingPrintWriter.print:(Ljava/lang/String;)V
35: aload 4
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.values:()Ljava/util/Collection;
invokestatic android.app.ResourcesManager.countLiveReferences:(Ljava/util/Collection;)I
invokevirtual com.android.internal.util.IndentingPrintWriter.println:(I)V
end local 5 end local 4 36: aload 3
monitorexit
37: goto 40
StackMap locals: android.app.ResourcesManager java.lang.String java.io.PrintWriter android.app.ResourcesManager
StackMap stack: java.lang.Throwable
38: aload 3
monitorexit
39: athrow
40: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Landroid/app/ResourcesManager;
0 41 1 prefix Ljava/lang/String;
0 41 2 printWriter Ljava/io/PrintWriter;
2 36 4 pw Lcom/android/internal/util/IndentingPrintWriter;
3 7 5 i I
29 36 5 references I
31 32 6 activityResources Landroid/app/ResourcesManager$ActivityResources;
Exception table:
from to target type
1 37 38 any
38 39 38 any
MethodParameters:
Name Flags
prefix
printWriter
private android.content.res.Configuration generateConfig(android.content.res.ResourcesKey, android.util.DisplayMetrics);
descriptor: (Landroid/content/res/ResourcesKey;Landroid/util/DisplayMetrics;)Landroid/content/res/Configuration;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getfield android.content.res.ResourcesKey.mDisplayId:I
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: aload 1
invokevirtual android.content.res.ResourcesKey.hasOverrideConfiguration:()Z
istore 5
start local 5 4: iload 4
ifeq 5
iload 5
ifeq 11
5: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.util.DisplayMetrics top int int
StackMap stack:
new android.content.res.Configuration
dup
aload 0
invokevirtual android.app.ResourcesManager.getConfiguration:()Landroid/content/res/Configuration;
invokespecial android.content.res.Configuration.<init>:(Landroid/content/res/Configuration;)V
astore 3
start local 3 6: iload 4
ifne 8
7: aload 2
aload 3
invokestatic android.app.ResourcesManager.applyNonDefaultDisplayMetricsToConfiguration:(Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V
8: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.util.DisplayMetrics android.content.res.Configuration int int
StackMap stack:
iload 5
ifeq 12
9: aload 3
aload 1
getfield android.content.res.ResourcesKey.mOverrideConfiguration:Landroid/content/res/Configuration;
invokevirtual android.content.res.Configuration.updateFrom:(Landroid/content/res/Configuration;)I
pop
10: goto 12
end local 3 11: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.util.DisplayMetrics top int int
StackMap stack:
aload 0
invokevirtual android.app.ResourcesManager.getConfiguration:()Landroid/content/res/Configuration;
astore 3
start local 3 12: StackMap locals: android.app.ResourcesManager android.content.res.ResourcesKey android.util.DisplayMetrics android.content.res.Configuration int int
StackMap stack:
aload 3
areturn
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 13 0 this Landroid/app/ResourcesManager;
0 13 1 key Landroid/content/res/ResourcesKey;
0 13 2 dm Landroid/util/DisplayMetrics;
6 11 3 config Landroid/content/res/Configuration;
12 13 3 config Landroid/content/res/Configuration;
3 13 4 isDefaultDisplay Z
4 13 5 hasOverrideConfig Z
MethodParameters:
Name Flags
key
dm
private android.content.res.ResourcesImpl createResourcesImpl(android.content.res.ResourcesKey);
descriptor: (Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: new android.view.DisplayAdjustments
dup
aload 1
getfield android.content.res.ResourcesKey.mOverrideConfiguration:Landroid/content/res/Configuration;
invokespecial android.view.DisplayAdjustments.<init>:(Landroid/content/res/Configuration;)V
astore 2
start local 2 1: aload 2
aload 1
getfield android.content.res.ResourcesKey.mCompatInfo:Landroid/content/res/CompatibilityInfo;
invokevirtual android.view.DisplayAdjustments.setCompatibilityInfo:(Landroid/content/res/CompatibilityInfo;)V
2: aload 0
aload 1
invokevirtual android.app.ResourcesManager.createAssetManager:(Landroid/content/res/ResourcesKey;)Landroid/content/res/AssetManager;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: aconst_null
areturn
5: StackMap locals: android.view.DisplayAdjustments android.content.res.AssetManager
StackMap stack:
aload 0
aload 1
getfield android.content.res.ResourcesKey.mDisplayId:I
aload 2
invokevirtual android.app.ResourcesManager.getDisplayMetrics:(ILandroid/view/DisplayAdjustments;)Landroid/util/DisplayMetrics;
astore 4
start local 4 6: aload 0
aload 1
aload 4
invokevirtual android.app.ResourcesManager.generateConfig:(Landroid/content/res/ResourcesKey;Landroid/util/DisplayMetrics;)Landroid/content/res/Configuration;
astore 5
start local 5 7: new android.content.res.ResourcesImpl
dup
aload 3
aload 4
aload 5
aload 2
invokespecial android.content.res.ResourcesImpl.<init>:(Landroid/content/res/AssetManager;Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;Landroid/view/DisplayAdjustments;)V
astore 6
start local 6 8: aload 6
areturn
end local 6 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 9 0 this Landroid/app/ResourcesManager;
0 9 1 key Landroid/content/res/ResourcesKey;
1 9 2 daj Landroid/view/DisplayAdjustments;
3 9 3 assets Landroid/content/res/AssetManager;
6 9 4 dm Landroid/util/DisplayMetrics;
7 9 5 config Landroid/content/res/Configuration;
8 9 6 impl Landroid/content/res/ResourcesImpl;
MethodParameters:
Name Flags
key
private android.content.res.ResourcesImpl findResourcesImplForKeyLocked(android.content.res.ResourcesKey);
descriptor: (Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
aload 1
invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 2
start local 2 1: aload 2
ifnull 2
aload 2
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.ResourcesImpl
goto 3
StackMap locals: java.lang.ref.WeakReference
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: android.content.res.ResourcesImpl
3: astore 3
start local 3 4: aload 3
ifnull 6
aload 3
invokevirtual android.content.res.ResourcesImpl.getAssets:()Landroid/content/res/AssetManager;
invokevirtual android.content.res.AssetManager.isUpToDate:()Z
ifeq 6
5: aload 3
areturn
6: StackMap locals: android.content.res.ResourcesImpl
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/app/ResourcesManager;
0 7 1 key Landroid/content/res/ResourcesKey;
1 7 2 weakImplRef Ljava/lang/ref/WeakReference<Landroid/content/res/ResourcesImpl;>;
4 7 3 impl Landroid/content/res/ResourcesImpl;
MethodParameters:
Name Flags
key
private android.content.res.ResourcesImpl findOrCreateResourcesImplForKeyLocked(android.content.res.ResourcesKey);
descriptor: (Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual android.app.ResourcesManager.findResourcesImplForKeyLocked:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 2
start local 2 1: aload 2
ifnonnull 5
2: aload 0
aload 1
invokevirtual android.app.ResourcesManager.createResourcesImpl:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 2
3: aload 2
ifnull 5
4: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
aload 1
new java.lang.ref.WeakReference
dup
aload 2
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: android.content.res.ResourcesImpl
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/app/ResourcesManager;
0 6 1 key Landroid/content/res/ResourcesKey;
1 6 2 impl Landroid/content/res/ResourcesImpl;
MethodParameters:
Name Flags
key
private android.content.res.ResourcesKey findKeyForResourceImplLocked(android.content.res.ResourcesImpl);
descriptor: (Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 10
3: StackMap locals: int int
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 3
invokevirtual android.util.ArrayMap.valueAt:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 4
start local 4 4: aload 4
ifnull 5
aload 4
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.ResourcesImpl
goto 6
StackMap locals: java.lang.ref.WeakReference
StackMap stack:
5: aconst_null
StackMap locals:
StackMap stack: android.content.res.ResourcesImpl
6: astore 5
start local 5 7: aload 5
ifnull 9
aload 1
aload 5
if_acmpne 9
8: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 3
invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
checkcast android.content.res.ResourcesKey
areturn
end local 5 end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
iload 2
if_icmplt 3
end local 3 11: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Landroid/app/ResourcesManager;
0 12 1 resourceImpl Landroid/content/res/ResourcesImpl;
1 12 2 refCount I
2 11 3 i I
4 9 4 weakImplRef Ljava/lang/ref/WeakReference<Landroid/content/res/ResourcesImpl;>;
7 9 5 impl Landroid/content/res/ResourcesImpl;
MethodParameters:
Name Flags
resourceImpl
boolean isSameResourcesOverrideConfig(android.os.IBinder, android.content.res.Configuration);
descriptor: (Landroid/os/IBinder;Landroid/content/res/Configuration;)Z
flags: (0x0000)
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: aload 1
ifnull 2
aload 0
getfield android.app.ResourcesManager.mActivityResourceReferences:Ljava/util/WeakHashMap;
aload 1
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.app.ResourcesManager$ActivityResources
goto 3
StackMap locals: android.app.ResourcesManager
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: android.app.ResourcesManager$ActivityResources
astore 4
start local 4 4: aload 4
ifnonnull 9
5: aload 2
ifnonnull 6
iconst_1
goto 7
StackMap locals: android.app.ResourcesManager$ActivityResources
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: aload 3
monitorexit
8: ireturn
9: StackMap locals:
StackMap stack:
aload 4
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
aload 2
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 15
10: aload 2
ifnull 14
aload 4
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
ifnull 14
11: aload 2
12: aload 4
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
13: invokevirtual android.content.res.Configuration.diffPublicOnly:(Landroid/content/res/Configuration;)I
ifeq 15
14: StackMap locals:
StackMap stack:
iconst_0
goto 16
StackMap locals:
StackMap stack:
15: iconst_1
StackMap locals:
StackMap stack: int
16: aload 3
monitorexit
17: ireturn
end local 4 18: StackMap locals: android.app.ResourcesManager android.os.IBinder android.content.res.Configuration android.app.ResourcesManager
StackMap stack: java.lang.Throwable
aload 3
monitorexit
19: athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/app/ResourcesManager;
0 20 1 activityToken Landroid/os/IBinder;
0 20 2 overrideConfig Landroid/content/res/Configuration;
4 18 4 activityResources Landroid/app/ResourcesManager$ActivityResources;
Exception table:
from to target type
1 8 18 any
9 17 18 any
18 19 18 any
MethodParameters:
Name Flags
activityToken
overrideConfig
private android.app.ResourcesManager$ActivityResources getOrCreateActivityResourcesStructLocked(android.os.IBinder);
descriptor: (Landroid/os/IBinder;)Landroid/app/ResourcesManager$ActivityResources;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield android.app.ResourcesManager.mActivityResourceReferences:Ljava/util/WeakHashMap;
aload 1
invokevirtual java.util.WeakHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.app.ResourcesManager$ActivityResources
astore 2
start local 2 1: aload 2
ifnonnull 4
2: new android.app.ResourcesManager$ActivityResources
dup
invokespecial android.app.ResourcesManager$ActivityResources.<init>:()V
astore 2
3: aload 0
getfield android.app.ResourcesManager.mActivityResourceReferences:Ljava/util/WeakHashMap;
aload 1
aload 2
invokevirtual java.util.WeakHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: android.app.ResourcesManager$ActivityResources
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/app/ResourcesManager;
0 5 1 activityToken Landroid/os/IBinder;
1 5 2 activityResources Landroid/app/ResourcesManager$ActivityResources;
MethodParameters:
Name Flags
activityToken
private android.content.res.Resources getOrCreateResourcesForActivityLocked(android.os.IBinder, java.lang.ClassLoader, android.content.res.ResourcesImpl, android.content.res.CompatibilityInfo);
descriptor: (Landroid/os/IBinder;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
1: aload 1
2: invokevirtual android.app.ResourcesManager.getOrCreateActivityResourcesStructLocked:(Landroid/os/IBinder;)Landroid/app/ResourcesManager$ActivityResources;
astore 5
start local 5 3: aload 5
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 6
start local 6 4: iconst_0
istore 7
start local 7 5: goto 13
6: StackMap locals: android.app.ResourcesManager$ActivityResources int int
StackMap stack:
aload 5
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
iload 7
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 8
start local 8 7: aload 8
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.Resources
astore 9
start local 9 8: aload 9
ifnull 12
9: aload 9
invokevirtual android.content.res.Resources.getClassLoader:()Ljava/lang/ClassLoader;
aload 2
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 12
10: aload 9
invokevirtual android.content.res.Resources.getImpl:()Landroid/content/res/ResourcesImpl;
aload 3
if_acmpne 12
11: aload 9
areturn
end local 9 end local 8 12: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
13: iload 7
iload 6
if_icmplt 6
end local 7 14: aload 4
invokevirtual android.content.res.CompatibilityInfo.needsCompatResources:()Z
ifeq 15
new android.content.res.CompatResources
dup
aload 2
invokespecial android.content.res.CompatResources.<init>:(Ljava/lang/ClassLoader;)V
goto 16
15: StackMap locals:
StackMap stack:
new android.content.res.Resources
dup
aload 2
invokespecial android.content.res.Resources.<init>:(Ljava/lang/ClassLoader;)V
16: StackMap locals:
StackMap stack: android.content.res.Resources
astore 7
start local 7 17: aload 7
aload 3
invokevirtual android.content.res.Resources.setImpl:(Landroid/content/res/ResourcesImpl;)V
18: aload 5
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
new java.lang.ref.WeakReference
dup
aload 7
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
19: aload 7
areturn
end local 7 end local 6 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 20 0 this Landroid/app/ResourcesManager;
0 20 1 activityToken Landroid/os/IBinder;
0 20 2 classLoader Ljava/lang/ClassLoader;
0 20 3 impl Landroid/content/res/ResourcesImpl;
0 20 4 compatInfo Landroid/content/res/CompatibilityInfo;
3 20 5 activityResources Landroid/app/ResourcesManager$ActivityResources;
4 20 6 refCount I
5 14 7 i I
7 12 8 weakResourceRef Ljava/lang/ref/WeakReference<Landroid/content/res/Resources;>;
8 12 9 resources Landroid/content/res/Resources;
17 20 7 resources Landroid/content/res/Resources;
MethodParameters:
Name Flags
activityToken
classLoader
impl
compatInfo
private android.content.res.Resources getOrCreateResourcesLocked(java.lang.ClassLoader, android.content.res.ResourcesImpl, android.content.res.CompatibilityInfo);
descriptor: (Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield android.app.ResourcesManager.mResourceReferences:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 10
3: StackMap locals: int int
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceReferences:Ljava/util/ArrayList;
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 6
start local 6 4: aload 6
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.Resources
astore 7
start local 7 5: aload 7
ifnull 9
6: aload 7
invokevirtual android.content.res.Resources.getClassLoader:()Ljava/lang/ClassLoader;
aload 1
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 9
7: aload 7
invokevirtual android.content.res.Resources.getImpl:()Landroid/content/res/ResourcesImpl;
aload 2
if_acmpne 9
8: aload 7
areturn
end local 7 end local 6 9: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 4
if_icmplt 3
end local 5 11: aload 3
invokevirtual android.content.res.CompatibilityInfo.needsCompatResources:()Z
ifeq 12
new android.content.res.CompatResources
dup
aload 1
invokespecial android.content.res.CompatResources.<init>:(Ljava/lang/ClassLoader;)V
goto 13
12: StackMap locals:
StackMap stack:
new android.content.res.Resources
dup
aload 1
invokespecial android.content.res.Resources.<init>:(Ljava/lang/ClassLoader;)V
13: StackMap locals:
StackMap stack: android.content.res.Resources
astore 5
start local 5 14: aload 5
aload 2
invokevirtual android.content.res.Resources.setImpl:(Landroid/content/res/ResourcesImpl;)V
15: aload 0
getfield android.app.ResourcesManager.mResourceReferences:Ljava/util/ArrayList;
new java.lang.ref.WeakReference
dup
aload 5
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
16: aload 5
areturn
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 17 0 this Landroid/app/ResourcesManager;
0 17 1 classLoader Ljava/lang/ClassLoader;
0 17 2 impl Landroid/content/res/ResourcesImpl;
0 17 3 compatInfo Landroid/content/res/CompatibilityInfo;
1 17 4 refCount I
2 11 5 i I
4 9 6 weakResourceRef Ljava/lang/ref/WeakReference<Landroid/content/res/Resources;>;
5 9 7 resources Landroid/content/res/Resources;
14 17 5 resources Landroid/content/res/Resources;
MethodParameters:
Name Flags
classLoader
impl
compatInfo
public android.content.res.Resources createBaseActivityResources(android.os.IBinder, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[], int, android.content.res.Configuration, android.content.res.CompatibilityInfo, java.lang.ClassLoader);
descriptor: (Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=14, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: ldc 8192
1: ldc "ResourcesManager#createBaseActivityResources"
2: invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
3: new android.content.res.ResourcesKey
dup
4: aload 2
5: aload 3
6: aload 4
7: aload 5
8: iload 6
9: aload 7
ifnull 10
new android.content.res.Configuration
dup
aload 7
invokespecial android.content.res.Configuration.<init>:(Landroid/content/res/Configuration;)V
goto 11
StackMap locals: android.app.ResourcesManager android.os.IBinder java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration android.content.res.CompatibilityInfo java.lang.ClassLoader
StackMap stack: new 3 new 3 java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int
10: aconst_null
11: StackMap locals: android.app.ResourcesManager android.os.IBinder java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration android.content.res.CompatibilityInfo java.lang.ClassLoader
StackMap stack: new 3 new 3 java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration
aload 8
12: invokespecial android.content.res.ResourcesKey.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
astore 10
start local 10 13: aload 9
ifnull 14
aload 9
goto 15
StackMap locals: android.content.res.ResourcesKey
StackMap stack:
14: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
StackMap locals:
StackMap stack: java.lang.ClassLoader
15: astore 9
16: aload 0
dup
astore 11
monitorenter
17: aload 0
aload 1
invokevirtual android.app.ResourcesManager.getOrCreateActivityResourcesStructLocked:(Landroid/os/IBinder;)Landroid/app/ResourcesManager$ActivityResources;
pop
18: aload 11
monitorexit
19: goto 22
StackMap locals: android.app.ResourcesManager android.os.IBinder java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration android.content.res.CompatibilityInfo java.lang.ClassLoader android.content.res.ResourcesKey android.app.ResourcesManager
StackMap stack: java.lang.Throwable
20: aload 11
monitorexit
21: athrow
22: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 7
iload 6
23: iconst_0
24: invokevirtual android.app.ResourcesManager.updateResourcesForActivity:(Landroid/os/IBinder;Landroid/content/res/Configuration;IZ)V
25: aload 0
aload 1
aload 10
aload 9
invokevirtual android.app.ResourcesManager.getOrCreateResources:(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
astore 13
26: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
27: aload 13
areturn
end local 10 28: StackMap locals: android.app.ResourcesManager android.os.IBinder java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration android.content.res.CompatibilityInfo java.lang.ClassLoader
StackMap stack: java.lang.Throwable
astore 12
29: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
30: aload 12
athrow
end local 9 end local 8 end local 7 end local 6 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 31 0 this Landroid/app/ResourcesManager;
0 31 1 activityToken Landroid/os/IBinder;
0 31 2 resDir Ljava/lang/String;
0 31 3 splitResDirs [Ljava/lang/String;
0 31 4 overlayDirs [Ljava/lang/String;
0 31 5 libDirs [Ljava/lang/String;
0 31 6 displayId I
0 31 7 overrideConfig Landroid/content/res/Configuration;
0 31 8 compatInfo Landroid/content/res/CompatibilityInfo;
0 31 9 classLoader Ljava/lang/ClassLoader;
13 28 10 key Landroid/content/res/ResourcesKey;
Exception table:
from to target type
17 19 20 any
20 21 20 any
0 26 28 any
MethodParameters:
Name Flags
activityToken
resDir
splitResDirs
overlayDirs
libDirs
displayId
overrideConfig
compatInfo
classLoader
private android.content.res.Resources getOrCreateResources(android.os.IBinder, android.content.res.ResourcesKey, java.lang.ClassLoader);
descriptor: (Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
dup
astore 4
monitorenter
1: aload 1
ifnull 18
2: aload 0
aload 1
invokevirtual android.app.ResourcesManager.getOrCreateActivityResourcesStructLocked:(Landroid/os/IBinder;)Landroid/app/ResourcesManager$ActivityResources;
3: astore 5
start local 5 4: aload 5
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
5: getstatic android.app.ResourcesManager.sEmptyReferencePredicate:Ljava/util/function/Predicate;
6: invokestatic com.android.internal.util.ArrayUtils.unstableRemoveIf:(Ljava/util/ArrayList;Ljava/util/function/Predicate;)I
pop
7: aload 2
invokevirtual android.content.res.ResourcesKey.hasOverrideConfiguration:()Z
ifeq 12
8: aload 5
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
getstatic android.content.res.Configuration.EMPTY:Landroid/content/res/Configuration;
invokevirtual android.content.res.Configuration.equals:(Landroid/content/res/Configuration;)Z
ifne 12
9: new android.content.res.Configuration
dup
aload 5
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
invokespecial android.content.res.Configuration.<init>:(Landroid/content/res/Configuration;)V
astore 6
start local 6 10: aload 6
aload 2
getfield android.content.res.ResourcesKey.mOverrideConfiguration:Landroid/content/res/Configuration;
invokevirtual android.content.res.Configuration.updateFrom:(Landroid/content/res/Configuration;)I
pop
11: aload 2
getfield android.content.res.ResourcesKey.mOverrideConfiguration:Landroid/content/res/Configuration;
aload 6
invokevirtual android.content.res.Configuration.setTo:(Landroid/content/res/Configuration;)V
end local 6 12: StackMap locals: android.app.ResourcesManager android.app.ResourcesManager$ActivityResources
StackMap stack:
aload 0
aload 2
invokevirtual android.app.ResourcesManager.findResourcesImplForKeyLocked:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 6
start local 6 13: aload 6
ifnull 23
14: aload 0
aload 1
aload 3
15: aload 6
aload 2
getfield android.content.res.ResourcesKey.mCompatInfo:Landroid/content/res/CompatibilityInfo;
16: invokevirtual android.app.ResourcesManager.getOrCreateResourcesForActivityLocked:(Landroid/os/IBinder;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
aload 4
monitorexit
17: areturn
end local 6 end local 5 18: StackMap locals:
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceReferences:Ljava/util/ArrayList;
getstatic android.app.ResourcesManager.sEmptyReferencePredicate:Ljava/util/function/Predicate;
invokestatic com.android.internal.util.ArrayUtils.unstableRemoveIf:(Ljava/util/ArrayList;Ljava/util/function/Predicate;)I
pop
19: aload 0
aload 2
invokevirtual android.app.ResourcesManager.findResourcesImplForKeyLocked:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 5
start local 5 20: aload 5
ifnull 23
21: aload 0
aload 3
aload 5
aload 2
getfield android.content.res.ResourcesKey.mCompatInfo:Landroid/content/res/CompatibilityInfo;
invokevirtual android.app.ResourcesManager.getOrCreateResourcesLocked:(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
aload 4
monitorexit
22: areturn
end local 5 23: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual android.app.ResourcesManager.createResourcesImpl:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 5
start local 5 24: aload 5
ifnonnull 27
25: aload 4
monitorexit
26: aconst_null
areturn
27: StackMap locals: android.content.res.ResourcesImpl
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
aload 2
new java.lang.ref.WeakReference
dup
aload 5
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
28: aload 1
ifnull 33
29: aload 0
aload 1
aload 3
30: aload 5
aload 2
getfield android.content.res.ResourcesKey.mCompatInfo:Landroid/content/res/CompatibilityInfo;
31: invokevirtual android.app.ResourcesManager.getOrCreateResourcesForActivityLocked:(Landroid/os/IBinder;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
astore 6
start local 6 32: goto 34
end local 6 33: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 5
aload 2
getfield android.content.res.ResourcesKey.mCompatInfo:Landroid/content/res/CompatibilityInfo;
invokevirtual android.app.ResourcesManager.getOrCreateResourcesLocked:(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
astore 6
start local 6 34: StackMap locals: android.content.res.Resources
StackMap stack:
aload 6
aload 4
monitorexit
35: areturn
end local 6 end local 5 36: StackMap locals: android.app.ResourcesManager android.os.IBinder android.content.res.ResourcesKey java.lang.ClassLoader android.app.ResourcesManager
StackMap stack: java.lang.Throwable
aload 4
monitorexit
37: athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Landroid/app/ResourcesManager;
0 38 1 activityToken Landroid/os/IBinder;
0 38 2 key Landroid/content/res/ResourcesKey;
0 38 3 classLoader Ljava/lang/ClassLoader;
4 18 5 activityResources Landroid/app/ResourcesManager$ActivityResources;
10 12 6 temp Landroid/content/res/Configuration;
13 18 6 resourcesImpl Landroid/content/res/ResourcesImpl;
20 23 5 resourcesImpl Landroid/content/res/ResourcesImpl;
24 36 5 resourcesImpl Landroid/content/res/ResourcesImpl;
32 33 6 resources Landroid/content/res/Resources;
34 36 6 resources Landroid/content/res/Resources;
Exception table:
from to target type
1 17 36 any
18 22 36 any
23 26 36 any
27 35 36 any
36 37 36 any
MethodParameters:
Name Flags
activityToken
key
classLoader
public android.content.res.Resources getResources(android.os.IBinder, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String[], int, android.content.res.Configuration, android.content.res.CompatibilityInfo, java.lang.ClassLoader);
descriptor: (Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=13, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: ldc 8192
ldc "ResourcesManager#getResources"
invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
1: new android.content.res.ResourcesKey
dup
2: aload 2
3: aload 3
4: aload 4
5: aload 5
6: iload 6
7: aload 7
ifnull 8
new android.content.res.Configuration
dup
aload 7
invokespecial android.content.res.Configuration.<init>:(Landroid/content/res/Configuration;)V
goto 9
StackMap locals: android.app.ResourcesManager android.os.IBinder java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration android.content.res.CompatibilityInfo java.lang.ClassLoader
StackMap stack: new 1 new 1 java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int
8: aconst_null
9: StackMap locals: android.app.ResourcesManager android.os.IBinder java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration android.content.res.CompatibilityInfo java.lang.ClassLoader
StackMap stack: new 1 new 1 java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration
aload 8
10: invokespecial android.content.res.ResourcesKey.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
astore 10
start local 10 11: aload 9
ifnull 12
aload 9
goto 13
StackMap locals: android.content.res.ResourcesKey
StackMap stack:
12: invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
StackMap locals:
StackMap stack: java.lang.ClassLoader
13: astore 9
14: aload 0
aload 1
aload 10
aload 9
invokevirtual android.app.ResourcesManager.getOrCreateResources:(Landroid/os/IBinder;Landroid/content/res/ResourcesKey;Ljava/lang/ClassLoader;)Landroid/content/res/Resources;
astore 12
15: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
16: aload 12
areturn
end local 10 17: StackMap locals: android.app.ResourcesManager android.os.IBinder java.lang.String java.lang.String[] java.lang.String[] java.lang.String[] int android.content.res.Configuration android.content.res.CompatibilityInfo java.lang.ClassLoader
StackMap stack: java.lang.Throwable
astore 11
18: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
19: aload 11
athrow
end local 9 end local 8 end local 7 end local 6 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 20 0 this Landroid/app/ResourcesManager;
0 20 1 activityToken Landroid/os/IBinder;
0 20 2 resDir Ljava/lang/String;
0 20 3 splitResDirs [Ljava/lang/String;
0 20 4 overlayDirs [Ljava/lang/String;
0 20 5 libDirs [Ljava/lang/String;
0 20 6 displayId I
0 20 7 overrideConfig Landroid/content/res/Configuration;
0 20 8 compatInfo Landroid/content/res/CompatibilityInfo;
0 20 9 classLoader Ljava/lang/ClassLoader;
11 17 10 key Landroid/content/res/ResourcesKey;
Exception table:
from to target type
0 15 17 any
MethodParameters:
Name Flags
activityToken
resDir
splitResDirs
overlayDirs
libDirs
displayId
overrideConfig
compatInfo
classLoader
public void updateResourcesForActivity(android.os.IBinder, android.content.res.Configuration, int, boolean);
descriptor: (Landroid/os/IBinder;Landroid/content/res/Configuration;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=18, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: ldc 8192
1: ldc "ResourcesManager#updateResourcesForActivity"
2: invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
3: aload 0
dup
astore 5
monitorenter
4: aload 0
aload 1
invokevirtual android.app.ResourcesManager.getOrCreateActivityResourcesStructLocked:(Landroid/os/IBinder;)Landroid/app/ResourcesManager$ActivityResources;
5: astore 6
start local 6 6: aload 6
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
aload 2
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 10
7: iload 4
ifne 10
8: aload 5
monitorexit
9: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
return
10: StackMap locals: android.app.ResourcesManager android.app.ResourcesManager$ActivityResources
StackMap stack:
new android.content.res.Configuration
dup
aload 6
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
invokespecial android.content.res.Configuration.<init>:(Landroid/content/res/Configuration;)V
astore 7
start local 7 11: aload 2
ifnull 14
12: aload 6
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
aload 2
invokevirtual android.content.res.Configuration.setTo:(Landroid/content/res/Configuration;)V
13: goto 15
14: StackMap locals: android.content.res.Configuration
StackMap stack:
aload 6
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
invokevirtual android.content.res.Configuration.unset:()V
15: StackMap locals:
StackMap stack:
aload 6
getfield android.app.ResourcesManager$ActivityResources.overrideConfig:Landroid/content/res/Configuration;
getstatic android.content.res.Configuration.EMPTY:Landroid/content/res/Configuration;
invokevirtual android.content.res.Configuration.equals:(Landroid/content/res/Configuration;)Z
ifeq 16
iconst_0
goto 17
StackMap locals:
StackMap stack:
16: iconst_1
17: StackMap locals:
StackMap stack: int
istore 8
start local 8 18: aload 6
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 9
start local 9 19: iconst_0
istore 10
start local 10 20: goto 53
21: StackMap locals: int int int
StackMap stack:
aload 6
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
22: iload 10
23: invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 11
start local 11 24: aload 11
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.Resources
astore 12
start local 12 25: aload 12
ifnonnull 27
26: goto 52
27: StackMap locals: java.lang.ref.WeakReference android.content.res.Resources
StackMap stack:
aload 0
aload 12
invokevirtual android.content.res.Resources.getImpl:()Landroid/content/res/ResourcesImpl;
invokevirtual android.app.ResourcesManager.findKeyForResourceImplLocked:(Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey;
astore 13
start local 13 28: aload 13
ifnonnull 33
29: ldc "ResourcesManager"
new java.lang.StringBuilder
dup
ldc "can't find ResourcesKey for resources impl="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: aload 12
invokevirtual android.content.res.Resources.getImpl:()Landroid/content/res/ResourcesImpl;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
32: goto 52
33: StackMap locals: android.content.res.ResourcesKey
StackMap stack:
new android.content.res.Configuration
dup
invokespecial android.content.res.Configuration.<init>:()V
astore 14
start local 14 34: aload 2
ifnull 36
35: aload 14
aload 2
invokevirtual android.content.res.Configuration.setTo:(Landroid/content/res/Configuration;)V
36: StackMap locals: android.content.res.Configuration
StackMap stack:
iload 8
ifeq 40
aload 13
invokevirtual android.content.res.ResourcesKey.hasOverrideConfiguration:()Z
ifeq 40
37: aload 7
aload 13
getfield android.content.res.ResourcesKey.mOverrideConfiguration:Landroid/content/res/Configuration;
38: invokestatic android.content.res.Configuration.generateDelta:(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)Landroid/content/res/Configuration;
astore 15
start local 15 39: aload 14
aload 15
invokevirtual android.content.res.Configuration.updateFrom:(Landroid/content/res/Configuration;)I
pop
end local 15 40: StackMap locals:
StackMap stack:
new android.content.res.ResourcesKey
dup
aload 13
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
41: aload 13
getfield android.content.res.ResourcesKey.mSplitResDirs:[Ljava/lang/String;
42: aload 13
getfield android.content.res.ResourcesKey.mOverlayDirs:[Ljava/lang/String;
aload 13
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
iload 3
43: aload 14
aload 13
getfield android.content.res.ResourcesKey.mCompatInfo:Landroid/content/res/CompatibilityInfo;
44: invokespecial android.content.res.ResourcesKey.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
astore 15
start local 15 45: aload 0
aload 15
invokevirtual android.app.ResourcesManager.findResourcesImplForKeyLocked:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 16
start local 16 46: aload 16
ifnonnull 50
47: aload 0
aload 15
invokevirtual android.app.ResourcesManager.createResourcesImpl:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 16
48: aload 16
ifnull 50
49: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
aload 15
new java.lang.ref.WeakReference
dup
aload 16
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
50: StackMap locals: android.content.res.ResourcesKey android.content.res.ResourcesImpl
StackMap stack:
aload 16
ifnull 52
aload 16
aload 12
invokevirtual android.content.res.Resources.getImpl:()Landroid/content/res/ResourcesImpl;
if_acmpeq 52
51: aload 12
aload 16
invokevirtual android.content.res.Resources.setImpl:(Landroid/content/res/ResourcesImpl;)V
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 52: StackMap locals: android.app.ResourcesManager android.os.IBinder android.content.res.Configuration int int android.app.ResourcesManager android.app.ResourcesManager$ActivityResources android.content.res.Configuration int int int
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
53: iload 10
iload 9
if_icmplt 21
end local 10 end local 9 end local 8 end local 7 end local 6 54: aload 5
monitorexit
55: goto 61
StackMap locals: android.app.ResourcesManager android.os.IBinder android.content.res.Configuration int int android.app.ResourcesManager
StackMap stack: java.lang.Throwable
56: aload 5
monitorexit
57: athrow
58: StackMap locals: android.app.ResourcesManager android.os.IBinder android.content.res.Configuration int int
StackMap stack: java.lang.Throwable
astore 17
59: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
60: aload 17
athrow
61: StackMap locals:
StackMap stack:
ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
62: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 this Landroid/app/ResourcesManager;
0 63 1 activityToken Landroid/os/IBinder;
0 63 2 overrideConfig Landroid/content/res/Configuration;
0 63 3 displayId I
0 63 4 movedToDifferentDisplay Z
6 54 6 activityResources Landroid/app/ResourcesManager$ActivityResources;
11 54 7 oldConfig Landroid/content/res/Configuration;
18 54 8 activityHasOverrideConfig Z
19 54 9 refCount I
20 54 10 i I
24 52 11 weakResRef Ljava/lang/ref/WeakReference<Landroid/content/res/Resources;>;
25 52 12 resources Landroid/content/res/Resources;
28 52 13 oldKey Landroid/content/res/ResourcesKey;
34 52 14 rebasedOverrideConfig Landroid/content/res/Configuration;
39 40 15 overrideOverrideConfig Landroid/content/res/Configuration;
45 52 15 newKey Landroid/content/res/ResourcesKey;
46 52 16 resourcesImpl Landroid/content/res/ResourcesImpl;
Exception table:
from to target type
4 9 56 any
10 55 56 any
56 57 56 any
0 9 58 any
10 58 58 any
MethodParameters:
Name Flags
activityToken
overrideConfig
displayId
movedToDifferentDisplay
public final boolean applyConfigurationToResourcesLocked(android.content.res.Configuration, android.content.res.CompatibilityInfo);
descriptor: (Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=17, args_size=3
start local 0 start local 1 start local 2 0: ldc 8192
1: ldc "ResourcesManager#applyConfigurationToResourcesLocked"
2: invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
3: aload 0
getfield android.app.ResourcesManager.mResConfiguration:Landroid/content/res/Configuration;
aload 1
invokevirtual android.content.res.Configuration.isOtherSeqNewer:(Landroid/content/res/Configuration;)Z
ifne 6
aload 2
ifnonnull 6
4: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
5: iconst_0
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResConfiguration:Landroid/content/res/Configuration;
aload 1
invokevirtual android.content.res.Configuration.updateFrom:(Landroid/content/res/Configuration;)I
istore 3
start local 3 7: aload 0
getfield android.app.ResourcesManager.mAdjustedDisplays:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.clear:()V
8: aload 0
invokevirtual android.app.ResourcesManager.getDisplayMetrics:()Landroid/util/DisplayMetrics;
astore 4
start local 4 9: aload 2
ifnull 13
aload 0
getfield android.app.ResourcesManager.mResCompatibilityInfo:Landroid/content/res/CompatibilityInfo;
ifnull 11
10: aload 0
getfield android.app.ResourcesManager.mResCompatibilityInfo:Landroid/content/res/CompatibilityInfo;
aload 2
invokevirtual android.content.res.CompatibilityInfo.equals:(Ljava/lang/Object;)Z
ifne 13
11: StackMap locals: int android.util.DisplayMetrics
StackMap stack:
aload 0
aload 2
putfield android.app.ResourcesManager.mResCompatibilityInfo:Landroid/content/res/CompatibilityInfo;
12: iload 3
sipush 3328
ior
istore 3
13: StackMap locals:
StackMap stack:
aload 1
aload 4
aload 2
invokestatic android.content.res.Resources.updateSystemConfiguration:(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
14: invokestatic android.app.ApplicationPackageManager.configurationChanged:()V
15: aconst_null
astore 5
start local 5 16: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
iconst_1
isub
istore 6
start local 6 17: goto 49
18: StackMap locals: android.content.res.Configuration int
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 6
invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
checkcast android.content.res.ResourcesKey
astore 7
start local 7 19: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 6
invokevirtual android.util.ArrayMap.valueAt:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 8
start local 8 20: aload 8
ifnull 21
aload 8
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.ResourcesImpl
goto 22
StackMap locals: android.content.res.ResourcesKey java.lang.ref.WeakReference
StackMap stack:
21: aconst_null
StackMap locals:
StackMap stack: android.content.res.ResourcesImpl
22: astore 9
start local 9 23: aload 9
ifnull 47
24: aload 7
getfield android.content.res.ResourcesKey.mDisplayId:I
istore 10
start local 10 25: iload 10
ifne 26
iconst_1
goto 27
StackMap locals: android.content.res.ResourcesImpl int
StackMap stack:
26: iconst_0
StackMap locals:
StackMap stack: int
27: istore 11
start local 11 28: aload 4
astore 12
start local 12 29: aload 7
invokevirtual android.content.res.ResourcesKey.hasOverrideConfiguration:()Z
istore 13
start local 13 30: iload 11
ifeq 31
iload 13
ifeq 45
31: StackMap locals: int android.util.DisplayMetrics int
StackMap stack:
aload 5
ifnonnull 33
32: new android.content.res.Configuration
dup
invokespecial android.content.res.Configuration.<init>:()V
astore 5
33: StackMap locals:
StackMap stack:
aload 5
aload 1
invokevirtual android.content.res.Configuration.setTo:(Landroid/content/res/Configuration;)V
34: aload 9
invokevirtual android.content.res.ResourcesImpl.getDisplayAdjustments:()Landroid/view/DisplayAdjustments;
astore 14
start local 14 35: aload 2
ifnull 38
36: new android.view.DisplayAdjustments
dup
aload 14
invokespecial android.view.DisplayAdjustments.<init>:(Landroid/view/DisplayAdjustments;)V
astore 14
37: aload 14
aload 2
invokevirtual android.view.DisplayAdjustments.setCompatibilityInfo:(Landroid/content/res/CompatibilityInfo;)V
38: StackMap locals: android.view.DisplayAdjustments
StackMap stack:
aload 0
iload 10
aload 14
invokevirtual android.app.ResourcesManager.getDisplayMetrics:(ILandroid/view/DisplayAdjustments;)Landroid/util/DisplayMetrics;
astore 12
39: iload 11
ifne 41
40: aload 12
aload 5
invokestatic android.app.ResourcesManager.applyNonDefaultDisplayMetricsToConfiguration:(Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V
41: StackMap locals:
StackMap stack:
iload 13
ifeq 43
42: aload 5
aload 7
getfield android.content.res.ResourcesKey.mOverrideConfiguration:Landroid/content/res/Configuration;
invokevirtual android.content.res.Configuration.updateFrom:(Landroid/content/res/Configuration;)I
pop
43: StackMap locals:
StackMap stack:
aload 9
aload 5
aload 12
aload 2
invokevirtual android.content.res.ResourcesImpl.updateConfiguration:(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
end local 14 44: goto 48
45: StackMap locals:
StackMap stack:
aload 9
aload 1
aload 12
aload 2
invokevirtual android.content.res.ResourcesImpl.updateConfiguration:(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
end local 13 end local 12 end local 11 end local 10 46: goto 48
47: StackMap locals: android.app.ResourcesManager android.content.res.Configuration android.content.res.CompatibilityInfo int android.util.DisplayMetrics android.content.res.Configuration int android.content.res.ResourcesKey java.lang.ref.WeakReference android.content.res.ResourcesImpl
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 6
invokevirtual android.util.ArrayMap.removeAt:(I)Ljava/lang/Object;
pop
end local 9 end local 8 end local 7 48: StackMap locals:
StackMap stack:
iinc 6 -1
StackMap locals:
StackMap stack:
49: iload 6
ifge 18
end local 6 50: iload 3
ifeq 51
iconst_1
goto 52
StackMap locals:
StackMap stack:
51: iconst_0
StackMap locals:
StackMap stack: int
52: istore 16
53: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
54: iload 16
ireturn
end local 5 end local 4 end local 3 55: StackMap locals: android.app.ResourcesManager android.content.res.Configuration android.content.res.CompatibilityInfo
StackMap stack: java.lang.Throwable
astore 15
56: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
57: aload 15
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Landroid/app/ResourcesManager;
0 58 1 config Landroid/content/res/Configuration;
0 58 2 compat Landroid/content/res/CompatibilityInfo;
7 55 3 changes I
9 55 4 defaultDisplayMetrics Landroid/util/DisplayMetrics;
16 55 5 tmpConfig Landroid/content/res/Configuration;
17 50 6 i I
19 48 7 key Landroid/content/res/ResourcesKey;
20 48 8 weakImplRef Ljava/lang/ref/WeakReference<Landroid/content/res/ResourcesImpl;>;
23 48 9 r Landroid/content/res/ResourcesImpl;
25 46 10 displayId I
28 46 11 isDefaultDisplay Z
29 46 12 dm Landroid/util/DisplayMetrics;
30 46 13 hasOverrideConfiguration Z
35 44 14 daj Landroid/view/DisplayAdjustments;
Exception table:
from to target type
0 4 55 any
6 53 55 any
MethodParameters:
Name Flags
config
compat
public void appendLibAssetForMainAssetPath(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
dup
astore 3
monitorenter
1: new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
astore 4
start local 4 2: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
istore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 30
5: StackMap locals: android.app.ResourcesManager java.lang.String java.lang.String android.app.ResourcesManager android.util.ArrayMap int int
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 6
invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
checkcast android.content.res.ResourcesKey
astore 7
start local 7 6: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 6
invokevirtual android.util.ArrayMap.valueAt:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 8
start local 8 7: aload 8
ifnull 8
aload 8
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.ResourcesImpl
goto 9
StackMap locals: android.content.res.ResourcesKey java.lang.ref.WeakReference
StackMap stack:
8: aconst_null
StackMap locals:
StackMap stack: android.content.res.ResourcesImpl
9: astore 9
start local 9 10: aload 9
ifnull 29
aload 7
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
aload 1
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 29
11: aload 7
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
aload 2
invokestatic com.android.internal.util.ArrayUtils.contains:([Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 29
12: iconst_1
13: aload 7
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
ifnull 14
aload 7
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
arraylength
goto 15
StackMap locals: android.app.ResourcesManager java.lang.String java.lang.String android.app.ResourcesManager android.util.ArrayMap int int android.content.res.ResourcesKey java.lang.ref.WeakReference android.content.res.ResourcesImpl
StackMap stack: int
14: iconst_0
15: StackMap locals: android.app.ResourcesManager java.lang.String java.lang.String android.app.ResourcesManager android.util.ArrayMap int int android.content.res.ResourcesKey java.lang.ref.WeakReference android.content.res.ResourcesImpl
StackMap stack: int int
iadd
istore 10
start local 10 16: iload 10
anewarray java.lang.String
astore 11
start local 11 17: aload 7
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
ifnull 19
18: aload 7
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
iconst_0
aload 11
iconst_0
aload 7
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: StackMap locals: int java.lang.String[]
StackMap stack:
aload 11
iload 10
iconst_1
isub
aload 2
aastore
20: aload 4
aload 9
new android.content.res.ResourcesKey
dup
21: aload 7
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
22: aload 7
getfield android.content.res.ResourcesKey.mSplitResDirs:[Ljava/lang/String;
23: aload 7
getfield android.content.res.ResourcesKey.mOverlayDirs:[Ljava/lang/String;
24: aload 11
25: aload 7
getfield android.content.res.ResourcesKey.mDisplayId:I
26: aload 7
getfield android.content.res.ResourcesKey.mOverrideConfiguration:Landroid/content/res/Configuration;
27: aload 7
getfield android.content.res.ResourcesKey.mCompatInfo:Landroid/content/res/CompatibilityInfo;
invokespecial android.content.res.ResourcesKey.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
28: invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 11 end local 10 end local 9 end local 8 end local 7 29: StackMap locals: android.app.ResourcesManager java.lang.String java.lang.String android.app.ResourcesManager android.util.ArrayMap int int
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
30: iload 6
iload 5
if_icmplt 5
end local 6 31: aload 0
aload 4
invokevirtual android.app.ResourcesManager.redirectResourcesToNewImplLocked:(Landroid/util/ArrayMap;)V
end local 5 end local 4 32: aload 3
monitorexit
33: goto 36
StackMap locals: android.app.ResourcesManager java.lang.String java.lang.String android.app.ResourcesManager
StackMap stack: java.lang.Throwable
34: aload 3
monitorexit
35: athrow
36: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Landroid/app/ResourcesManager;
0 37 1 assetPath Ljava/lang/String;
0 37 2 libAsset Ljava/lang/String;
2 32 4 updatedResourceKeys Landroid/util/ArrayMap<Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesKey;>;
3 32 5 implCount I
4 31 6 i I
6 29 7 key Landroid/content/res/ResourcesKey;
7 29 8 weakImplRef Ljava/lang/ref/WeakReference<Landroid/content/res/ResourcesImpl;>;
10 29 9 impl Landroid/content/res/ResourcesImpl;
16 29 10 newLibAssetCount I
17 29 11 newLibAssets [Ljava/lang/String;
Exception table:
from to target type
1 33 34 any
34 35 34 any
MethodParameters:
Name Flags
assetPath
libAsset
final void applyNewResourceDirsLocked(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
flags: (0x0010) ACC_FINAL
Code:
stack=11, locals=10, args_size=3
start local 0 start local 1 start local 2 0: ldc 8192
1: ldc "ResourcesManager#applyNewResourceDirsLocked"
2: invokestatic android.os.Trace.traceBegin:(JLjava/lang/String;)V
3: new android.util.ArrayMap
dup
invokespecial android.util.ArrayMap.<init>:()V
astore 3
start local 3 4: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
invokevirtual android.util.ArrayMap.size:()I
istore 4
start local 4 5: iconst_0
istore 5
start local 5 6: goto 23
7: StackMap locals: android.util.ArrayMap int int
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 5
invokevirtual android.util.ArrayMap.keyAt:(I)Ljava/lang/Object;
checkcast android.content.res.ResourcesKey
astore 6
start local 6 8: aload 0
getfield android.app.ResourcesManager.mResourceImpls:Landroid/util/ArrayMap;
iload 5
invokevirtual android.util.ArrayMap.valueAt:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 7
start local 7 9: aload 7
ifnull 10
aload 7
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.ResourcesImpl
goto 11
StackMap locals: android.content.res.ResourcesKey java.lang.ref.WeakReference
StackMap stack:
10: aconst_null
StackMap locals:
StackMap stack: android.content.res.ResourcesImpl
11: astore 8
start local 8 12: aload 8
ifnull 22
aload 6
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
ifnull 13
aload 6
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
13: StackMap locals: android.content.res.ResourcesImpl
StackMap stack:
aload 3
aload 8
new android.content.res.ResourcesKey
dup
14: aload 6
getfield android.content.res.ResourcesKey.mResDir:Ljava/lang/String;
15: aload 6
getfield android.content.res.ResourcesKey.mSplitResDirs:[Ljava/lang/String;
16: aload 2
17: aload 6
getfield android.content.res.ResourcesKey.mLibDirs:[Ljava/lang/String;
18: aload 6
getfield android.content.res.ResourcesKey.mDisplayId:I
19: aload 6
getfield android.content.res.ResourcesKey.mOverrideConfiguration:Landroid/content/res/Configuration;
20: aload 6
getfield android.content.res.ResourcesKey.mCompatInfo:Landroid/content/res/CompatibilityInfo;
invokespecial android.content.res.ResourcesKey.<init>:(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
21: invokevirtual android.util.ArrayMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 7 end local 6 22: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
23: iload 5
iload 4
if_icmplt 7
end local 5 24: aload 0
aload 3
invokevirtual android.app.ResourcesManager.redirectResourcesToNewImplLocked:(Landroid/util/ArrayMap;)V
end local 4 end local 3 25: goto 29
StackMap locals: android.app.ResourcesManager java.lang.String java.lang.String[]
StackMap stack: java.lang.Throwable
26: astore 9
27: ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
28: aload 9
athrow
29: StackMap locals:
StackMap stack:
ldc 8192
invokestatic android.os.Trace.traceEnd:(J)V
30: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Landroid/app/ResourcesManager;
0 31 1 baseCodePath Ljava/lang/String;
0 31 2 newResourceDirs [Ljava/lang/String;
4 25 3 updatedResourceKeys Landroid/util/ArrayMap<Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesKey;>;
5 25 4 implCount I
6 24 5 i I
8 22 6 key Landroid/content/res/ResourcesKey;
9 22 7 weakImplRef Ljava/lang/ref/WeakReference<Landroid/content/res/ResourcesImpl;>;
12 22 8 impl Landroid/content/res/ResourcesImpl;
Exception table:
from to target type
0 26 26 any
MethodParameters:
Name Flags
baseCodePath final
newResourceDirs final
private void redirectResourcesToNewImplLocked(android.util.ArrayMap<android.content.res.ResourcesImpl, android.content.res.ResourcesKey>);
descriptor: (Landroid/util/ArrayMap;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.util.ArrayMap.isEmpty:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceReferences:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 17
5: StackMap locals: int int
StackMap stack:
aload 0
getfield android.app.ResourcesManager.mResourceReferences:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 4
start local 4 6: aload 4
ifnull 7
aload 4
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.Resources
goto 8
StackMap locals: java.lang.ref.WeakReference
StackMap stack:
7: aconst_null
StackMap locals:
StackMap stack: android.content.res.Resources
8: astore 5
start local 5 9: aload 5
ifnull 16
10: aload 1
aload 5
invokevirtual android.content.res.Resources.getImpl:()Landroid/content/res/ResourcesImpl;
invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.content.res.ResourcesKey
astore 6
start local 6 11: aload 6
ifnull 16
12: aload 0
aload 6
invokevirtual android.app.ResourcesManager.findOrCreateResourcesImplForKeyLocked:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 7
start local 7 13: aload 7
ifnonnull 15
14: new android.content.res.Resources$NotFoundException
dup
ldc "failed to redirect ResourcesImpl"
invokespecial android.content.res.Resources$NotFoundException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: android.content.res.Resources android.content.res.ResourcesKey android.content.res.ResourcesImpl
StackMap stack:
aload 5
aload 7
invokevirtual android.content.res.Resources.setImpl:(Landroid/content/res/ResourcesImpl;)V
end local 7 end local 6 end local 5 end local 4 16: StackMap locals: android.app.ResourcesManager android.util.ArrayMap int int
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
iload 2
if_icmplt 5
end local 3 18: aload 0
getfield android.app.ResourcesManager.mActivityResourceReferences:Ljava/util/WeakHashMap;
invokevirtual java.util.WeakHashMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 38
StackMap locals: android.app.ResourcesManager android.util.ArrayMap int top java.util.Iterator
StackMap stack:
19: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.app.ResourcesManager$ActivityResources
astore 3
start local 3 20: aload 3
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 5
start local 5 21: iconst_0
istore 6
start local 6 22: goto 37
23: StackMap locals: android.app.ResourcesManager android.util.ArrayMap int android.app.ResourcesManager$ActivityResources java.util.Iterator int int
StackMap stack:
aload 3
getfield android.app.ResourcesManager$ActivityResources.activityResources:Ljava/util/ArrayList;
iload 6
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 7
start local 7 24: aload 7
ifnull 25
aload 7
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast android.content.res.Resources
goto 26
StackMap locals: java.lang.ref.WeakReference
StackMap stack:
25: aconst_null
StackMap locals:
StackMap stack: android.content.res.Resources
26: astore 8
start local 8 27: aload 8
ifnull 36
28: aload 1
aload 8
invokevirtual android.content.res.Resources.getImpl:()Landroid/content/res/ResourcesImpl;
invokevirtual android.util.ArrayMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.content.res.ResourcesKey
astore 9
start local 9 29: aload 9
ifnull 36
30: aload 0
aload 9
invokevirtual android.app.ResourcesManager.findOrCreateResourcesImplForKeyLocked:(Landroid/content/res/ResourcesKey;)Landroid/content/res/ResourcesImpl;
astore 10
start local 10 31: aload 10
ifnonnull 35
32: new android.content.res.Resources$NotFoundException
dup
33: ldc "failed to redirect ResourcesImpl"
34: invokespecial android.content.res.Resources$NotFoundException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals: android.content.res.Resources android.content.res.ResourcesKey android.content.res.ResourcesImpl
StackMap stack:
aload 8
aload 10
invokevirtual android.content.res.Resources.setImpl:(Landroid/content/res/ResourcesImpl;)V
end local 10 end local 9 end local 8 end local 7 36: StackMap locals: android.app.ResourcesManager android.util.ArrayMap int android.app.ResourcesManager$ActivityResources java.util.Iterator int int
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
37: iload 6
iload 5
if_icmplt 23
end local 6 end local 5 end local 3 38: StackMap locals: android.app.ResourcesManager android.util.ArrayMap int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
39: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Landroid/app/ResourcesManager;
0 40 1 updatedResourceKeys Landroid/util/ArrayMap<Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesKey;>;
3 40 2 resourcesCount I
4 18 3 i I
6 16 4 ref Ljava/lang/ref/WeakReference<Landroid/content/res/Resources;>;
9 16 5 r Landroid/content/res/Resources;
11 16 6 key Landroid/content/res/ResourcesKey;
13 16 7 impl Landroid/content/res/ResourcesImpl;
20 38 3 activityResources Landroid/app/ResourcesManager$ActivityResources;
21 38 5 resCount I
22 38 6 i I
24 36 7 ref Ljava/lang/ref/WeakReference<Landroid/content/res/Resources;>;
27 36 8 r Landroid/content/res/Resources;
29 36 9 key Landroid/content/res/ResourcesKey;
31 36 10 impl Landroid/content/res/ResourcesImpl;
Signature: (Landroid/util/ArrayMap<Landroid/content/res/ResourcesImpl;Landroid/content/res/ResourcesKey;>;)V
MethodParameters:
Name Flags
updatedResourceKeys final
private static boolean lambda$0(java.lang.ref.WeakReference);
descriptor: (Ljava/lang/ref/WeakReference;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
ifnull 1
aload 0
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
ifnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 weakRef Ljava/lang/ref/WeakReference<Landroid/content/res/Resources;>;
}
SourceFile: "ResourcesManager.java"
NestMembers:
android.app.ResourcesManager$ActivityResources android.app.ResourcesManager$ApkKey
InnerClasses:
private ActivityResources = android.app.ResourcesManager$ActivityResources of android.app.ResourcesManager
private ApkKey = android.app.ResourcesManager$ApkKey of android.app.ResourcesManager
public Builder = android.content.res.AssetManager$Builder of android.content.res.AssetManager
public NotFoundException = android.content.res.Resources$NotFoundException of android.content.res.Resources
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles