public class com.android.wallpapercropper.CropView extends com.android.photos.views.TiledImageView implements android.view.ScaleGestureDetector$OnScaleGestureListener
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.wallpapercropper.CropView
super_class: com.android.photos.views.TiledImageView
{
private android.view.ScaleGestureDetector mScaleGestureDetector;
descriptor: Landroid/view/ScaleGestureDetector;
flags: (0x0002) ACC_PRIVATE
private long mTouchDownTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private float mFirstX;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float mFirstY;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float mLastX;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float mLastY;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float mCenterX;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float mCenterY;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private float mMinScale;
descriptor: F
flags: (0x0002) ACC_PRIVATE
private boolean mTouchEnabled;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private android.graphics.RectF mTempEdges;
descriptor: Landroid/graphics/RectF;
flags: (0x0002) ACC_PRIVATE
private float[] mTempPoint;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private float[] mTempCoef;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private float[] mTempAdjustment;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private float[] mTempImageDims;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
private float[] mTempRendererCenter;
descriptor: [F
flags: (0x0002) ACC_PRIVATE
com.android.wallpapercropper.CropView$TouchCallback mTouchCallback;
descriptor: Lcom/android/wallpapercropper/CropView$TouchCallback;
flags: (0x0000)
android.graphics.Matrix mRotateMatrix;
descriptor: Landroid/graphics/Matrix;
flags: (0x0000)
android.graphics.Matrix mInverseRotateMatrix;
descriptor: Landroid/graphics/Matrix;
flags: (0x0000)
public void <init>(android.content.Context);
descriptor: (Landroid/content/Context;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial com.android.wallpapercropper.CropView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/wallpapercropper/CropView;
0 2 1 context Landroid/content/Context;
MethodParameters:
Name Flags
context
public void <init>(android.content.Context, android.util.AttributeSet);
descriptor: (Landroid/content/Context;Landroid/util/AttributeSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.android.photos.views.TiledImageView.<init>:(Landroid/content/Context;Landroid/util/AttributeSet;)V
1: aload 0
iconst_1
putfield com.android.wallpapercropper.CropView.mTouchEnabled:Z
2: aload 0
new android.graphics.RectF
dup
invokespecial android.graphics.RectF.<init>:()V
putfield com.android.wallpapercropper.CropView.mTempEdges:Landroid/graphics/RectF;
3: aload 0
iconst_2
newarray 6
dup
iconst_0
fconst_0
fastore
dup
iconst_1
fconst_0
fastore
putfield com.android.wallpapercropper.CropView.mTempPoint:[F
4: aload 0
iconst_2
newarray 6
dup
iconst_0
fconst_0
fastore
dup
iconst_1
fconst_0
fastore
putfield com.android.wallpapercropper.CropView.mTempCoef:[F
5: aload 0
iconst_2
newarray 6
dup
iconst_0
fconst_0
fastore
dup
iconst_1
fconst_0
fastore
putfield com.android.wallpapercropper.CropView.mTempAdjustment:[F
6: aload 0
iconst_2
newarray 6
dup
iconst_0
fconst_0
fastore
dup
iconst_1
fconst_0
fastore
putfield com.android.wallpapercropper.CropView.mTempImageDims:[F
7: aload 0
iconst_2
newarray 6
dup
iconst_0
fconst_0
fastore
dup
iconst_1
fconst_0
fastore
putfield com.android.wallpapercropper.CropView.mTempRendererCenter:[F
8: aload 0
new android.view.ScaleGestureDetector
dup
aload 1
aload 0
invokespecial android.view.ScaleGestureDetector.<init>:(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V
putfield com.android.wallpapercropper.CropView.mScaleGestureDetector:Landroid/view/ScaleGestureDetector;
9: aload 0
new android.graphics.Matrix
dup
invokespecial android.graphics.Matrix.<init>:()V
putfield com.android.wallpapercropper.CropView.mRotateMatrix:Landroid/graphics/Matrix;
10: aload 0
new android.graphics.Matrix
dup
invokespecial android.graphics.Matrix.<init>:()V
putfield com.android.wallpapercropper.CropView.mInverseRotateMatrix:Landroid/graphics/Matrix;
11: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/android/wallpapercropper/CropView;
0 12 1 context Landroid/content/Context;
0 12 2 attrs Landroid/util/AttributeSet;
MethodParameters:
Name Flags
context
attrs
private float[] getImageDims();
descriptor: ()[F
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.source:Lcom/android/photos/views/TiledImageRenderer$TileSource;
invokeinterface com.android.photos.views.TiledImageRenderer$TileSource.getImageWidth:()I
i2f
fstore 1
start local 1 1: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.source:Lcom/android/photos/views/TiledImageRenderer$TileSource;
invokeinterface com.android.photos.views.TiledImageRenderer$TileSource.getImageHeight:()I
i2f
fstore 2
start local 2 2: aload 0
getfield com.android.wallpapercropper.CropView.mTempImageDims:[F
astore 3
start local 3 3: aload 3
iconst_0
fload 1
fastore
4: aload 3
iconst_1
fload 2
fastore
5: aload 0
getfield com.android.wallpapercropper.CropView.mRotateMatrix:Landroid/graphics/Matrix;
aload 3
invokevirtual android.graphics.Matrix.mapPoints:([F)V
6: aload 3
iconst_0
aload 3
iconst_0
faload
invokestatic java.lang.Math.abs:(F)F
fastore
7: aload 3
iconst_1
aload 3
iconst_1
faload
invokestatic java.lang.Math.abs:(F)F
fastore
8: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/wallpapercropper/CropView;
1 9 1 imageWidth F
2 9 2 imageHeight F
3 9 3 imageDims [F
private void getEdgesHelper(android.graphics.RectF);
descriptor: (Landroid/graphics/RectF;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=17, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.android.wallpapercropper.CropView.getWidth:()I
i2f
fstore 2
start local 2 1: aload 0
invokevirtual com.android.wallpapercropper.CropView.getHeight:()I
i2f
fstore 3
start local 3 2: aload 0
invokevirtual com.android.wallpapercropper.CropView.getImageDims:()[F
astore 4
start local 4 3: aload 4
iconst_0
faload
fstore 5
start local 5 4: aload 4
iconst_1
faload
fstore 6
start local 6 5: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.source:Lcom/android/photos/views/TiledImageRenderer$TileSource;
invokeinterface com.android.photos.views.TiledImageRenderer$TileSource.getImageWidth:()I
i2f
fconst_2
fdiv
fstore 7
start local 7 6: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.source:Lcom/android/photos/views/TiledImageRenderer$TileSource;
invokeinterface com.android.photos.views.TiledImageRenderer$TileSource.getImageHeight:()I
i2f
fconst_2
fdiv
fstore 8
start local 8 7: aload 0
getfield com.android.wallpapercropper.CropView.mTempRendererCenter:[F
astore 9
start local 9 8: aload 9
iconst_0
aload 0
getfield com.android.wallpapercropper.CropView.mCenterX:F
fload 7
fsub
fastore
9: aload 9
iconst_1
aload 0
getfield com.android.wallpapercropper.CropView.mCenterY:F
fload 8
fsub
fastore
10: aload 0
getfield com.android.wallpapercropper.CropView.mRotateMatrix:Landroid/graphics/Matrix;
aload 9
invokevirtual android.graphics.Matrix.mapPoints:([F)V
11: aload 9
iconst_0
dup2
faload
fload 5
fconst_2
fdiv
fadd
fastore
12: aload 9
iconst_1
dup2
faload
fload 6
fconst_2
fdiv
fadd
fastore
13: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
fstore 10
start local 10 14: fload 2
fconst_2
fdiv
aload 9
iconst_0
faload
fsub
fload 5
fload 2
fsub
fconst_2
fdiv
fadd
15: fload 10
16: fmul
17: fload 2
fconst_2
fdiv
18: fadd
fstore 11
start local 11 19: fload 3
fconst_2
fdiv
aload 9
iconst_1
faload
fsub
fload 6
fload 3
fsub
fconst_2
fdiv
fadd
20: fload 10
21: fmul
22: fload 3
fconst_2
fdiv
23: fadd
fstore 12
start local 12 24: fload 11
fload 5
fconst_2
fdiv
fload 10
fmul
fsub
fstore 13
start local 13 25: fload 11
fload 5
fconst_2
fdiv
fload 10
fmul
fadd
fstore 14
start local 14 26: fload 12
fload 6
fconst_2
fdiv
fload 10
fmul
fsub
fstore 15
start local 15 27: fload 12
fload 6
fconst_2
fdiv
fload 10
fmul
fadd
fstore 16
start local 16 28: aload 1
fload 13
putfield android.graphics.RectF.left:F
29: aload 1
fload 14
putfield android.graphics.RectF.right:F
30: aload 1
fload 15
putfield android.graphics.RectF.top:F
31: aload 1
fload 16
putfield android.graphics.RectF.bottom:F
32: return
end local 16 end local 15 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 33 0 this Lcom/android/wallpapercropper/CropView;
0 33 1 edgesOut Landroid/graphics/RectF;
1 33 2 width F
2 33 3 height F
3 33 4 imageDims [F
4 33 5 imageWidth F
5 33 6 imageHeight F
6 33 7 initialCenterX F
7 33 8 initialCenterY F
8 33 9 rendererCenter [F
14 33 10 scale F
19 33 11 centerX F
24 33 12 centerY F
25 33 13 leftEdge F
26 33 14 rightEdge F
27 33 15 topEdge F
28 33 16 bottomEdge F
MethodParameters:
Name Flags
edgesOut
public int getImageRotation();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.rotation:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/wallpapercropper/CropView;
public android.graphics.RectF getCrop();
descriptor: ()Landroid/graphics/RectF;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: aload 0
getfield com.android.wallpapercropper.CropView.mTempEdges:Landroid/graphics/RectF;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.android.wallpapercropper.CropView.getEdgesHelper:(Landroid/graphics/RectF;)V
2: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
fstore 2
start local 2 3: aload 1
getfield android.graphics.RectF.left:F
fneg
fload 2
fdiv
fstore 3
start local 3 4: aload 1
getfield android.graphics.RectF.top:F
fneg
fload 2
fdiv
fstore 4
start local 4 5: fload 3
aload 0
invokevirtual com.android.wallpapercropper.CropView.getWidth:()I
i2f
fload 2
fdiv
fadd
fstore 5
start local 5 6: fload 4
aload 0
invokevirtual com.android.wallpapercropper.CropView.getHeight:()I
i2f
fload 2
fdiv
fadd
fstore 6
start local 6 7: new android.graphics.RectF
dup
fload 3
fload 4
fload 5
fload 6
invokespecial android.graphics.RectF.<init>:(FFFF)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 8 0 this Lcom/android/wallpapercropper/CropView;
1 8 1 edges Landroid/graphics/RectF;
3 8 2 scale F
4 8 3 cropLeft F
5 8 4 cropTop F
6 8 5 cropRight F
7 8 6 cropBottom F
public android.graphics.Point getSourceDimensions();
descriptor: ()Landroid/graphics/Point;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new android.graphics.Point
dup
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.source:Lcom/android/photos/views/TiledImageRenderer$TileSource;
invokeinterface com.android.photos.views.TiledImageRenderer$TileSource.getImageWidth:()I
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.source:Lcom/android/photos/views/TiledImageRenderer$TileSource;
invokeinterface com.android.photos.views.TiledImageRenderer$TileSource.getImageHeight:()I
invokespecial android.graphics.Point.<init>:(II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/wallpapercropper/CropView;
public void setTileSource(com.android.photos.views.TiledImageRenderer$TileSource, java.lang.Runnable);
descriptor: (Lcom/android/photos/views/TiledImageRenderer$TileSource;Ljava/lang/Runnable;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial com.android.photos.views.TiledImageView.setTileSource:(Lcom/android/photos/views/TiledImageRenderer$TileSource;Ljava/lang/Runnable;)V
1: aload 0
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.centerX:I
i2f
putfield com.android.wallpapercropper.CropView.mCenterX:F
2: aload 0
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.centerY:I
i2f
putfield com.android.wallpapercropper.CropView.mCenterY:F
3: aload 0
getfield com.android.wallpapercropper.CropView.mRotateMatrix:Landroid/graphics/Matrix;
invokevirtual android.graphics.Matrix.reset:()V
4: aload 0
getfield com.android.wallpapercropper.CropView.mRotateMatrix:Landroid/graphics/Matrix;
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.rotation:I
i2f
invokevirtual android.graphics.Matrix.setRotate:(F)V
5: aload 0
getfield com.android.wallpapercropper.CropView.mInverseRotateMatrix:Landroid/graphics/Matrix;
invokevirtual android.graphics.Matrix.reset:()V
6: aload 0
getfield com.android.wallpapercropper.CropView.mInverseRotateMatrix:Landroid/graphics/Matrix;
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.rotation:I
ineg
i2f
invokevirtual android.graphics.Matrix.setRotate:(F)V
7: aload 0
aload 0
invokevirtual com.android.wallpapercropper.CropView.getWidth:()I
aload 0
invokevirtual com.android.wallpapercropper.CropView.getHeight:()I
aload 1
iconst_1
invokevirtual com.android.wallpapercropper.CropView.updateMinScale:(IILcom/android/photos/views/TiledImageRenderer$TileSource;Z)V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/wallpapercropper/CropView;
0 9 1 source Lcom/android/photos/views/TiledImageRenderer$TileSource;
0 9 2 isReadyCallback Ljava/lang/Runnable;
MethodParameters:
Name Flags
source
isReadyCallback
protected void onSizeChanged(int, int, int, int);
descriptor: (IIII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
iload 2
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.source:Lcom/android/photos/views/TiledImageRenderer$TileSource;
iconst_0
invokevirtual com.android.wallpapercropper.CropView.updateMinScale:(IILcom/android/photos/views/TiledImageRenderer$TileSource;Z)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/wallpapercropper/CropView;
0 2 1 w I
0 2 2 h I
0 2 3 oldw I
0 2 4 oldh I
MethodParameters:
Name Flags
w
h
oldw
oldh
public void setScale(float);
descriptor: (F)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.wallpapercropper.CropView.mLock:Ljava/lang/Object;
dup
astore 2
monitorenter
1: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
fload 1
putfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
2: aload 2
monitorexit
3: goto 6
StackMap locals: com.android.wallpapercropper.CropView float java.lang.Object
StackMap stack: java.lang.Throwable
4: aload 2
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/android/wallpapercropper/CropView;
0 7 1 scale F
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
scale
private void updateMinScale(int, int, com.android.photos.views.TiledImageRenderer$TileSource, boolean);
descriptor: (IILcom/android/photos/views/TiledImageRenderer$TileSource;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.android.wallpapercropper.CropView.mLock:Ljava/lang/Object;
dup
astore 5
monitorenter
1: iload 4
ifeq 3
2: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
fconst_1
putfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
3: StackMap locals: java.lang.Object
StackMap stack:
aload 3
ifnull 13
4: aload 0
invokevirtual com.android.wallpapercropper.CropView.getImageDims:()[F
astore 6
start local 6 5: aload 6
iconst_0
faload
fstore 7
start local 7 6: aload 6
iconst_1
faload
fstore 8
start local 8 7: aload 0
iload 1
i2f
fload 7
fdiv
iload 2
i2f
fload 8
fdiv
invokestatic java.lang.Math.max:(FF)F
putfield com.android.wallpapercropper.CropView.mMinScale:F
8: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
9: aload 0
getfield com.android.wallpapercropper.CropView.mMinScale:F
iload 4
ifeq 10
ldc 1.4E-45
goto 11
StackMap locals: com.android.wallpapercropper.CropView int int com.android.photos.views.TiledImageRenderer$TileSource int java.lang.Object float[] float float
StackMap stack: com.android.photos.views.TiledImageView$ImageRendererWrapper float
10: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
StackMap locals: com.android.wallpapercropper.CropView int int com.android.photos.views.TiledImageRenderer$TileSource int java.lang.Object float[] float float
StackMap stack: com.android.photos.views.TiledImageView$ImageRendererWrapper float float
11: invokestatic java.lang.Math.max:(FF)F
12: putfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
end local 8 end local 7 end local 6 13: StackMap locals:
StackMap stack:
aload 5
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 5
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/android/wallpapercropper/CropView;
0 18 1 w I
0 18 2 h I
0 18 3 source Lcom/android/photos/views/TiledImageRenderer$TileSource;
0 18 4 resetScale Z
5 13 6 imageDims [F
6 13 7 imageWidth F
7 13 8 imageHeight F
Exception table:
from to target type
1 14 15 any
15 16 15 any
MethodParameters:
Name Flags
w
h
source
resetScale
public boolean onScaleBegin(android.view.ScaleGestureDetector);
descriptor: (Landroid/view/ScaleGestureDetector;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/wallpapercropper/CropView;
0 1 1 detector Landroid/view/ScaleGestureDetector;
MethodParameters:
Name Flags
detector
public boolean onScale(android.view.ScaleGestureDetector);
descriptor: (Landroid/view/ScaleGestureDetector;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
dup
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
aload 1
invokevirtual android.view.ScaleGestureDetector.getScaleFactor:()F
fmul
putfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
1: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
aload 0
getfield com.android.wallpapercropper.CropView.mMinScale:F
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
invokestatic java.lang.Math.max:(FF)F
putfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
2: aload 0
invokevirtual com.android.wallpapercropper.CropView.invalidate:()V
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/wallpapercropper/CropView;
0 4 1 detector Landroid/view/ScaleGestureDetector;
MethodParameters:
Name Flags
detector
public void onScaleEnd(android.view.ScaleGestureDetector);
descriptor: (Landroid/view/ScaleGestureDetector;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/wallpapercropper/CropView;
0 1 1 detector Landroid/view/ScaleGestureDetector;
MethodParameters:
Name Flags
detector
public void moveToLeft();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.android.wallpapercropper.CropView.getWidth:()I
ifeq 1
aload 0
invokevirtual com.android.wallpapercropper.CropView.getHeight:()I
ifne 3
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.android.wallpapercropper.CropView.getViewTreeObserver:()Landroid/view/ViewTreeObserver;
astore 1
start local 1 2: aload 1
new com.android.wallpapercropper.CropView$1
dup
aload 0
invokespecial com.android.wallpapercropper.CropView$1.<init>:(Lcom/android/wallpapercropper/CropView;)V
invokevirtual android.view.ViewTreeObserver.addOnGlobalLayoutListener:(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
end local 1 3: StackMap locals:
StackMap stack:
aload 0
getfield com.android.wallpapercropper.CropView.mTempEdges:Landroid/graphics/RectF;
astore 1
start local 1 4: aload 0
aload 1
invokevirtual com.android.wallpapercropper.CropView.getEdgesHelper:(Landroid/graphics/RectF;)V
5: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
fstore 2
start local 2 6: aload 0
dup
getfield com.android.wallpapercropper.CropView.mCenterX:F
f2d
aload 1
getfield android.graphics.RectF.left:F
fload 2
fdiv
f2d
invokestatic java.lang.Math.ceil:(D)D
dadd
d2f
putfield com.android.wallpapercropper.CropView.mCenterX:F
7: aload 0
invokevirtual com.android.wallpapercropper.CropView.updateCenter:()V
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/android/wallpapercropper/CropView;
2 3 1 observer Landroid/view/ViewTreeObserver;
4 9 1 edges Landroid/graphics/RectF;
6 9 2 scale F
private void updateCenter();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
aload 0
getfield com.android.wallpapercropper.CropView.mCenterX:F
invokestatic java.lang.Math.round:(F)I
putfield com.android.photos.views.TiledImageView$ImageRendererWrapper.centerX:I
1: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
aload 0
getfield com.android.wallpapercropper.CropView.mCenterY:F
invokestatic java.lang.Math.round:(F)I
putfield com.android.photos.views.TiledImageView$ImageRendererWrapper.centerY:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/android/wallpapercropper/CropView;
public void setTouchEnabled(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.android.wallpapercropper.CropView.mTouchEnabled:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/wallpapercropper/CropView;
0 2 1 enabled Z
MethodParameters:
Name Flags
enabled
public void setTouchCallback(com.android.wallpapercropper.CropView$TouchCallback);
descriptor: (Lcom/android/wallpapercropper/CropView$TouchCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.android.wallpapercropper.CropView.mTouchCallback:Lcom/android/wallpapercropper/CropView$TouchCallback;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/android/wallpapercropper/CropView;
0 2 1 cb Lcom/android/wallpapercropper/CropView$TouchCallback;
MethodParameters:
Name Flags
cb
public boolean onTouchEvent(android.view.MotionEvent);
descriptor: (Landroid/view/MotionEvent;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=17, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.view.MotionEvent.getActionMasked:()I
istore 2
start local 2 1: iload 2
bipush 6
if_icmpne 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: iload 3
ifeq 5
aload 1
invokevirtual android.view.MotionEvent.getActionIndex:()I
goto 6
StackMap locals: int
StackMap stack:
5: iconst_m1
StackMap locals:
StackMap stack: int
6: istore 4
start local 4 7: fconst_0
fstore 5
start local 5 8: fconst_0
fstore 6
start local 6 9: aload 1
invokevirtual android.view.MotionEvent.getPointerCount:()I
istore 7
start local 7 10: iconst_0
istore 8
start local 8 11: goto 17
12: StackMap locals: com.android.wallpapercropper.CropView android.view.MotionEvent int int int float float int int
StackMap stack:
iload 4
iload 8
if_icmpne 14
13: goto 16
14: StackMap locals:
StackMap stack:
fload 5
aload 1
iload 8
invokevirtual android.view.MotionEvent.getX:(I)F
fadd
fstore 5
15: fload 6
aload 1
iload 8
invokevirtual android.view.MotionEvent.getY:(I)F
fadd
fstore 6
16: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
17: iload 8
iload 7
if_icmplt 12
end local 8 18: iload 3
ifeq 19
iload 7
iconst_1
isub
goto 20
StackMap locals:
StackMap stack:
19: iload 7
StackMap locals:
StackMap stack: int
20: istore 8
start local 8 21: fload 5
iload 8
i2f
fdiv
fstore 9
start local 9 22: fload 6
iload 8
i2f
fdiv
fstore 10
start local 10 23: iload 2
ifne 30
24: aload 0
fload 9
putfield com.android.wallpapercropper.CropView.mFirstX:F
25: aload 0
fload 10
putfield com.android.wallpapercropper.CropView.mFirstY:F
26: aload 0
invokestatic java.lang.System.currentTimeMillis:()J
putfield com.android.wallpapercropper.CropView.mTouchDownTime:J
27: aload 0
getfield com.android.wallpapercropper.CropView.mTouchCallback:Lcom/android/wallpapercropper/CropView$TouchCallback;
ifnull 40
28: aload 0
getfield com.android.wallpapercropper.CropView.mTouchCallback:Lcom/android/wallpapercropper/CropView$TouchCallback;
invokeinterface com.android.wallpapercropper.CropView$TouchCallback.onTouchDown:()V
29: goto 40
StackMap locals: int float float
StackMap stack:
30: iload 2
iconst_1
if_icmpne 40
31: aload 0
invokevirtual com.android.wallpapercropper.CropView.getContext:()Landroid/content/Context;
invokestatic android.view.ViewConfiguration.get:(Landroid/content/Context;)Landroid/view/ViewConfiguration;
astore 11
start local 11 32: aload 0
getfield com.android.wallpapercropper.CropView.mFirstX:F
fload 9
fsub
aload 0
getfield com.android.wallpapercropper.CropView.mFirstX:F
fload 9
fsub
fmul
aload 0
getfield com.android.wallpapercropper.CropView.mFirstY:F
fload 10
fsub
aload 0
getfield com.android.wallpapercropper.CropView.mFirstY:F
fload 10
fsub
fmul
fadd
fstore 12
start local 12 33: aload 11
invokevirtual android.view.ViewConfiguration.getScaledTouchSlop:()I
aload 11
invokevirtual android.view.ViewConfiguration.getScaledTouchSlop:()I
imul
i2f
fstore 13
start local 13 34: invokestatic java.lang.System.currentTimeMillis:()J
lstore 14
start local 14 35: aload 0
getfield com.android.wallpapercropper.CropView.mTouchCallback:Lcom/android/wallpapercropper/CropView$TouchCallback;
ifnull 40
36: fload 12
fload 13
fcmpg
ifge 39
37: lload 14
aload 0
getfield com.android.wallpapercropper.CropView.mTouchDownTime:J
invokestatic android.view.ViewConfiguration.getTapTimeout:()I
i2l
ladd
lcmp
ifge 39
38: aload 0
getfield com.android.wallpapercropper.CropView.mTouchCallback:Lcom/android/wallpapercropper/CropView$TouchCallback;
invokeinterface com.android.wallpapercropper.CropView$TouchCallback.onTap:()V
39: StackMap locals: com.android.wallpapercropper.CropView android.view.MotionEvent int int int float float int int float float android.view.ViewConfiguration float float long
StackMap stack:
aload 0
getfield com.android.wallpapercropper.CropView.mTouchCallback:Lcom/android/wallpapercropper/CropView$TouchCallback;
invokeinterface com.android.wallpapercropper.CropView$TouchCallback.onTouchUp:()V
end local 14 end local 13 end local 12 end local 11 40: StackMap locals: com.android.wallpapercropper.CropView android.view.MotionEvent int int int float float int int float float
StackMap stack:
aload 0
getfield com.android.wallpapercropper.CropView.mTouchEnabled:Z
ifne 42
41: iconst_1
ireturn
42: StackMap locals:
StackMap stack:
aload 0
getfield com.android.wallpapercropper.CropView.mLock:Ljava/lang/Object;
dup
astore 11
monitorenter
43: aload 0
getfield com.android.wallpapercropper.CropView.mScaleGestureDetector:Landroid/view/ScaleGestureDetector;
aload 1
invokevirtual android.view.ScaleGestureDetector.onTouchEvent:(Landroid/view/MotionEvent;)Z
pop
44: iload 2
tableswitch { // 2 - 2
2: 45
default: 53
}
45: StackMap locals: java.lang.Object
StackMap stack:
aload 0
getfield com.android.wallpapercropper.CropView.mTempPoint:[F
astore 12
start local 12 46: aload 12
iconst_0
aload 0
getfield com.android.wallpapercropper.CropView.mLastX:F
fload 9
fsub
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
fdiv
fastore
47: aload 12
iconst_1
aload 0
getfield com.android.wallpapercropper.CropView.mLastY:F
fload 10
fsub
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
fdiv
fastore
48: aload 0
getfield com.android.wallpapercropper.CropView.mInverseRotateMatrix:Landroid/graphics/Matrix;
aload 12
invokevirtual android.graphics.Matrix.mapPoints:([F)V
49: aload 0
dup
getfield com.android.wallpapercropper.CropView.mCenterX:F
aload 12
iconst_0
faload
fadd
putfield com.android.wallpapercropper.CropView.mCenterX:F
50: aload 0
dup
getfield com.android.wallpapercropper.CropView.mCenterY:F
aload 12
iconst_1
faload
fadd
putfield com.android.wallpapercropper.CropView.mCenterY:F
51: aload 0
invokevirtual com.android.wallpapercropper.CropView.updateCenter:()V
52: aload 0
invokevirtual com.android.wallpapercropper.CropView.invalidate:()V
end local 12 53: StackMap locals:
StackMap stack:
aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.source:Lcom/android/photos/views/TiledImageRenderer$TileSource;
ifnull 83
54: aload 0
getfield com.android.wallpapercropper.CropView.mTempEdges:Landroid/graphics/RectF;
astore 12
start local 12 55: aload 0
aload 12
invokevirtual com.android.wallpapercropper.CropView.getEdgesHelper:(Landroid/graphics/RectF;)V
56: aload 0
getfield com.android.wallpapercropper.CropView.mRenderer:Lcom/android/photos/views/TiledImageView$ImageRendererWrapper;
getfield com.android.photos.views.TiledImageView$ImageRendererWrapper.scale:F
fstore 13
start local 13 57: aload 0
getfield com.android.wallpapercropper.CropView.mTempCoef:[F
astore 14
start local 14 58: aload 14
iconst_0
fconst_1
fastore
59: aload 14
iconst_1
fconst_1
fastore
60: aload 0
getfield com.android.wallpapercropper.CropView.mRotateMatrix:Landroid/graphics/Matrix;
aload 14
invokevirtual android.graphics.Matrix.mapPoints:([F)V
61: aload 0
getfield com.android.wallpapercropper.CropView.mTempAdjustment:[F
astore 15
start local 15 62: aload 0
getfield com.android.wallpapercropper.CropView.mTempAdjustment:[F
iconst_0
fconst_0
fastore
63: aload 0
getfield com.android.wallpapercropper.CropView.mTempAdjustment:[F
iconst_1
fconst_0
fastore
64: aload 12
getfield android.graphics.RectF.left:F
fconst_0
fcmpl
ifle 67
65: aload 15
iconst_0
aload 12
getfield android.graphics.RectF.left:F
fload 13
fdiv
fastore
66: goto 69
StackMap locals: com.android.wallpapercropper.CropView android.view.MotionEvent int int int float float int int float float java.lang.Object android.graphics.RectF float float[] float[]
StackMap stack:
67: aload 12
getfield android.graphics.RectF.right:F
aload 0
invokevirtual com.android.wallpapercropper.CropView.getWidth:()I
i2f
fcmpg
ifge 69
68: aload 15
iconst_0
aload 12
getfield android.graphics.RectF.right:F
aload 0
invokevirtual com.android.wallpapercropper.CropView.getWidth:()I
i2f
fsub
fload 13
fdiv
fastore
69: StackMap locals:
StackMap stack:
aload 12
getfield android.graphics.RectF.top:F
fconst_0
fcmpl
ifle 72
70: aload 15
iconst_1
aload 12
getfield android.graphics.RectF.top:F
fload 13
fdiv
f2d
invokestatic java.lang.Math.ceil:(D)D
d2f
fastore
71: goto 74
StackMap locals:
StackMap stack:
72: aload 12
getfield android.graphics.RectF.bottom:F
aload 0
invokevirtual com.android.wallpapercropper.CropView.getHeight:()I
i2f
fcmpg
ifge 74
73: aload 15
iconst_1
aload 12
getfield android.graphics.RectF.bottom:F
aload 0
invokevirtual com.android.wallpapercropper.CropView.getHeight:()I
i2f
fsub
fload 13
fdiv
fastore
74: StackMap locals:
StackMap stack:
iconst_0
istore 16
start local 16 75: goto 78
76: StackMap locals: int
StackMap stack:
aload 14
iload 16
faload
fconst_0
fcmpl
ifle 77
aload 15
iload 16
aload 15
iload 16
faload
f2d
invokestatic java.lang.Math.ceil:(D)D
d2f
fastore
77: StackMap locals:
StackMap stack:
iinc 16 1
StackMap locals:
StackMap stack:
78: iload 16
iconst_1
if_icmple 76
end local 16 79: aload 0
getfield com.android.wallpapercropper.CropView.mInverseRotateMatrix:Landroid/graphics/Matrix;
aload 15
invokevirtual android.graphics.Matrix.mapPoints:([F)V
80: aload 0
dup
getfield com.android.wallpapercropper.CropView.mCenterX:F
aload 15
iconst_0
faload
fadd
putfield com.android.wallpapercropper.CropView.mCenterX:F
81: aload 0
dup
getfield com.android.wallpapercropper.CropView.mCenterY:F
aload 15
iconst_1
faload
fadd
putfield com.android.wallpapercropper.CropView.mCenterY:F
82: aload 0
invokevirtual com.android.wallpapercropper.CropView.updateCenter:()V
end local 15 end local 14 end local 13 end local 12 83: StackMap locals: com.android.wallpapercropper.CropView android.view.MotionEvent int int int float float int int float float java.lang.Object
StackMap stack:
aload 11
monitorexit
84: goto 87
StackMap locals:
StackMap stack: java.lang.Throwable
85: aload 11
monitorexit
86: athrow
87: StackMap locals:
StackMap stack:
aload 0
fload 9
putfield com.android.wallpapercropper.CropView.mLastX:F
88: aload 0
fload 10
putfield com.android.wallpapercropper.CropView.mLastY:F
89: iconst_1
ireturn
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 90 0 this Lcom/android/wallpapercropper/CropView;
0 90 1 event Landroid/view/MotionEvent;
1 90 2 action I
4 90 3 pointerUp Z
7 90 4 skipIndex I
8 90 5 sumX F
9 90 6 sumY F
10 90 7 count I
11 18 8 i I
21 90 8 div I
22 90 9 x F
23 90 10 y F
32 40 11 config Landroid/view/ViewConfiguration;
33 40 12 squaredDist F
34 40 13 slop F
35 40 14 now J
46 53 12 point [F
55 83 12 edges Landroid/graphics/RectF;
57 83 13 scale F
58 83 14 coef [F
62 83 15 adjustment [F
75 79 16 dim I
Exception table:
from to target type
43 84 85 any
85 86 85 any
MethodParameters:
Name Flags
event
}
SourceFile: "CropView.java"
NestMembers:
com.android.wallpapercropper.CropView$1 com.android.wallpapercropper.CropView$TouchCallback
InnerClasses:
public abstract OnScaleGestureListener = android.view.ScaleGestureDetector$OnScaleGestureListener of android.view.ScaleGestureDetector
public abstract OnGlobalLayoutListener = android.view.ViewTreeObserver$OnGlobalLayoutListener of android.view.ViewTreeObserver
public abstract TileSource = com.android.photos.views.TiledImageRenderer$TileSource of com.android.photos.views.TiledImageRenderer
protected ImageRendererWrapper = com.android.photos.views.TiledImageView$ImageRendererWrapper of com.android.photos.views.TiledImageView
com.android.wallpapercropper.CropView$1
public abstract TouchCallback = com.android.wallpapercropper.CropView$TouchCallback of com.android.wallpapercropper.CropView