public class android.transition.ChangeImageTransform extends android.transition.Transition
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.transition.ChangeImageTransform
super_class: android.transition.Transition
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "ChangeImageTransform"
private static final java.lang.String PROPNAME_MATRIX;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "android:changeImageTransform:matrix"
private static final java.lang.String PROPNAME_BOUNDS;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "android:changeImageTransform:bounds"
private static final java.lang.String[] sTransitionProperties;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static android.animation.TypeEvaluator<android.graphics.Matrix> NULL_MATRIX_EVALUATOR;
descriptor: Landroid/animation/TypeEvaluator;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Landroid/animation/TypeEvaluator<Landroid/graphics/Matrix;>;
private static android.util.Property<android.widget.ImageView, android.graphics.Matrix> ANIMATED_TRANSFORM_PROPERTY;
descriptor: Landroid/util/Property;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Landroid/util/Property<Landroid/widget/ImageView;Landroid/graphics/Matrix;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: iconst_2
anewarray java.lang.String
dup
iconst_0
1: ldc "android:changeImageTransform:matrix"
aastore
dup
iconst_1
2: ldc "android:changeImageTransform:bounds"
aastore
3: putstatic android.transition.ChangeImageTransform.sTransitionProperties:[Ljava/lang/String;
4: new android.transition.ChangeImageTransform$1
dup
invokespecial android.transition.ChangeImageTransform$1.<init>:()V
putstatic android.transition.ChangeImageTransform.NULL_MATRIX_EVALUATOR:Landroid/animation/TypeEvaluator;
5: new android.transition.ChangeImageTransform$2
dup
ldc Landroid/graphics/Matrix;
ldc "animatedTransform"
invokespecial android.transition.ChangeImageTransform$2.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
6: putstatic android.transition.ChangeImageTransform.ANIMATED_TRANSFORM_PROPERTY:Landroid/util/Property;
7: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial android.transition.Transition.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/transition/ChangeImageTransform;
public void <init>(android.content.Context, android.util.AttributeSet);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial android.transition.Transition.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/transition/ChangeImageTransform;
0 2 1 context Landroid/content/Context;
0 2 2 attrs Landroid/util/AttributeSet;
MethodParameters:
Name Flags
context
attrs
private void captureValues(android.transition.TransitionValues);
descriptor: (Landroid/transition/TransitionValues;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=17, args_size=2
start local 0 start local 1 0: aload 1
getfield android.transition.TransitionValues.view:Landroid/view/View;
astore 2
start local 2 1: aload 2
instanceof android.widget.ImageView
ifeq 2
aload 2
invokevirtual android.view.View.getVisibility:()I
ifeq 3
2: StackMap locals: android.view.View
StackMap stack:
return
3: StackMap locals:
StackMap stack:
aload 2
checkcast android.widget.ImageView
astore 3
start local 3 4: aload 3
invokevirtual android.widget.ImageView.getDrawable:()Landroid/graphics/drawable/Drawable;
astore 4
start local 4 5: aload 4
ifnonnull 7
6: return
7: StackMap locals: android.widget.ImageView android.graphics.drawable.Drawable
StackMap stack:
aload 1
getfield android.transition.TransitionValues.values:Ljava/util/Map;
astore 5
start local 5 8: aload 2
invokevirtual android.view.View.getLeft:()I
istore 6
start local 6 9: aload 2
invokevirtual android.view.View.getTop:()I
istore 7
start local 7 10: aload 2
invokevirtual android.view.View.getRight:()I
istore 8
start local 8 11: aload 2
invokevirtual android.view.View.getBottom:()I
istore 9
start local 9 12: new android.graphics.Rect
dup
iload 6
iload 7
iload 8
iload 9
invokespecial android.graphics.Rect.<init>:(IIII)V
astore 10
start local 10 13: aload 5
ldc "android:changeImageTransform:bounds"
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: aload 3
invokevirtual android.widget.ImageView.getScaleType:()Landroid/widget/ImageView$ScaleType;
astore 12
start local 12 15: aload 12
getstatic android.widget.ImageView$ScaleType.FIT_XY:Landroid/widget/ImageView$ScaleType;
if_acmpne 30
16: aload 3
invokevirtual android.widget.ImageView.getImageMatrix:()Landroid/graphics/Matrix;
astore 11
start local 11 17: aload 11
invokevirtual android.graphics.Matrix.isIdentity:()Z
ifne 20
18: new android.graphics.Matrix
dup
aload 11
invokespecial android.graphics.Matrix.<init>:(Landroid/graphics/Matrix;)V
astore 11
19: goto 31
20: StackMap locals: android.transition.ChangeImageTransform android.transition.TransitionValues android.view.View android.widget.ImageView android.graphics.drawable.Drawable java.util.Map int int int int android.graphics.Rect android.graphics.Matrix android.widget.ImageView$ScaleType
StackMap stack:
aload 4
invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
istore 13
start local 13 21: aload 4
invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
istore 14
start local 14 22: iload 13
ifle 28
iload 14
ifle 28
23: aload 10
invokevirtual android.graphics.Rect.width:()I
i2f
iload 13
i2f
fdiv
fstore 15
start local 15 24: aload 10
invokevirtual android.graphics.Rect.height:()I
i2f
iload 14
i2f
fdiv
fstore 16
start local 16 25: new android.graphics.Matrix
dup
invokespecial android.graphics.Matrix.<init>:()V
astore 11
26: aload 11
fload 15
fload 16
invokevirtual android.graphics.Matrix.setScale:(FF)V
end local 16 end local 15 27: goto 31
28: StackMap locals: int int
StackMap stack:
aconst_null
astore 11
end local 14 end local 13 29: goto 31
end local 11 30: StackMap locals: android.transition.ChangeImageTransform android.transition.TransitionValues android.view.View android.widget.ImageView android.graphics.drawable.Drawable java.util.Map int int int int android.graphics.Rect top android.widget.ImageView$ScaleType
StackMap stack:
new android.graphics.Matrix
dup
aload 3
invokevirtual android.widget.ImageView.getImageMatrix:()Landroid/graphics/Matrix;
invokespecial android.graphics.Matrix.<init>:(Landroid/graphics/Matrix;)V
astore 11
start local 11 31: StackMap locals: android.transition.ChangeImageTransform android.transition.TransitionValues android.view.View android.widget.ImageView android.graphics.drawable.Drawable java.util.Map int int int int android.graphics.Rect android.graphics.Matrix android.widget.ImageView$ScaleType
StackMap stack:
aload 5
ldc "android:changeImageTransform:matrix"
aload 11
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
32: return
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 33 0 this Landroid/transition/ChangeImageTransform;
0 33 1 transitionValues Landroid/transition/TransitionValues;
1 33 2 view Landroid/view/View;
4 33 3 imageView Landroid/widget/ImageView;
5 33 4 drawable Landroid/graphics/drawable/Drawable;
8 33 5 values Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
9 33 6 left I
10 33 7 top I
11 33 8 right I
12 33 9 bottom I
13 33 10 bounds Landroid/graphics/Rect;
17 30 11 matrix Landroid/graphics/Matrix;
31 33 11 matrix Landroid/graphics/Matrix;
15 33 12 scaleType Landroid/widget/ImageView$ScaleType;
21 29 13 drawableWidth I
22 29 14 drawableHeight I
24 27 15 scaleX F
25 27 16 scaleY F
MethodParameters:
Name Flags
transitionValues
public void captureStartValues(android.transition.TransitionValues);
descriptor: (Landroid/transition/TransitionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual android.transition.ChangeImageTransform.captureValues:(Landroid/transition/TransitionValues;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/transition/ChangeImageTransform;
0 2 1 transitionValues Landroid/transition/TransitionValues;
MethodParameters:
Name Flags
transitionValues
public void captureEndValues(android.transition.TransitionValues);
descriptor: (Landroid/transition/TransitionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual android.transition.ChangeImageTransform.captureValues:(Landroid/transition/TransitionValues;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/transition/ChangeImageTransform;
0 2 1 transitionValues Landroid/transition/TransitionValues;
MethodParameters:
Name Flags
transitionValues
public java.lang.String[] getTransitionProperties();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic android.transition.ChangeImageTransform.sTransitionProperties:[Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/transition/ChangeImageTransform;
public android.animation.Animator createAnimator(android.view.ViewGroup, android.transition.TransitionValues, android.transition.TransitionValues);
descriptor: (Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 1
aload 3
ifnonnull 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 2
getfield android.transition.TransitionValues.values:Ljava/util/Map;
ldc "android:changeImageTransform:bounds"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.graphics.Rect
astore 4
start local 4 3: aload 3
getfield android.transition.TransitionValues.values:Ljava/util/Map;
ldc "android:changeImageTransform:bounds"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.graphics.Rect
astore 5
start local 5 4: aload 4
ifnull 5
aload 5
ifnonnull 6
5: StackMap locals: android.graphics.Rect android.graphics.Rect
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 2
getfield android.transition.TransitionValues.values:Ljava/util/Map;
ldc "android:changeImageTransform:matrix"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.graphics.Matrix
astore 6
start local 6 7: aload 3
getfield android.transition.TransitionValues.values:Ljava/util/Map;
ldc "android:changeImageTransform:matrix"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.graphics.Matrix
astore 7
start local 7 8: aload 6
ifnonnull 9
aload 7
ifnull 11
9: StackMap locals: android.graphics.Matrix android.graphics.Matrix
StackMap stack:
aload 6
ifnull 10
aload 6
aload 7
invokevirtual android.graphics.Matrix.equals:(Ljava/lang/Object;)Z
ifne 11
10: StackMap locals:
StackMap stack:
iconst_0
goto 12
StackMap locals:
StackMap stack:
11: iconst_1
StackMap locals:
StackMap stack: int
12: istore 8
start local 8 13: aload 4
aload 5
invokevirtual android.graphics.Rect.equals:(Ljava/lang/Object;)Z
ifeq 15
iload 8
ifeq 15
14: aconst_null
areturn
15: StackMap locals: int
StackMap stack:
aload 3
getfield android.transition.TransitionValues.view:Landroid/view/View;
checkcast android.widget.ImageView
astore 9
start local 9 16: aload 9
invokevirtual android.widget.ImageView.getDrawable:()Landroid/graphics/drawable/Drawable;
astore 10
start local 10 17: aload 10
invokevirtual android.graphics.drawable.Drawable.getIntrinsicWidth:()I
istore 11
start local 11 18: aload 10
invokevirtual android.graphics.drawable.Drawable.getIntrinsicHeight:()I
istore 12
start local 12 19: iload 11
ifeq 20
iload 12
ifne 22
20: StackMap locals: android.transition.ChangeImageTransform android.view.ViewGroup android.transition.TransitionValues android.transition.TransitionValues android.graphics.Rect android.graphics.Rect android.graphics.Matrix android.graphics.Matrix int android.widget.ImageView android.graphics.drawable.Drawable int int
StackMap stack:
aload 0
aload 9
invokevirtual android.transition.ChangeImageTransform.createNullAnimator:(Landroid/widget/ImageView;)Landroid/animation/ObjectAnimator;
astore 13
start local 13 21: goto 28
end local 13 22: StackMap locals:
StackMap stack:
aload 6
ifnonnull 24
23: getstatic android.graphics.Matrix.IDENTITY_MATRIX:Landroid/graphics/Matrix;
astore 6
24: StackMap locals:
StackMap stack:
aload 7
ifnonnull 26
25: getstatic android.graphics.Matrix.IDENTITY_MATRIX:Landroid/graphics/Matrix;
astore 7
26: StackMap locals:
StackMap stack:
getstatic android.transition.ChangeImageTransform.ANIMATED_TRANSFORM_PROPERTY:Landroid/util/Property;
aload 9
aload 6
invokevirtual android.util.Property.set:(Ljava/lang/Object;Ljava/lang/Object;)V
27: aload 0
aload 9
aload 6
aload 7
invokevirtual android.transition.ChangeImageTransform.createMatrixAnimator:(Landroid/widget/ImageView;Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Landroid/animation/ObjectAnimator;
astore 13
start local 13 28: StackMap locals: android.animation.ObjectAnimator
StackMap stack:
aload 13
areturn
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 29 0 this Landroid/transition/ChangeImageTransform;
0 29 1 sceneRoot Landroid/view/ViewGroup;
0 29 2 startValues Landroid/transition/TransitionValues;
0 29 3 endValues Landroid/transition/TransitionValues;
3 29 4 startBounds Landroid/graphics/Rect;
4 29 5 endBounds Landroid/graphics/Rect;
7 29 6 startMatrix Landroid/graphics/Matrix;
8 29 7 endMatrix Landroid/graphics/Matrix;
13 29 8 matricesEqual Z
16 29 9 imageView Landroid/widget/ImageView;
17 29 10 drawable Landroid/graphics/drawable/Drawable;
18 29 11 drawableWidth I
19 29 12 drawableHeight I
21 22 13 animator Landroid/animation/ObjectAnimator;
28 29 13 animator Landroid/animation/ObjectAnimator;
MethodParameters:
Name Flags
sceneRoot
startValues
endValues
private android.animation.ObjectAnimator createNullAnimator(android.widget.ImageView);
descriptor: (Landroid/widget/ImageView;)Landroid/animation/ObjectAnimator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic android.transition.ChangeImageTransform.ANIMATED_TRANSFORM_PROPERTY:Landroid/util/Property;
1: getstatic android.transition.ChangeImageTransform.NULL_MATRIX_EVALUATOR:Landroid/animation/TypeEvaluator;
iconst_2
anewarray android.graphics.Matrix
dup
iconst_0
aconst_null
aastore
dup
iconst_1
aconst_null
aastore
2: invokestatic android.animation.ObjectAnimator.ofObject:(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/transition/ChangeImageTransform;
0 3 1 imageView Landroid/widget/ImageView;
MethodParameters:
Name Flags
imageView
private android.animation.ObjectAnimator createMatrixAnimator(android.widget.ImageView, android.graphics.Matrix, android.graphics.Matrix);
descriptor: (Landroid/widget/ImageView;Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Landroid/animation/ObjectAnimator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getstatic android.transition.ChangeImageTransform.ANIMATED_TRANSFORM_PROPERTY:Landroid/util/Property;
1: new android.transition.TransitionUtils$MatrixEvaluator
dup
invokespecial android.transition.TransitionUtils$MatrixEvaluator.<init>:()V
iconst_2
anewarray android.graphics.Matrix
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
aastore
2: invokestatic android.animation.ObjectAnimator.ofObject:(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/transition/ChangeImageTransform;
0 3 1 imageView Landroid/widget/ImageView;
0 3 2 startMatrix Landroid/graphics/Matrix;
0 3 3 endMatrix Landroid/graphics/Matrix;
MethodParameters:
Name Flags
imageView final
startMatrix
endMatrix final
}
SourceFile: "ChangeImageTransform.java"
NestMembers:
android.transition.ChangeImageTransform$1 android.transition.ChangeImageTransform$2
InnerClasses:
android.transition.ChangeImageTransform$1
android.transition.ChangeImageTransform$2
public MatrixEvaluator = android.transition.TransitionUtils$MatrixEvaluator of android.transition.TransitionUtils
public final ScaleType = android.widget.ImageView$ScaleType of android.widget.ImageView