public final class android.view.DisplayCutout
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.view.DisplayCutout
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "DisplayCutout"
private static final java.lang.String BOTTOM_MARKER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "@bottom"
private static final java.lang.String DP_MARKER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "@dp"
private static final java.lang.String RIGHT_MARKER;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "@right"
public static final java.lang.String EMULATION_OVERLAY_CATEGORY;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "com.android.internal.display_cutout_emulation"
private static final android.graphics.Rect ZERO_RECT;
descriptor: Landroid/graphics/Rect;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final android.graphics.Region EMPTY_REGION;
descriptor: Landroid/graphics/Region;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final android.view.DisplayCutout NO_CUTOUT;
descriptor: Landroid/view/DisplayCutout;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final android.util.Pair<android.graphics.Path, android.view.DisplayCutout> NULL_PAIR;
descriptor: Landroid/util/Pair;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Landroid/util/Pair<Landroid/graphics/Path;Landroid/view/DisplayCutout;>;
private static final java.lang.Object CACHE_LOCK;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.lang.String sCachedSpec;
descriptor: Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "CACHE_LOCK")
private static int sCachedDisplayWidth;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "CACHE_LOCK")
private static int sCachedDisplayHeight;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "CACHE_LOCK")
private static float sCachedDensity;
descriptor: F
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "CACHE_LOCK")
private static android.util.Pair<android.graphics.Path, android.view.DisplayCutout> sCachedCutout;
descriptor: Landroid/util/Pair;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Landroid/util/Pair<Landroid/graphics/Path;Landroid/view/DisplayCutout;>;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.GuardedBy(value = "CACHE_LOCK")
private final android.graphics.Rect mSafeInsets;
descriptor: Landroid/graphics/Rect;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final android.graphics.Region mBounds;
descriptor: Landroid/graphics/Region;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
putstatic android.view.DisplayCutout.ZERO_RECT:Landroid/graphics/Rect;
1: new android.graphics.Region
dup
invokespecial android.graphics.Region.<init>:()V
putstatic android.view.DisplayCutout.EMPTY_REGION:Landroid/graphics/Region;
2: new android.view.DisplayCutout
dup
getstatic android.view.DisplayCutout.ZERO_RECT:Landroid/graphics/Rect;
getstatic android.view.DisplayCutout.EMPTY_REGION:Landroid/graphics/Region;
3: iconst_0
4: invokespecial android.view.DisplayCutout.<init>:(Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
putstatic android.view.DisplayCutout.NO_CUTOUT:Landroid/view/DisplayCutout;
5: new android.util.Pair
dup
aconst_null
aconst_null
invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
putstatic android.view.DisplayCutout.NULL_PAIR:Landroid/util/Pair;
6: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic android.view.DisplayCutout.CACHE_LOCK:Ljava/lang/Object;
7: getstatic android.view.DisplayCutout.NULL_PAIR:Landroid/util/Pair;
putstatic android.view.DisplayCutout.sCachedCutout:Landroid/util/Pair;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(android.graphics.Rect, java.util.List<android.graphics.Rect>);
descriptor: (Landroid/graphics/Rect;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ifnull 1
new android.graphics.Rect
dup
aload 1
invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
goto 2
StackMap locals:
StackMap stack: uninitialized-this
1: getstatic android.view.DisplayCutout.ZERO_RECT:Landroid/graphics/Rect;
2: StackMap locals: uninitialized-this android.graphics.Rect java.util.List
StackMap stack: uninitialized-this android.graphics.Rect
aload 2
invokestatic android.view.DisplayCutout.boundingRectsToRegion:(Ljava/util/List;)Landroid/graphics/Region;
3: iconst_1
invokespecial android.view.DisplayCutout.<init>:(Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/DisplayCutout;
0 5 1 safeInsets Landroid/graphics/Rect;
0 5 2 boundingRects Ljava/util/List<Landroid/graphics/Rect;>;
Signature: (Landroid/graphics/Rect;Ljava/util/List<Landroid/graphics/Rect;>;)V
MethodParameters:
Name Flags
safeInsets
boundingRects
private void <init>(android.graphics.Rect, android.graphics.Region, boolean);
descriptor: (Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
ifnonnull 2
getstatic android.view.DisplayCutout.ZERO_RECT:Landroid/graphics/Rect;
goto 4
2: StackMap locals: android.view.DisplayCutout android.graphics.Rect android.graphics.Region int
StackMap stack: android.view.DisplayCutout
iload 3
ifeq 3
new android.graphics.Rect
dup
aload 1
invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
goto 4
StackMap locals:
StackMap stack: android.view.DisplayCutout
3: aload 1
4: StackMap locals: android.view.DisplayCutout android.graphics.Rect android.graphics.Region int
StackMap stack: android.view.DisplayCutout android.graphics.Rect
putfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
5: aload 0
aload 2
ifnonnull 6
invokestatic android.graphics.Region.obtain:()Landroid/graphics/Region;
goto 8
6: StackMap locals:
StackMap stack: android.view.DisplayCutout
iload 3
ifeq 7
aload 2
invokestatic android.graphics.Region.obtain:(Landroid/graphics/Region;)Landroid/graphics/Region;
goto 8
StackMap locals:
StackMap stack: android.view.DisplayCutout
7: aload 2
8: StackMap locals: android.view.DisplayCutout android.graphics.Rect android.graphics.Region int
StackMap stack: android.view.DisplayCutout android.graphics.Region
putfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Landroid/view/DisplayCutout;
0 10 1 safeInsets Landroid/graphics/Rect;
0 10 2 bounds Landroid/graphics/Region;
0 10 3 copyArguments Z
MethodParameters:
Name Flags
safeInsets
bounds
copyArguments
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
getstatic android.view.DisplayCutout.ZERO_RECT:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
public boolean isBoundsEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokevirtual android.graphics.Region.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
public int getSafeInsetTop();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
getfield android.graphics.Rect.top:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
public int getSafeInsetBottom();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
getfield android.graphics.Rect.bottom:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
public int getSafeInsetLeft();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
getfield android.graphics.Rect.left:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
public int getSafeInsetRight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
getfield android.graphics.Rect.right:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
public android.graphics.Rect getSafeInsets();
descriptor: ()Landroid/graphics/Rect;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new android.graphics.Rect
dup
aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
public android.graphics.Region getBounds();
descriptor: ()Landroid/graphics/Region;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokestatic android.graphics.Region.obtain:(Landroid/graphics/Region;)Landroid/graphics/Region;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
public java.util.List<android.graphics.Rect> getBoundingRects();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 1: invokestatic android.graphics.Region.obtain:()Landroid/graphics/Region;
astore 2
start local 2 2: aload 2
aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokevirtual android.graphics.Region.set:(Landroid/graphics/Region;)Z
pop
3: aload 2
iconst_0
iconst_0
ldc 2147483647
aload 0
invokevirtual android.view.DisplayCutout.getSafeInsetTop:()I
getstatic android.graphics.Region$Op.INTERSECT:Landroid/graphics/Region$Op;
invokevirtual android.graphics.Region.op:(IIIILandroid/graphics/Region$Op;)Z
pop
4: aload 2
invokevirtual android.graphics.Region.isEmpty:()Z
ifne 6
5: aload 1
aload 2
invokevirtual android.graphics.Region.getBounds:()Landroid/graphics/Rect;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
6: StackMap locals: java.util.List android.graphics.Region
StackMap stack:
aload 2
aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokevirtual android.graphics.Region.set:(Landroid/graphics/Region;)Z
pop
7: aload 2
iconst_0
iconst_0
aload 0
invokevirtual android.view.DisplayCutout.getSafeInsetLeft:()I
ldc 2147483647
getstatic android.graphics.Region$Op.INTERSECT:Landroid/graphics/Region$Op;
invokevirtual android.graphics.Region.op:(IIIILandroid/graphics/Region$Op;)Z
pop
8: aload 2
invokevirtual android.graphics.Region.isEmpty:()Z
ifne 10
9: aload 1
aload 2
invokevirtual android.graphics.Region.getBounds:()Landroid/graphics/Rect;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokevirtual android.graphics.Region.set:(Landroid/graphics/Region;)Z
pop
11: aload 2
aload 0
invokevirtual android.view.DisplayCutout.getSafeInsetLeft:()I
iconst_1
iadd
aload 0
invokevirtual android.view.DisplayCutout.getSafeInsetTop:()I
iconst_1
iadd
12: ldc 2147483647
ldc 2147483647
getstatic android.graphics.Region$Op.INTERSECT:Landroid/graphics/Region$Op;
13: invokevirtual android.graphics.Region.op:(IIIILandroid/graphics/Region$Op;)Z
pop
14: aload 2
invokevirtual android.graphics.Region.isEmpty:()Z
ifne 16
15: aload 1
aload 2
invokevirtual android.graphics.Region.getBounds:()Landroid/graphics/Rect;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals:
StackMap stack:
aload 2
invokevirtual android.graphics.Region.recycle:()V
17: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Landroid/view/DisplayCutout;
1 18 1 result Ljava/util/List<Landroid/graphics/Rect;>;
2 18 2 bounds Landroid/graphics/Region;
Signature: ()Ljava/util/List<Landroid/graphics/Rect;>;
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.hashCode:()I
istore 1
start local 1 1: iload 1
bipush 31
imul
aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokevirtual android.graphics.Region.getBounds:()Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.hashCode:()I
iadd
istore 1
2: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/view/DisplayCutout;
1 3 1 result I
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof android.view.DisplayCutout
ifeq 8
3: aload 1
checkcast android.view.DisplayCutout
astore 2
start local 2 4: aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
aload 2
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
ifeq 7
5: aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
aload 2
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokevirtual android.graphics.Region.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iconst_1
ireturn
StackMap locals: android.view.DisplayCutout
StackMap stack:
7: iconst_0
ireturn
end local 2 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/view/DisplayCutout;
0 9 1 o Ljava/lang/Object;
4 8 2 c Landroid/view/DisplayCutout;
MethodParameters:
Name Flags
o
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "DisplayCutout{insets="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1: ldc " boundingRect="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokevirtual android.graphics.Region.getBounds:()Landroid/graphics/Rect;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
2: ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/view/DisplayCutout;
public void writeToProto(android.util.proto.ProtoOutputStream, long);
descriptor: (Landroid/util/proto/ProtoOutputStream;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problems: \n\tINSETS cannot be resolved to a variable\n\tBOUNDS cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
MethodParameters:
Name Flags
proto
fieldId
public android.view.DisplayCutout inset(int, int, int, int);
descriptor: (IIII)Landroid/view/DisplayCutout;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokevirtual android.graphics.Region.isEmpty:()Z
ifne 2
1: iload 1
ifne 3
iload 2
ifne 3
iload 3
ifne 3
iload 4
ifne 3
2: StackMap locals:
StackMap stack:
aload 0
areturn
3: StackMap locals:
StackMap stack:
new android.graphics.Rect
dup
aload 0
getfield android.view.DisplayCutout.mSafeInsets:Landroid/graphics/Rect;
invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
astore 5
start local 5 4: aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
invokestatic android.graphics.Region.obtain:(Landroid/graphics/Region;)Landroid/graphics/Region;
astore 6
start local 6 5: iload 2
ifgt 6
aload 5
getfield android.graphics.Rect.top:I
ifle 7
6: StackMap locals: android.graphics.Rect android.graphics.Region
StackMap stack:
aload 5
aload 5
getfield android.graphics.Rect.top:I
iload 2
isub
invokestatic android.view.DisplayCutout.atLeastZero:(I)I
putfield android.graphics.Rect.top:I
7: StackMap locals:
StackMap stack:
iload 4
ifgt 8
aload 5
getfield android.graphics.Rect.bottom:I
ifle 9
8: StackMap locals:
StackMap stack:
aload 5
aload 5
getfield android.graphics.Rect.bottom:I
iload 4
isub
invokestatic android.view.DisplayCutout.atLeastZero:(I)I
putfield android.graphics.Rect.bottom:I
9: StackMap locals:
StackMap stack:
iload 1
ifgt 10
aload 5
getfield android.graphics.Rect.left:I
ifle 11
10: StackMap locals:
StackMap stack:
aload 5
aload 5
getfield android.graphics.Rect.left:I
iload 1
isub
invokestatic android.view.DisplayCutout.atLeastZero:(I)I
putfield android.graphics.Rect.left:I
11: StackMap locals:
StackMap stack:
iload 3
ifgt 12
aload 5
getfield android.graphics.Rect.right:I
ifle 13
12: StackMap locals:
StackMap stack:
aload 5
aload 5
getfield android.graphics.Rect.right:I
iload 3
isub
invokestatic android.view.DisplayCutout.atLeastZero:(I)I
putfield android.graphics.Rect.right:I
13: StackMap locals:
StackMap stack:
aload 6
iload 1
ineg
iload 2
ineg
invokevirtual android.graphics.Region.translate:(II)V
14: new android.view.DisplayCutout
dup
aload 5
aload 6
iconst_0
invokespecial android.view.DisplayCutout.<init>:(Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
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 15 0 this Landroid/view/DisplayCutout;
0 15 1 insetLeft I
0 15 2 insetTop I
0 15 3 insetRight I
0 15 4 insetBottom I
4 15 5 safeInsets Landroid/graphics/Rect;
5 15 6 bounds Landroid/graphics/Region;
MethodParameters:
Name Flags
insetLeft
insetTop
insetRight
insetBottom
public android.view.DisplayCutout replaceSafeInsets(android.graphics.Rect);
descriptor: (Landroid/graphics/Rect;)Landroid/view/DisplayCutout;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: new android.view.DisplayCutout
dup
new android.graphics.Rect
dup
aload 1
invokespecial android.graphics.Rect.<init>:(Landroid/graphics/Rect;)V
aload 0
getfield android.view.DisplayCutout.mBounds:Landroid/graphics/Region;
iconst_0
invokespecial android.view.DisplayCutout.<init>:(Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/view/DisplayCutout;
0 1 1 safeInsets Landroid/graphics/Rect;
MethodParameters:
Name Flags
safeInsets
private static int atLeastZero(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
ifge 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iload 0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value I
MethodParameters:
Name Flags
value
public static android.view.DisplayCutout fromBoundingRect(int, int, int, int);
descriptor: (IIII)Landroid/view/DisplayCutout;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic android.graphics.Region.obtain:()Landroid/graphics/Region;
astore 4
start local 4 1: aload 4
iload 0
iload 1
iload 2
iload 3
invokevirtual android.graphics.Region.set:(IIII)Z
pop
2: aload 4
invokestatic android.view.DisplayCutout.fromBounds:(Landroid/graphics/Region;)Landroid/view/DisplayCutout;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 left I
0 3 1 top I
0 3 2 right I
0 3 3 bottom I
1 3 4 r Landroid/graphics/Region;
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
left
top
right
bottom
public static android.view.DisplayCutout fromBounds(android.graphics.Region);
descriptor: (Landroid/graphics/Region;)Landroid/view/DisplayCutout;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new android.view.DisplayCutout
dup
getstatic android.view.DisplayCutout.ZERO_RECT:Landroid/graphics/Rect;
aload 0
iconst_0
invokespecial android.view.DisplayCutout.<init>:(Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 region Landroid/graphics/Region;
MethodParameters:
Name Flags
region
public static android.view.DisplayCutout fromResourcesRectApproximation(android.content.res.Resources, int, int);
descriptor: (Landroid/content/res/Resources;II)Landroid/view/DisplayCutout;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
res
displayWidth
displayHeight
public static android.graphics.Path pathFromResources(android.content.res.Resources, int, int);
descriptor: (Landroid/content/res/Resources;II)Landroid/graphics/Path;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tR cannot be resolved to a variable\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
MethodParameters:
Name Flags
res
displayWidth
displayHeight
public static android.view.DisplayCutout fromSpec(java.lang.String, int, int, float);
descriptor: (Ljava/lang/String;IIF)Landroid/view/DisplayCutout;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
iload 2
fload 3
invokestatic android.view.DisplayCutout.pathAndDisplayCutoutFromSpec:(Ljava/lang/String;IIF)Landroid/util/Pair;
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast android.view.DisplayCutout
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 spec Ljava/lang/String;
0 1 1 displayWidth I
0 1 2 displayHeight I
0 1 3 density F
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PRIVATE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
com.android.internal.annotations.VisibleForTesting(visibility = com.android.internal.annotations.VisibleForTesting$Visibility.PRIVATE:Lcom/android/internal/annotations/VisibleForTesting$Visibility;)
MethodParameters:
Name Flags
spec
displayWidth
displayHeight
density
private static android.util.Pair<android.graphics.Path, android.view.DisplayCutout> pathAndDisplayCutoutFromSpec(java.lang.String, int, int, float);
descriptor: (Ljava/lang/String;IIF)Landroid/util/Pair;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=16, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic android.text.TextUtils.isEmpty:(Ljava/lang/CharSequence;)Z
ifeq 2
1: getstatic android.view.DisplayCutout.NULL_PAIR:Landroid/util/Pair;
areturn
2: StackMap locals:
StackMap stack:
getstatic android.view.DisplayCutout.CACHE_LOCK:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
getstatic android.view.DisplayCutout.sCachedSpec:Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
getstatic android.view.DisplayCutout.sCachedDisplayWidth:I
iload 1
if_icmpne 8
4: getstatic android.view.DisplayCutout.sCachedDisplayHeight:I
iload 2
if_icmpne 8
5: getstatic android.view.DisplayCutout.sCachedDensity:F
fload 3
fcmpl
ifne 8
6: getstatic android.view.DisplayCutout.sCachedCutout:Landroid/util/Pair;
aload 4
monitorexit
7: areturn
8: StackMap locals: java.lang.Object
StackMap stack:
aload 4
monitorexit
9: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
10: aload 4
monitorexit
11: athrow
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0
13: aload 0
ldc "@right"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 17
14: iload 1
i2f
fstore 4
start local 4 15: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
ldc "@right"
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0
16: goto 18
end local 4 17: StackMap locals:
StackMap stack:
iload 1
i2f
fconst_2
fdiv
fstore 4
start local 4 18: StackMap locals: float
StackMap stack:
aload 0
ldc "@dp"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
istore 5
start local 5 19: iload 5
ifeq 21
20: aload 0
iconst_0
aload 0
invokevirtual java.lang.String.length:()I
ldc "@dp"
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 0
21: StackMap locals: int
StackMap stack:
aconst_null
astore 6
start local 6 22: aload 0
ldc "@bottom"
invokevirtual java.lang.String.contains:(Ljava/lang/CharSequence;)Z
ifeq 26
23: aload 0
ldc "@bottom"
iconst_2
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
astore 7
start local 7 24: aload 7
iconst_0
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 0
25: aload 7
iconst_1
aaload
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 6
end local 7 26: StackMap locals: java.lang.String
StackMap stack:
invokestatic android.graphics.Region.obtain:()Landroid/graphics/Region;
astore 8
start local 8 27: aload 0
invokestatic android.util.PathParser.createPathFromPathData:(Ljava/lang/String;)Landroid/graphics/Path;
astore 7
start local 7 28: goto 32
end local 7 StackMap locals: java.lang.String int int float float int java.lang.String top android.graphics.Region
StackMap stack: java.lang.Throwable
29: astore 9
start local 9 30: ldc "DisplayCutout"
ldc "Could not inflate cutout: "
aload 9
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
31: getstatic android.view.DisplayCutout.NULL_PAIR:Landroid/util/Pair;
areturn
end local 9 start local 7 32: StackMap locals: java.lang.String int int float float int java.lang.String android.graphics.Path android.graphics.Region
StackMap stack:
new android.graphics.Matrix
dup
invokespecial android.graphics.Matrix.<init>:()V
astore 9
start local 9 33: iload 5
ifeq 35
34: aload 9
fload 3
fload 3
invokevirtual android.graphics.Matrix.postScale:(FF)Z
pop
35: StackMap locals: android.graphics.Matrix
StackMap stack:
aload 9
fload 4
fconst_0
invokevirtual android.graphics.Matrix.postTranslate:(FF)Z
pop
36: aload 7
aload 9
invokevirtual android.graphics.Path.transform:(Landroid/graphics/Matrix;)V
37: new android.graphics.Rect
dup
invokespecial android.graphics.Rect.<init>:()V
astore 10
start local 10 38: aload 7
aload 8
aload 10
invokestatic android.view.DisplayCutout.toRectAndAddToRegion:(Landroid/graphics/Path;Landroid/graphics/Region;Landroid/graphics/Rect;)V
39: aload 10
getfield android.graphics.Rect.bottom:I
istore 11
start local 11 40: aload 6
ifnull 52
41: aload 6
invokestatic android.util.PathParser.createPathFromPathData:(Ljava/lang/String;)Landroid/graphics/Path;
astore 13
start local 13 42: goto 46
end local 13 StackMap locals: java.lang.String int int float float int java.lang.String android.graphics.Path android.graphics.Region android.graphics.Matrix android.graphics.Rect int
StackMap stack: java.lang.Throwable
43: astore 14
start local 14 44: ldc "DisplayCutout"
ldc "Could not inflate bottom cutout: "
aload 14
invokestatic android.util.Log.wtf:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
pop
45: getstatic android.view.DisplayCutout.NULL_PAIR:Landroid/util/Pair;
areturn
end local 14 start local 13 46: StackMap locals: java.lang.String int int float float int java.lang.String android.graphics.Path android.graphics.Region android.graphics.Matrix android.graphics.Rect int top android.graphics.Path
StackMap stack:
aload 9
fconst_0
iload 2
i2f
invokevirtual android.graphics.Matrix.postTranslate:(FF)Z
pop
47: aload 13
aload 9
invokevirtual android.graphics.Path.transform:(Landroid/graphics/Matrix;)V
48: aload 7
aload 13
invokevirtual android.graphics.Path.addPath:(Landroid/graphics/Path;)V
49: aload 13
aload 8
aload 10
invokestatic android.view.DisplayCutout.toRectAndAddToRegion:(Landroid/graphics/Path;Landroid/graphics/Region;Landroid/graphics/Rect;)V
50: iload 2
aload 10
getfield android.graphics.Rect.top:I
isub
istore 12
end local 13 start local 12 51: goto 53
end local 12 52: StackMap locals: java.lang.String int int float float int java.lang.String android.graphics.Path android.graphics.Region android.graphics.Matrix android.graphics.Rect int
StackMap stack:
iconst_0
istore 12
start local 12 53: StackMap locals: int
StackMap stack:
aload 10
iconst_0
iload 11
iconst_0
iload 12
invokevirtual android.graphics.Rect.set:(IIII)V
54: new android.view.DisplayCutout
dup
aload 10
aload 8
iconst_0
invokespecial android.view.DisplayCutout.<init>:(Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
astore 13
start local 13 55: new android.util.Pair
dup
aload 7
aload 13
invokespecial android.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
astore 14
start local 14 56: getstatic android.view.DisplayCutout.CACHE_LOCK:Ljava/lang/Object;
dup
astore 15
monitorenter
57: aload 0
putstatic android.view.DisplayCutout.sCachedSpec:Ljava/lang/String;
58: iload 1
putstatic android.view.DisplayCutout.sCachedDisplayWidth:I
59: iload 2
putstatic android.view.DisplayCutout.sCachedDisplayHeight:I
60: fload 3
putstatic android.view.DisplayCutout.sCachedDensity:F
61: aload 14
putstatic android.view.DisplayCutout.sCachedCutout:Landroid/util/Pair;
62: aload 15
monitorexit
63: goto 66
StackMap locals: java.lang.String int int float float int java.lang.String android.graphics.Path android.graphics.Region android.graphics.Matrix android.graphics.Rect int int android.view.DisplayCutout android.util.Pair java.lang.Object
StackMap stack: java.lang.Throwable
64: aload 15
monitorexit
65: athrow
66: StackMap locals:
StackMap stack:
aload 14
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 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 67 0 spec Ljava/lang/String;
0 67 1 displayWidth I
0 67 2 displayHeight I
0 67 3 density F
15 17 4 offsetX F
18 67 4 offsetX F
19 67 5 inDp Z
22 67 6 bottomSpec Ljava/lang/String;
24 26 7 splits [Ljava/lang/String;
28 29 7 p Landroid/graphics/Path;
32 67 7 p Landroid/graphics/Path;
27 67 8 r Landroid/graphics/Region;
30 32 9 e Ljava/lang/Throwable;
33 67 9 m Landroid/graphics/Matrix;
38 67 10 tmpRect Landroid/graphics/Rect;
40 67 11 topInset I
51 52 12 bottomInset I
53 67 12 bottomInset I
42 43 13 bottomPath Landroid/graphics/Path;
46 51 13 bottomPath Landroid/graphics/Path;
44 46 14 e Ljava/lang/Throwable;
55 67 13 cutout Landroid/view/DisplayCutout;
56 67 14 result Landroid/util/Pair<Landroid/graphics/Path;Landroid/view/DisplayCutout;>;
Exception table:
from to target type
3 7 10 any
8 9 10 any
10 11 10 any
27 28 29 Class java.lang.Throwable
41 42 43 Class java.lang.Throwable
57 63 64 any
64 65 64 any
Signature: (Ljava/lang/String;IIF)Landroid/util/Pair<Landroid/graphics/Path;Landroid/view/DisplayCutout;>;
MethodParameters:
Name Flags
spec
displayWidth
displayHeight
density
private static void toRectAndAddToRegion(android.graphics.Path, android.graphics.Region, android.graphics.Rect);
descriptor: (Landroid/graphics/Path;Landroid/graphics/Region;Landroid/graphics/Rect;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new android.graphics.RectF
dup
invokespecial android.graphics.RectF.<init>:()V
astore 3
start local 3 1: aload 0
aload 3
iconst_0
invokevirtual android.graphics.Path.computeBounds:(Landroid/graphics/RectF;Z)V
2: aload 3
aload 2
invokevirtual android.graphics.RectF.round:(Landroid/graphics/Rect;)V
3: aload 1
aload 2
getstatic android.graphics.Region$Op.UNION:Landroid/graphics/Region$Op;
invokevirtual android.graphics.Region.op:(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
pop
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 p Landroid/graphics/Path;
0 5 1 inoutRegion Landroid/graphics/Region;
0 5 2 inoutRect Landroid/graphics/Rect;
1 5 3 rectF Landroid/graphics/RectF;
MethodParameters:
Name Flags
p
inoutRegion
inoutRect
private static android.graphics.Region boundingRectsToRegion(java.util.List<android.graphics.Rect>);
descriptor: (Ljava/util/List;)Landroid/graphics/Region;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: invokestatic android.graphics.Region.obtain:()Landroid/graphics/Region;
astore 1
start local 1 1: aload 0
ifnull 6
2: aload 0
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: java.util.List android.graphics.Region top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.graphics.Rect
astore 2
start local 2 4: aload 1
aload 2
getstatic android.graphics.Region$Op.UNION:Landroid/graphics/Region$Op;
invokevirtual android.graphics.Region.op:(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
pop
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: StackMap locals: java.util.List android.graphics.Region
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 rects Ljava/util/List<Landroid/graphics/Rect;>;
1 7 1 result Landroid/graphics/Region;
4 5 2 r Landroid/graphics/Rect;
Signature: (Ljava/util/List<Landroid/graphics/Rect;>;)Landroid/graphics/Region;
MethodParameters:
Name Flags
rects
}
SourceFile: "DisplayCutout.java"
NestMembers:
android.view.DisplayCutout$ParcelableWrapper android.view.DisplayCutout$ParcelableWrapper$1
InnerClasses:
public final Op = android.graphics.Region$Op of android.graphics.Region
public final ParcelableWrapper = android.view.DisplayCutout$ParcelableWrapper of android.view.DisplayCutout
public final Visibility = com.android.internal.annotations.VisibleForTesting$Visibility of com.android.internal.annotations.VisibleForTesting