final class android.view.ViewRootImpl$InvalidateOnAnimationRunnable implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: android.view.ViewRootImpl$InvalidateOnAnimationRunnable
super_class: java.lang.Object
{
private boolean mPosted;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final java.util.ArrayList<android.view.View> mViews;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/view/View;>;
private final java.util.ArrayList<android.view.View$AttachInfo$InvalidateInfo> mViewRects;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/ArrayList<Landroid/view/View$AttachInfo$InvalidateInfo;>;
private android.view.View[] mTempViews;
descriptor: [Landroid/view/View;
flags: (0x0002) ACC_PRIVATE
private android.view.View$AttachInfo$InvalidateInfo[] mTempViewRects;
descriptor: [Landroid/view/View$AttachInfo$InvalidateInfo;
flags: (0x0002) ACC_PRIVATE
final android.view.ViewRootImpl this$0;
descriptor: Landroid/view/ViewRootImpl;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(android.view.ViewRootImpl);
descriptor: (Landroid/view/ViewRootImpl;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.this$0:Landroid/view/ViewRootImpl;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViews:Ljava/util/ArrayList;
2: aload 0
3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
MethodParameters:
Name Flags
this$0 final
public void addView(android.view.View);
descriptor: (Landroid/view/View;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViews:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 0
invokevirtual android.view.ViewRootImpl$InvalidateOnAnimationRunnable.postIfNeededLocked:()V
3: aload 2
monitorexit
4: goto 7
StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable android.view.View android.view.ViewRootImpl$InvalidateOnAnimationRunnable
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
0 8 1 view Landroid/view/View;
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
view
public void addViewRect(android.view.View$AttachInfo$InvalidateInfo);
descriptor: (Landroid/view/View$AttachInfo$InvalidateInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 0
invokevirtual android.view.ViewRootImpl$InvalidateOnAnimationRunnable.postIfNeededLocked:()V
3: aload 2
monitorexit
4: goto 7
StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable android.view.View$AttachInfo$InvalidateInfo android.view.ViewRootImpl$InvalidateOnAnimationRunnable
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
0 8 1 info Landroid/view/View$AttachInfo$InvalidateInfo;
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
info
public void removeView(android.view.View);
descriptor: (Landroid/view/View;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViews:Ljava/util/ArrayList;
aload 1
invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 3
start local 3 3: goto 8
4: StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable int
StackMap stack:
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast android.view.View$AttachInfo$InvalidateInfo
astore 4
start local 4 5: aload 4
getfield android.view.View$AttachInfo$InvalidateInfo.target:Landroid/view/View;
aload 1
if_acmpne 8
6: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
7: aload 4
invokevirtual android.view.View$AttachInfo$InvalidateInfo.recycle:()V
end local 4 8: StackMap locals:
StackMap stack:
iload 3
iinc 3 -1
ifgt 4
end local 3 9: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mPosted:Z
ifeq 12
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViews:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 12
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 12
10: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.this$0:Landroid/view/ViewRootImpl;
getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
iconst_1
aload 0
aconst_null
invokevirtual android.view.Choreographer.removeCallbacks:(ILjava/lang/Runnable;Ljava/lang/Object;)V
11: aload 0
iconst_0
putfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mPosted:Z
12: StackMap locals:
StackMap stack:
aload 2
monitorexit
13: goto 16
StackMap locals:
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/view/ViewRootImpl$InvalidateOnAnimationRunnable;
0 17 1 view Landroid/view/View;
3 9 3 i I
5 8 4 info Landroid/view/View$AttachInfo$InvalidateInfo;
Exception table:
from to target type
1 13 14 any
14 15 14 any
MethodParameters:
Name Flags
view
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 3
monitorenter
1: aload 0
iconst_0
putfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mPosted:Z
2: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViews:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 1
start local 1 3: iload 1
ifeq 9
4: aload 0
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViews:Ljava/util/ArrayList;
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViews:[Landroid/view/View;
ifnull 6
5: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViews:[Landroid/view/View;
goto 7
StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable int top android.view.ViewRootImpl$InvalidateOnAnimationRunnable
StackMap stack: android.view.ViewRootImpl$InvalidateOnAnimationRunnable java.util.ArrayList
6: iload 1
anewarray android.view.View
7: StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable int top android.view.ViewRootImpl$InvalidateOnAnimationRunnable
StackMap stack: android.view.ViewRootImpl$InvalidateOnAnimationRunnable java.util.ArrayList android.view.View[]
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast android.view.View[]
putfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViews:[Landroid/view/View;
8: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViews:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
9: StackMap locals:
StackMap stack:
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 10: iload 2
ifeq 16
11: aload 0
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViewRects:[Landroid/view/View$AttachInfo$InvalidateInfo;
ifnull 13
12: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViewRects:[Landroid/view/View$AttachInfo$InvalidateInfo;
goto 14
StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable int int android.view.ViewRootImpl$InvalidateOnAnimationRunnable
StackMap stack: android.view.ViewRootImpl$InvalidateOnAnimationRunnable java.util.ArrayList
13: iload 2
anewarray android.view.View$AttachInfo$InvalidateInfo
14: StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable int int android.view.ViewRootImpl$InvalidateOnAnimationRunnable
StackMap stack: android.view.ViewRootImpl$InvalidateOnAnimationRunnable java.util.ArrayList android.view.View$AttachInfo$InvalidateInfo[]
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast android.view.View$AttachInfo$InvalidateInfo[]
putfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViewRects:[Landroid/view/View$AttachInfo$InvalidateInfo;
15: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mViewRects:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clear:()V
16: StackMap locals:
StackMap stack:
aload 3
monitorexit
17: goto 20
end local 2 end local 1 StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable top top android.view.ViewRootImpl$InvalidateOnAnimationRunnable
StackMap stack: java.lang.Throwable
18: aload 3
monitorexit
19: athrow
start local 1 start local 2 20: StackMap locals: android.view.ViewRootImpl$InvalidateOnAnimationRunnable int int
StackMap stack:
iconst_0
istore 3
start local 3 21: goto 25
22: StackMap locals: int
StackMap stack:
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViews:[Landroid/view/View;
iload 3
aaload
invokevirtual android.view.View.invalidate:()V
23: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViews:[Landroid/view/View;
iload 3
aconst_null
aastore
24: iinc 3 1
StackMap locals:
StackMap stack:
25: iload 3
iload 1
if_icmplt 22
end local 3 26: iconst_0
istore 3
start local 3 27: goto 32
28: StackMap locals:
StackMap stack:
aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mTempViewRects:[Landroid/view/View$AttachInfo$InvalidateInfo;
iload 3
aaload
astore 4
start local 4 29: aload 4
getfield android.view.View$AttachInfo$InvalidateInfo.target:Landroid/view/View;
aload 4
getfield android.view.View$AttachInfo$InvalidateInfo.left:I
aload 4
getfield android.view.View$AttachInfo$InvalidateInfo.top:I
aload 4
getfield android.view.View$AttachInfo$InvalidateInfo.right:I
aload 4
getfield android.view.View$AttachInfo$InvalidateInfo.bottom:I
invokevirtual android.view.View.invalidate:(IIII)V
30: aload 4
invokevirtual android.view.View$AttachInfo$InvalidateInfo.recycle:()V
end local 4 31: iinc 3 1
StackMap locals:
StackMap stack:
32: iload 3
iload 2
if_icmplt 28
end local 3 33: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
3 18 1 viewCount I
20 34 1 viewCount I
10 18 2 viewRectCount I
20 34 2 viewRectCount I
21 26 3 i I
27 33 3 i I
29 31 4 info Landroid/view/View$AttachInfo$InvalidateInfo;
Exception table:
from to target type
1 17 18 any
18 19 18 any
private void postIfNeededLocked();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mPosted:Z
ifne 3
1: aload 0
getfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.this$0:Landroid/view/ViewRootImpl;
getfield android.view.ViewRootImpl.mChoreographer:Landroid/view/Choreographer;
iconst_1
aload 0
aconst_null
invokevirtual android.view.Choreographer.postCallback:(ILjava/lang/Runnable;Ljava/lang/Object;)V
2: aload 0
iconst_1
putfield android.view.ViewRootImpl$InvalidateOnAnimationRunnable.mPosted:Z
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;
}
SourceFile: "ViewRootImpl.java"
NestHost: android.view.ViewRootImpl
InnerClasses:
final AttachInfo = android.view.View$AttachInfo of android.view.View
InvalidateInfo = android.view.View$AttachInfo$InvalidateInfo of android.view.View$AttachInfo
final InvalidateOnAnimationRunnable = android.view.ViewRootImpl$InvalidateOnAnimationRunnable of android.view.ViewRootImpl