SubsamplingScaleImageView.smali
.class public Lio/rong/subscaleview/SubsamplingScaleImageView;
.super Landroid/view/View;
.source "SubsamplingScaleImageView.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/rong/subscaleview/SubsamplingScaleImageView$DefaultOnStateChangedListener;,
Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;,
Lio/rong/subscaleview/SubsamplingScaleImageView$DefaultOnImageEventListener;,
Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;,
Lio/rong/subscaleview/SubsamplingScaleImageView$DefaultOnAnimationEventListener;,
Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;,
Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;,
Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;,
Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;,
Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;,
Lio/rong/subscaleview/SubsamplingScaleImageView$BitmapLoadTask;,
Lio/rong/subscaleview/SubsamplingScaleImageView$TileLoadTask;,
Lio/rong/subscaleview/SubsamplingScaleImageView$TilesInitTask;
}
.end annotation
# static fields
.field public static final EASE_IN_OUT_QUAD:I = 0x2
.field public static final EASE_OUT_QUAD:I = 0x1
.field private static final MESSAGE_LONG_CLICK:I = 0x1
.field public static final ORIENTATION_0:I = 0x0
.field public static final ORIENTATION_180:I = 0xb4
.field public static final ORIENTATION_270:I = 0x10e
.field public static final ORIENTATION_90:I = 0x5a
.field public static final ORIENTATION_USE_EXIF:I = -0x1
.field public static final ORIGIN_ANIM:I = 0x1
.field public static final ORIGIN_DOUBLE_TAP_ZOOM:I = 0x4
.field public static final ORIGIN_FLING:I = 0x3
.field public static final ORIGIN_TOUCH:I = 0x2
.field public static final PAN_LIMIT_CENTER:I = 0x3
.field public static final PAN_LIMIT_INSIDE:I = 0x1
.field public static final PAN_LIMIT_OUTSIDE:I = 0x2
.field public static final SCALE_TYPE_CENTER_CROP:I = 0x2
.field public static final SCALE_TYPE_CENTER_INSIDE:I = 0x1
.field public static final SCALE_TYPE_CUSTOM:I = 0x3
.field public static final SCALE_TYPE_START:I = 0x4
.field private static final TAG:Ljava/lang/String; = "SubsamplingScaleImageView"
.field public static final TILE_SIZE_AUTO:I = 0x7fffffff
.field private static final VALID_EASING_STYLES:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private static final VALID_ORIENTATIONS:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private static final VALID_PAN_LIMITS:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private static final VALID_SCALE_TYPES:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field private static final VALID_ZOOM_STYLES:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Ljava/lang/Integer;",
">;"
}
.end annotation
.end field
.field public static final ZOOM_FOCUS_CENTER:I = 0x2
.field public static final ZOOM_FOCUS_CENTER_IMMEDIATE:I = 0x3
.field public static final ZOOM_FOCUS_FIXED:I = 0x1
.field private static preferredBitmapConfig:Landroid/graphics/Bitmap$Config;
# instance fields
.field private anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.field private bitmap:Landroid/graphics/Bitmap;
.field private bitmapDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/rong/subscaleview/decoder/DecoderFactory<",
"+",
"Lio/rong/subscaleview/decoder/ImageDecoder;",
">;"
}
.end annotation
.end field
.field private bitmapIsCached:Z
.field private bitmapIsPreview:Z
.field private bitmapPaint:Landroid/graphics/Paint;
.field private debug:Z
.field private debugLinePaint:Landroid/graphics/Paint;
.field private debugTextPaint:Landroid/graphics/Paint;
.field private decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
.field private final decoderLock:Ljava/util/concurrent/locks/ReadWriteLock;
.field private final density:F
.field private detector:Landroid/view/GestureDetector;
.field private doubleTapZoomDuration:I
.field private doubleTapZoomScale:F
.field private doubleTapZoomStyle:I
.field private final dstArray:[F
.field private eagerLoadingEnabled:Z
.field private executor:Ljava/util/concurrent/Executor;
.field private fullImageSampleSize:I
.field private final handler:Landroid/os/Handler;
.field private imageLoadedSent:Z
.field private isPanning:Z
.field private isQuickScaling:Z
.field private isZooming:Z
.field private matrix:Landroid/graphics/Matrix;
.field private maxScale:F
.field private maxTileHeight:I
.field private maxTileWidth:I
.field private maxTouchCount:I
.field private minScale:F
.field private minimumScaleType:I
.field private minimumTileDpi:I
.field private onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
.field private onLongClickListener:Landroid/view/View$OnLongClickListener;
.field private onStateChangedListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;
.field private orientation:I
.field private pRegion:Landroid/graphics/Rect;
.field private panEnabled:Z
.field private panLimit:I
.field private pendingScale:Ljava/lang/Float;
.field private quickScaleEnabled:Z
.field private quickScaleLastDistance:F
.field private quickScaleMoved:Z
.field private quickScaleSCenter:Landroid/graphics/PointF;
.field private final quickScaleThreshold:F
.field private quickScaleVLastPoint:Landroid/graphics/PointF;
.field private quickScaleVStart:Landroid/graphics/PointF;
.field private readySent:Z
.field private regionDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lio/rong/subscaleview/decoder/DecoderFactory<",
"+",
"Lio/rong/subscaleview/decoder/ImageRegionDecoder;",
">;"
}
.end annotation
.end field
.field private sHeight:I
.field private sOrientation:I
.field private sPendingCenter:Landroid/graphics/PointF;
.field private sRect:Landroid/graphics/RectF;
.field private sRegion:Landroid/graphics/Rect;
.field private sRequestedCenter:Landroid/graphics/PointF;
.field private sWidth:I
.field private satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
.field private scale:F
.field private scaleStart:F
.field private singleDetector:Landroid/view/GestureDetector;
.field private final srcArray:[F
.field private tileBgPaint:Landroid/graphics/Paint;
.field private tileMap:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/lang/Integer;",
"Ljava/util/List<",
"Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;",
">;>;"
}
.end annotation
.end field
.field private uri:Landroid/net/Uri;
.field private vCenterStart:Landroid/graphics/PointF;
.field private vDistStart:F
.field private vTranslate:Landroid/graphics/PointF;
.field private vTranslateBefore:Landroid/graphics/PointF;
.field private vTranslateStart:Landroid/graphics/PointF;
.field private zoomEnabled:Z
# direct methods
.method static constructor <clinit>()V
.registers 10
const/4 v0, 0x5
.line 1
new-array v0, v0, [Ljava/lang/Integer;
const/4 v1, 0x0
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
aput-object v2, v0, v1
const/16 v2, 0x5a
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x1
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v2, v0, v3
const/16 v2, 0xb4
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v5, 0x2
invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v6
aput-object v2, v0, v5
const/16 v2, 0x10e
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v7, 0x3
invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v2, v0, v7
const/4 v2, -0x1
invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v9, 0x4
aput-object v2, v0, v9
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
sput-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_ORIENTATIONS:Ljava/util/List;
.line 2
new-array v0, v7, [Ljava/lang/Integer;
aput-object v4, v0, v1
aput-object v6, v0, v3
aput-object v8, v0, v5
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
sput-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_ZOOM_STYLES:Ljava/util/List;
.line 3
new-array v0, v5, [Ljava/lang/Integer;
aput-object v6, v0, v1
aput-object v4, v0, v3
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
sput-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_EASING_STYLES:Ljava/util/List;
.line 4
new-array v0, v7, [Ljava/lang/Integer;
aput-object v4, v0, v1
aput-object v6, v0, v3
aput-object v8, v0, v5
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
sput-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_PAN_LIMITS:Ljava/util/List;
.line 5
new-array v0, v9, [Ljava/lang/Integer;
aput-object v6, v0, v1
aput-object v4, v0, v3
aput-object v8, v0, v5
invoke-static {v9}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
aput-object v1, v0, v7
invoke-static {v0}, Ljava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
move-result-object v0
sput-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_SCALE_TYPES:Ljava/util/List;
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.registers 3
const/4 v0, 0x0
.line 30
invoke-direct {p0, p1, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 5
.line 1
invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
const/4 p2, 0x0
.line 2
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->orientation:I
const/high16 p2, 0x40000000 # 2.0f
.line 3
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxScale:F
.line 4
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale()F
move-result p2
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale:F
const/4 p2, -0x1
.line 5
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minimumTileDpi:I
const/4 p2, 0x1
.line 6
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panLimit:I
.line 7
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minimumScaleType:I
const v0, 0x7fffffff
.line 8
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileWidth:I
.line 9
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileHeight:I
.line 10
sget-object v0, Landroid/os/AsyncTask;->THREAD_POOL_EXECUTOR:Ljava/util/concurrent/Executor;
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->executor:Ljava/util/concurrent/Executor;
.line 11
iput-boolean p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->eagerLoadingEnabled:Z
.line 12
iput-boolean p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
.line 13
iput-boolean p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->zoomEnabled:Z
.line 14
iput-boolean p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleEnabled:Z
const/high16 v0, 0x3f800000 # 1.0f
.line 15
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomScale:F
.line 16
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomStyle:I
const/16 v0, 0x1f4
.line 17
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomDuration:I
.line 18
new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invoke-direct {v0, p2}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>(Z)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoderLock:Ljava/util/concurrent/locks/ReadWriteLock;
.line 19
new-instance v0, Lio/rong/subscaleview/decoder/CompatDecoderFactory;
const-class v1, Lio/rong/subscaleview/decoder/SkiaImageDecoder;
invoke-direct {v0, v1}, Lio/rong/subscaleview/decoder/CompatDecoderFactory;-><init>(Ljava/lang/Class;)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
.line 20
new-instance v0, Lio/rong/subscaleview/decoder/CompatDecoderFactory;
const-class v1, Lio/rong/subscaleview/decoder/SkiaImageRegionDecoder;
invoke-direct {v0, v1}, Lio/rong/subscaleview/decoder/CompatDecoderFactory;-><init>(Ljava/lang/Class;)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->regionDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
const/16 v0, 0x8
.line 21
new-array v1, v0, [F
iput-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->srcArray:[F
.line 22
new-array v0, v0, [F
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->dstArray:[F
.line 23
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
iget v0, v0, Landroid/util/DisplayMetrics;->density:F
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->density:F
const/16 v0, 0xa0
.line 24
invoke-virtual {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMinimumDpi(I)V
.line 25
invoke-virtual {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setDoubleTapZoomDpi(I)V
const/16 v0, 0x140
.line 26
invoke-virtual {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMinimumTileDpi(I)V
.line 27
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setGestureDetector(Landroid/content/Context;)V
.line 28
new-instance v0, Landroid/os/Handler;
new-instance v1, Lio/rong/subscaleview/SubsamplingScaleImageView$1;
invoke-direct {v1, p0}, Lio/rong/subscaleview/SubsamplingScaleImageView$1;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;)V
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Handler$Callback;)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->handler:Landroid/os/Handler;
.line 29
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
const/high16 v0, 0x41a00000 # 20.0f
invoke-static {p2, v0, p1}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result p1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleThreshold:F
return-void
.end method
.method static synthetic access$000(Lio/rong/subscaleview/SubsamplingScaleImageView;)Landroid/view/View$OnLongClickListener;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onLongClickListener:Landroid/view/View$OnLongClickListener;
return-object p0
.end method
.method static synthetic access$1000(Lio/rong/subscaleview/SubsamplingScaleImageView;)F
.registers 1
.line 1
iget p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
return p0
.end method
.method static synthetic access$102(Lio/rong/subscaleview/SubsamplingScaleImageView;I)I
.registers 2
.line 1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
return p1
.end method
.method static synthetic access$1400(Lio/rong/subscaleview/SubsamplingScaleImageView;)Z
.registers 1
.line 1
iget-boolean p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->zoomEnabled:Z
return p0
.end method
.method static synthetic access$1500(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/content/Context;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setGestureDetector(Landroid/content/Context;)V
return-void
.end method
.method static synthetic access$1600(Lio/rong/subscaleview/SubsamplingScaleImageView;)Z
.registers 1
.line 1
iget-boolean p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleEnabled:Z
return p0
.end method
.method static synthetic access$1700(Lio/rong/subscaleview/SubsamplingScaleImageView;)Landroid/graphics/PointF;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
return-object p0
.end method
.method static synthetic access$1702(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
return-object p1
.end method
.method static synthetic access$1802(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
return-object p1
.end method
.method static synthetic access$1902(Lio/rong/subscaleview/SubsamplingScaleImageView;F)F
.registers 2
.line 1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
return p1
.end method
.method static synthetic access$2002(Lio/rong/subscaleview/SubsamplingScaleImageView;Z)Z
.registers 2
.line 1
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isQuickScaling:Z
return p1
.end method
.method static synthetic access$201(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/view/View$OnLongClickListener;)V
.registers 2
.line 1
invoke-super {p0, p1}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
return-void
.end method
.method static synthetic access$2102(Lio/rong/subscaleview/SubsamplingScaleImageView;F)F
.registers 2
.line 1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleLastDistance:F
return p1
.end method
.method static synthetic access$2200(Lio/rong/subscaleview/SubsamplingScaleImageView;)Landroid/graphics/PointF;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF;
return-object p0
.end method
.method static synthetic access$2202(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF;
return-object p1
.end method
.method static synthetic access$2302(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF;
return-object p1
.end method
.method static synthetic access$2402(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVLastPoint:Landroid/graphics/PointF;
return-object p1
.end method
.method static synthetic access$2502(Lio/rong/subscaleview/SubsamplingScaleImageView;Z)Z
.registers 2
.line 1
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleMoved:Z
return p1
.end method
.method static synthetic access$2600(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/PointF;Landroid/graphics/PointF;)V
.registers 3
.line 1
invoke-direct {p0, p1, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoom(Landroid/graphics/PointF;Landroid/graphics/PointF;)V
return-void
.end method
.method static synthetic access$301(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/view/View$OnLongClickListener;)V
.registers 2
.line 1
invoke-super {p0, p1}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
return-void
.end method
.method static synthetic access$5100(Lio/rong/subscaleview/SubsamplingScaleImageView;Ljava/lang/String;[Ljava/lang/Object;)V
.registers 3
.line 1
invoke-direct {p0, p1, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method static synthetic access$5200(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/content/Context;Ljava/lang/String;)I
.registers 3
.line 1
invoke-direct {p0, p1, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getExifOrientation(Landroid/content/Context;Ljava/lang/String;)I
move-result p0
return p0
.end method
.method static synthetic access$5300(Lio/rong/subscaleview/SubsamplingScaleImageView;)Landroid/graphics/Rect;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect;
return-object p0
.end method
.method static synthetic access$5400()Ljava/lang/String;
.registers 1
.line 1
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->TAG:Ljava/lang/String;
return-object v0
.end method
.method static synthetic access$5500(Lio/rong/subscaleview/SubsamplingScaleImageView;Lio/rong/subscaleview/decoder/ImageRegionDecoder;III)V
.registers 5
.line 1
invoke-direct {p0, p1, p2, p3, p4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onTilesInited(Lio/rong/subscaleview/decoder/ImageRegionDecoder;III)V
return-void
.end method
.method static synthetic access$5600(Lio/rong/subscaleview/SubsamplingScaleImageView;)Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
return-object p0
.end method
.method static synthetic access$5700(Lio/rong/subscaleview/SubsamplingScaleImageView;)Ljava/util/concurrent/locks/ReadWriteLock;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoderLock:Ljava/util/concurrent/locks/ReadWriteLock;
return-object p0
.end method
.method static synthetic access$5800(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.registers 3
.line 1
invoke-direct {p0, p1, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fileSRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
return-void
.end method
.method static synthetic access$5900(Lio/rong/subscaleview/SubsamplingScaleImageView;)V
.registers 1
.line 1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onTileLoaded()V
return-void
.end method
.method static synthetic access$600(Lio/rong/subscaleview/SubsamplingScaleImageView;)Z
.registers 1
.line 1
iget-boolean p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
return p0
.end method
.method static synthetic access$6000(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/Bitmap;)V
.registers 2
.line 1
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onPreviewLoaded(Landroid/graphics/Bitmap;)V
return-void
.end method
.method static synthetic access$6100(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/Bitmap;IZ)V
.registers 4
.line 1
invoke-direct {p0, p1, p2, p3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageLoaded(Landroid/graphics/Bitmap;IZ)V
return-void
.end method
.method static synthetic access$6300()Ljava/util/List;
.registers 1
.line 1
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_EASING_STYLES:Ljava/util/List;
return-object v0
.end method
.method static synthetic access$6400(Lio/rong/subscaleview/SubsamplingScaleImageView;)Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
return-object p0
.end method
.method static synthetic access$6402(Lio/rong/subscaleview/SubsamplingScaleImageView;Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
return-object p1
.end method
.method static synthetic access$6500(Lio/rong/subscaleview/SubsamplingScaleImageView;F)F
.registers 2
.line 1
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->limitedScale(F)F
move-result p0
return p0
.end method
.method static synthetic access$6600(Lio/rong/subscaleview/SubsamplingScaleImageView;FFFLandroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 5
.line 1
invoke-direct {p0, p1, p2, p3, p4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->limitedSCenter(FFFLandroid/graphics/PointF;)Landroid/graphics/PointF;
return-object p4
.end method
.method static synthetic access$6800(Lio/rong/subscaleview/SubsamplingScaleImageView;ZLio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)V
.registers 3
.line 1
invoke-direct {p0, p1, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(ZLio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)V
return-void
.end method
.method static synthetic access$700(Lio/rong/subscaleview/SubsamplingScaleImageView;)Z
.registers 1
.line 1
iget-boolean p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->readySent:Z
return p0
.end method
.method static synthetic access$800(Lio/rong/subscaleview/SubsamplingScaleImageView;)Landroid/graphics/PointF;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
return-object p0
.end method
.method static synthetic access$900(Lio/rong/subscaleview/SubsamplingScaleImageView;)Z
.registers 1
.line 1
iget-boolean p0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
return p0
.end method
.method static synthetic access$902(Lio/rong/subscaleview/SubsamplingScaleImageView;Z)Z
.registers 2
.line 1
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
return p1
.end method
.method private calculateInSampleSize(F)I
.registers 5
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minimumTileDpi:I
if-lez v0, :cond_1a
.line 2
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
.line 3
iget v1, v0, Landroid/util/DisplayMetrics;->xdpi:F
iget v0, v0, Landroid/util/DisplayMetrics;->ydpi:F
add-float/2addr v1, v0
const/high16 v0, 0x40000000 # 2.0f
div-float/2addr v1, v0
.line 4
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minimumTileDpi:I
int-to-float v0, v0
div-float/2addr v0, v1
mul-float p1, p1, v0
.line 5
:cond_1a
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v0
int-to-float v0, v0
mul-float v0, v0, p1
float-to-int v0, v0
.line 6
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v1
int-to-float v1, v1
mul-float v1, v1, p1
float-to-int p1, v1
if-eqz v0, :cond_60
if-nez p1, :cond_2f
goto :goto_60
.line 7
:cond_2f
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v1
const/4 v2, 0x1
if-gt v1, p1, :cond_3f
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v1
if-le v1, v0, :cond_3d
goto :goto_3f
:cond_3d
const/4 p1, 0x1
goto :goto_59
.line 8
:cond_3f
:goto_3f
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v1
int-to-float v1, v1
int-to-float p1, p1
div-float/2addr v1, p1
invoke-static {v1}, Ljava/lang/Math;->round(F)I
move-result p1
.line 9
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v1
int-to-float v1, v1
int-to-float v0, v0
div-float/2addr v1, v0
invoke-static {v1}, Ljava/lang/Math;->round(F)I
move-result v0
if-ge p1, v0, :cond_58
goto :goto_59
:cond_58
move p1, v0
:goto_59
mul-int/lit8 v0, v2, 0x2
if-ge v0, p1, :cond_5f
move v2, v0
goto :goto_59
:cond_5f
return v2
:cond_60
:goto_60
const/16 p1, 0x20
return p1
.end method
.method private checkImageLoaded()Z
.registers 3
.line 1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isBaseLayerReady()Z
move-result v0
.line 2
iget-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->imageLoadedSent:Z
if-nez v1, :cond_1a
if-eqz v0, :cond_1a
.line 3
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->preDraw()V
const/4 v1, 0x1
.line 4
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->imageLoadedSent:Z
.line 5
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageLoaded()V
.line 6
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
if-eqz v1, :cond_1a
.line 7
invoke-interface {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;->onImageLoaded()V
:cond_1a
return v0
.end method
.method private checkReady()Z
.registers 4
.line 1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
const/4 v1, 0x1
if-lez v0, :cond_21
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v0
if-lez v0, :cond_21
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
if-lez v0, :cond_21
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-lez v0, :cond_21
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-nez v0, :cond_1f
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isBaseLayerReady()Z
move-result v0
if-eqz v0, :cond_21
:cond_1f
const/4 v0, 0x1
goto :goto_22
:cond_21
const/4 v0, 0x0
.line 2
:goto_22
iget-boolean v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->readySent:Z
if-nez v2, :cond_3a
if-eqz v0, :cond_3a
.line 3
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->preDraw()V
.line 4
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->readySent:Z
.line 5
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onReady()V
.line 6
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
if-eqz v1, :cond_37
.line 7
invoke-interface {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;->onReady()V
.line 8
:cond_37
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setNewDefaultScale()V
:cond_3a
return v0
.end method
.method private createPaints()V
.registers 5
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint;
const/4 v1, 0x1
if-nez v0, :cond_1b
.line 2
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint;
.line 3
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V
.line 4
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setFilterBitmap(Z)V
.line 5
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setDither(Z)V
.line 6
:cond_1b
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
if-eqz v0, :cond_23
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
if-nez v0, :cond_66
:cond_23
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug:Z
if-eqz v0, :cond_66
.line 7
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
.line 8
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
const/16 v2, 0xc
invoke-direct {p0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v2
int-to-float v2, v2
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setTextSize(F)V
.line 9
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
const v2, -0xff01
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V
.line 10
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
sget-object v3, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 11
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
.line 12
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V
.line 13
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
sget-object v2, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style;
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 14
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-direct {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v1
int-to-float v1, v1
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeWidth(F)V
:cond_66
return-void
.end method
.method private varargs debug(Ljava/lang/String;[Ljava/lang/Object;)V
.registers 4
.line 1
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug:Z
if-eqz v0, :cond_d
.line 2
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->TAG:Ljava/lang/String;
invoke-static {p1, p2}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p1
invoke-static {v0, p1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
:cond_d
return-void
.end method
.method private distance(FFFF)F
.registers 5
sub-float/2addr p1, p2
sub-float/2addr p3, p4
mul-float p1, p1, p1
mul-float p3, p3, p3
add-float/2addr p1, p3
float-to-double p1, p1
.line 1
invoke-static {p1, p2}, Ljava/lang/Math;->sqrt(D)D
move-result-wide p1
double-to-float p1, p1
return p1
.end method
.method private doubleTapZoom(Landroid/graphics/PointF;Landroid/graphics/PointF;)V
.registers 14
.line 1
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
const/4 v1, 0x2
if-nez v0, :cond_22
.line 2
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
if-eqz v0, :cond_12
.line 3
iget v2, v0, Landroid/graphics/PointF;->x:F
iput v2, p1, Landroid/graphics/PointF;->x:F
.line 4
iget v0, v0, Landroid/graphics/PointF;->y:F
iput v0, p1, Landroid/graphics/PointF;->y:F
goto :goto_22
.line 5
:cond_12
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v0
div-int/2addr v0, v1
int-to-float v0, v0
iput v0, p1, Landroid/graphics/PointF;->x:F
.line 6
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v0
div-int/2addr v0, v1
int-to-float v0, v0
iput v0, p1, Landroid/graphics/PointF;->y:F
.line 7
:cond_22
:goto_22
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxScale:F
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomScale:F
invoke-static {v0, v2}, Ljava/lang/Math;->min(FF)F
move-result v0
.line 8
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
float-to-double v4, v2
float-to-double v6, v0
const-wide v8, 0x3feccccccccccccdL # 0.9
invoke-static {v6, v7}, Ljava/lang/Double;->isNaN(D)Z
mul-double v6, v6, v8
const/4 v8, 0x1
const/4 v9, 0x0
cmpg-double v10, v4, v6
if-lez v10, :cond_47
iget v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale:F
cmpl-float v2, v2, v4
if-nez v2, :cond_45
goto :goto_47
:cond_45
const/4 v2, 0x0
goto :goto_48
:cond_47
:goto_47
const/4 v2, 0x1
:goto_48
if-eqz v2, :cond_4b
goto :goto_4f
.line 9
:cond_4b
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale()F
move-result v0
:goto_4f
move v4, v0
.line 10
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomStyle:I
const/4 v5, 0x3
if-ne v0, v5, :cond_59
.line 11
invoke-virtual {p0, v4, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setScaleAndCenter(FLandroid/graphics/PointF;)V
goto :goto_99
:cond_59
const/4 v6, 0x4
if-eq v0, v1, :cond_82
if-eqz v2, :cond_82
.line 12
iget-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
if-nez v1, :cond_63
goto :goto_82
:cond_63
if-ne v0, v8, :cond_99
.line 13
new-instance v7, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
const/4 v5, 0x0
move-object v0, v7
move-object v1, p0
move v2, v4
move-object v3, p1
move-object v4, p2
invoke-direct/range {v0 .. v5}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;FLandroid/graphics/PointF;Landroid/graphics/PointF;Lio/rong/subscaleview/SubsamplingScaleImageView$1;)V
invoke-virtual {v7, v9}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;->withInterruptible(Z)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
move-result-object v0
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomDuration:I
int-to-long v1, v1
invoke-virtual {v0, v1, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;->withDuration(J)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
move-result-object v0
invoke-static {v0, v6}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;->access$1300(Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;I)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
invoke-virtual {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;->start()V
goto :goto_99
.line 14
:cond_82
:goto_82
new-instance v0, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
const/4 v1, 0x0
invoke-direct {v0, p0, v4, p1, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;FLandroid/graphics/PointF;Lio/rong/subscaleview/SubsamplingScaleImageView$1;)V
invoke-virtual {v0, v9}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;->withInterruptible(Z)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
move-result-object v0
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomDuration:I
int-to-long v1, v1
invoke-virtual {v0, v1, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;->withDuration(J)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
move-result-object v0
invoke-static {v0, v6}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;->access$1300(Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;I)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
invoke-virtual {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;->start()V
.line 15
:cond_99
:goto_99
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method
.method private ease(IJFFJ)F
.registers 15
const/4 v0, 0x1
if-eq p1, v0, :cond_27
const/4 v0, 0x2
if-ne p1, v0, :cond_10
move-object v0, p0
move-wide v1, p2
move v3, p4
move v4, p5
move-wide v5, p6
.line 1
invoke-direct/range {v0 .. v6}, Lio/rong/subscaleview/SubsamplingScaleImageView;->easeInOutQuad(JFFJ)F
move-result p1
return p1
.line 2
:cond_10
new-instance p2, Ljava/lang/IllegalStateException;
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3}, Ljava/lang/StringBuilder;-><init>()V
const-string p4, "Unexpected easing type: "
invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p2
:cond_27
move-object v0, p0
move-wide v1, p2
move v3, p4
move v4, p5
move-wide v5, p6
.line 3
invoke-direct/range {v0 .. v6}, Lio/rong/subscaleview/SubsamplingScaleImageView;->easeOutQuad(JFFJ)F
move-result p1
return p1
.end method
.method private easeInOutQuad(JFFJ)F
.registers 7
long-to-float p1, p1
long-to-float p2, p5
const/high16 p5, 0x40000000 # 2.0f
div-float/2addr p2, p5
div-float/2addr p1, p2
const/high16 p2, 0x3f800000 # 1.0f
cmpg-float p6, p1, p2
if-gez p6, :cond_13
div-float/2addr p4, p5
mul-float p4, p4, p1
:goto_f
mul-float p4, p4, p1
add-float/2addr p4, p3
return p4
:cond_13
sub-float/2addr p1, p2
neg-float p4, p4
div-float/2addr p4, p5
sub-float p5, p1, p5
mul-float p1, p1, p5
sub-float/2addr p1, p2
goto :goto_f
.end method
.method private easeOutQuad(JFFJ)F
.registers 7
long-to-float p1, p1
long-to-float p2, p5
div-float/2addr p1, p2
neg-float p2, p4
mul-float p2, p2, p1
const/high16 p4, 0x40000000 # 2.0f
sub-float/2addr p1, p4
mul-float p2, p2, p1
add-float/2addr p2, p3
return p2
.end method
.method private execute(Landroid/os/AsyncTask;)V
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/os/AsyncTask<",
"Ljava/lang/Void;",
"Ljava/lang/Void;",
"*>;)V"
}
.end annotation
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->executor:Ljava/util/concurrent/Executor;
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Void;
invoke-virtual {p1, v0, v1}, Landroid/os/AsyncTask;->executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;
return-void
.end method
.method private fileSRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.registers 8
.line 1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
if-nez v0, :cond_a
.line 2
invoke-virtual {p2, p1}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V
goto :goto_51
.line 3
:cond_a
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
const/16 v1, 0x5a
if-ne v0, v1, :cond_23
.line 4
iget v0, p1, Landroid/graphics/Rect;->top:I
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
iget v2, p1, Landroid/graphics/Rect;->right:I
sub-int v2, v1, v2
iget v3, p1, Landroid/graphics/Rect;->bottom:I
iget p1, p1, Landroid/graphics/Rect;->left:I
sub-int/2addr v1, p1
invoke-virtual {p2, v0, v2, v3, v1}, Landroid/graphics/Rect;->set(IIII)V
goto :goto_51
.line 5
:cond_23
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
const/16 v1, 0xb4
if-ne v0, v1, :cond_41
.line 6
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
iget v1, p1, Landroid/graphics/Rect;->right:I
sub-int v1, v0, v1
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
iget v3, p1, Landroid/graphics/Rect;->bottom:I
sub-int v3, v2, v3
iget v4, p1, Landroid/graphics/Rect;->left:I
sub-int/2addr v0, v4
iget p1, p1, Landroid/graphics/Rect;->top:I
sub-int/2addr v2, p1
invoke-virtual {p2, v1, v3, v0, v2}, Landroid/graphics/Rect;->set(IIII)V
goto :goto_51
.line 7
:cond_41
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
iget v1, p1, Landroid/graphics/Rect;->bottom:I
sub-int v1, v0, v1
iget v2, p1, Landroid/graphics/Rect;->left:I
iget v3, p1, Landroid/graphics/Rect;->top:I
sub-int/2addr v0, v3
iget p1, p1, Landroid/graphics/Rect;->right:I
invoke-virtual {p2, v1, v2, v0, p1}, Landroid/graphics/Rect;->set(IIII)V
:goto_51
return-void
.end method
.method private fitToBounds(Z)V
.registers 7
.line 25
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
const/4 v1, 0x0
if-nez v0, :cond_e
const/4 v0, 0x1
.line 26
new-instance v2, Landroid/graphics/PointF;
invoke-direct {v2, v1, v1}, Landroid/graphics/PointF;-><init>(FF)V
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
goto :goto_f
:cond_e
const/4 v0, 0x0
.line 27
:goto_f
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
if-nez v2, :cond_20
.line 28
new-instance v2, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
new-instance v3, Landroid/graphics/PointF;
invoke-direct {v3, v1, v1}, Landroid/graphics/PointF;-><init>(FF)V
const/4 v4, 0x0
invoke-direct {v2, v1, v3, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;-><init>(FLandroid/graphics/PointF;Lio/rong/subscaleview/SubsamplingScaleImageView$1;)V
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
.line 29
:cond_20
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F
invoke-static {v1, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4702(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;F)F
.line 30
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF;
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF;
move-result-object v1
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {v1, v2}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
.line 31
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
invoke-direct {p0, p1, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(ZLio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)V
.line 32
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F
invoke-static {p1}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4700(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)F
move-result p1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 33
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF;
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF;
move-result-object v1
invoke-virtual {p1, v1}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
if-eqz v0, :cond_6a
.line 34
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minimumScaleType:I
const/4 v0, 0x4
if-eq p1, v0, :cond_6a
.line 35
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v0
div-int/lit8 v0, v0, 0x2
int-to-float v0, v0
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v1
div-int/lit8 v1, v1, 0x2
int-to-float v1, v1
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0, v0, v1, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateForSCenter(FFF)Landroid/graphics/PointF;
move-result-object v0
invoke-virtual {p1, v0}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
:cond_6a
return-void
.end method
.method private fitToBounds(ZLio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)V
.registers 14
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panLimit:I
const/4 v1, 0x2
const/4 v2, 0x0
if-ne v0, v1, :cond_d
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result v0
if-eqz v0, :cond_d
const/4 p1, 0x0
.line 2
:cond_d
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF;
invoke-static {p2}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF;
move-result-object v0
.line 3
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F
invoke-static {p2}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4700(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)F
move-result v3
invoke-direct {p0, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->limitedScale(F)F
move-result v3
.line 4
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v4
int-to-float v4, v4
mul-float v4, v4, v3
.line 5
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v5
int-to-float v5, v5
mul-float v5, v5, v3
.line 6
iget v6, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panLimit:I
const/4 v7, 0x3
if-ne v6, v7, :cond_53
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result v6
if-eqz v6, :cond_53
.line 7
iget v6, v0, Landroid/graphics/PointF;->x:F
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v8
int-to-float v8, v8
const/high16 v9, 0x40000000 # 2.0f
div-float/2addr v8, v9
sub-float/2addr v8, v4
invoke-static {v6, v8}, Ljava/lang/Math;->max(FF)F
move-result v6
iput v6, v0, Landroid/graphics/PointF;->x:F
.line 8
iget v6, v0, Landroid/graphics/PointF;->y:F
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v8
int-to-float v8, v8
div-float/2addr v8, v9
sub-float/2addr v8, v5
invoke-static {v6, v8}, Ljava/lang/Math;->max(FF)F
move-result v6
iput v6, v0, Landroid/graphics/PointF;->y:F
goto :goto_84
:cond_53
if-eqz p1, :cond_72
.line 9
iget v6, v0, Landroid/graphics/PointF;->x:F
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v8
int-to-float v8, v8
sub-float/2addr v8, v4
invoke-static {v6, v8}, Ljava/lang/Math;->max(FF)F
move-result v6
iput v6, v0, Landroid/graphics/PointF;->x:F
.line 10
iget v6, v0, Landroid/graphics/PointF;->y:F
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v8
int-to-float v8, v8
sub-float/2addr v8, v5
invoke-static {v6, v8}, Ljava/lang/Math;->max(FF)F
move-result v6
iput v6, v0, Landroid/graphics/PointF;->y:F
goto :goto_84
.line 11
:cond_72
iget v6, v0, Landroid/graphics/PointF;->x:F
neg-float v8, v4
invoke-static {v6, v8}, Ljava/lang/Math;->max(FF)F
move-result v6
iput v6, v0, Landroid/graphics/PointF;->x:F
.line 12
iget v6, v0, Landroid/graphics/PointF;->y:F
neg-float v8, v5
invoke-static {v6, v8}, Ljava/lang/Math;->max(FF)F
move-result v6
iput v6, v0, Landroid/graphics/PointF;->y:F
.line 13
:goto_84
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result v6
const/high16 v8, 0x3f000000 # 0.5f
if-gtz v6, :cond_96
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
move-result v6
if-lez v6, :cond_93
goto :goto_96
:cond_93
const/high16 v6, 0x3f000000 # 0.5f
goto :goto_a6
:cond_96
:goto_96
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result v6
int-to-float v6, v6
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result v9
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
move-result v10
add-int/2addr v9, v10
int-to-float v9, v9
div-float/2addr v6, v9
.line 14
:goto_a6
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v9
if-gtz v9, :cond_b2
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
move-result v9
if-lez v9, :cond_c2
:cond_b2
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v8
int-to-float v8, v8
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v9
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
move-result v10
add-int/2addr v9, v10
int-to-float v9, v9
div-float/2addr v8, v9
.line 15
:cond_c2
iget v9, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panLimit:I
if-ne v9, v7, :cond_e0
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result v7
if-eqz v7, :cond_e0
.line 16
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result p1
div-int/2addr p1, v1
invoke-static {v2, p1}, Ljava/lang/Math;->max(II)I
move-result p1
int-to-float p1, p1
.line 17
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v4
div-int/2addr v4, v1
invoke-static {v2, v4}, Ljava/lang/Math;->max(II)I
move-result v1
goto :goto_10d
:cond_e0
if-eqz p1, :cond_fc
.line 18
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result p1
int-to-float p1, p1
sub-float/2addr p1, v4
mul-float p1, p1, v6
const/4 v1, 0x0
invoke-static {v1, p1}, Ljava/lang/Math;->max(FF)F
move-result p1
.line 19
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v2
int-to-float v2, v2
sub-float/2addr v2, v5
mul-float v2, v2, v8
invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F
move-result v1
goto :goto_10e
.line 20
:cond_fc
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result p1
invoke-static {v2, p1}, Ljava/lang/Math;->max(II)I
move-result p1
int-to-float p1, p1
.line 21
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
invoke-static {v2, v1}, Ljava/lang/Math;->max(II)I
move-result v1
:goto_10d
int-to-float v1, v1
.line 22
:goto_10e
iget v2, v0, Landroid/graphics/PointF;->x:F
invoke-static {v2, p1}, Ljava/lang/Math;->min(FF)F
move-result p1
iput p1, v0, Landroid/graphics/PointF;->x:F
.line 23
iget p1, v0, Landroid/graphics/PointF;->y:F
invoke-static {p1, v1}, Ljava/lang/Math;->min(FF)F
move-result p1
iput p1, v0, Landroid/graphics/PointF;->y:F
.line 24
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F
invoke-static {p2, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4702(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;F)F
return-void
.end method
.method private getExifOrientation(Landroid/content/Context;Ljava/lang/String;)I
.registers 12
const-string v0, "content"
.line 1
invoke-virtual {p2, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
const/4 v1, 0x1
const/4 v2, 0x0
if-eqz v0, :cond_70
const/4 v0, 0x0
.line 2
:try_start_b
new-array v5, v1, [Ljava/lang/String;
const-string v1, "orientation"
aput-object v1, v5, v2
.line 3
invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object v3
invoke-static {p2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v4
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
invoke-virtual/range {v3 .. v8}, Landroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
move-result-object v0
if-eqz v0, :cond_52
.line 4
invoke-interface {v0}, Landroid/database/Cursor;->moveToFirst()Z
move-result p1
if-eqz p1, :cond_52
.line 5
invoke-interface {v0, v2}, Landroid/database/Cursor;->getInt(I)I
move-result p1
.line 6
sget-object p2, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_ORIENTATIONS:Ljava/util/List;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {p2, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_3c
const/4 p2, -0x1
if-eq p1, p2, :cond_3c
goto :goto_53
.line 7
:cond_3c
sget-object p2, Lio/rong/subscaleview/SubsamplingScaleImageView;->TAG:Ljava/lang/String;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "Unsupported orientation: "
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p2, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:try_end_52
.catch Ljava/lang/Exception; {:try_start_b .. :try_end_52} :catch_5d
.catchall {:try_start_b .. :try_end_52} :catchall_5b
:cond_52
const/4 p1, 0x0
:goto_53
if-eqz v0, :cond_58
.line 8
invoke-interface {v0}, Landroid/database/Cursor;->close()V
:cond_58
move v2, p1
goto/16 :goto_c7
:catchall_5b
move-exception p1
goto :goto_6a
.line 9
:catch_5d
:try_start_5d
sget-object p1, Lio/rong/subscaleview/SubsamplingScaleImageView;->TAG:Ljava/lang/String;
const-string p2, "Could not get orientation of image from media store"
invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:try_end_64
.catchall {:try_start_5d .. :try_end_64} :catchall_5b
if-eqz v0, :cond_c7
.line 10
invoke-interface {v0}, Landroid/database/Cursor;->close()V
goto :goto_c7
:goto_6a
if-eqz v0, :cond_6f
invoke-interface {v0}, Landroid/database/Cursor;->close()V
:cond_6f
throw p1
:cond_70
const-string p1, "file:///"
.line 11
invoke-virtual {p2, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result p1
if-eqz p1, :cond_c7
const-string p1, "file:///android_asset/"
invoke-virtual {p2, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result p1
if-nez p1, :cond_c7
.line 12
:try_start_80
new-instance p1, Landroidx/exifinterface/a/b;
const/4 v0, 0x7
invoke-virtual {p2, v0}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p2
invoke-direct {p1, p2}, Landroidx/exifinterface/a/b;-><init>(Ljava/lang/String;)V
const-string p2, "Orientation"
.line 13
invoke-virtual {p1, p2, v1}, Landroidx/exifinterface/a/b;->a(Ljava/lang/String;I)I
move-result p1
const/4 p2, 0x6
if-ne p1, p2, :cond_98
const/16 p1, 0x5a
const/16 v2, 0x5a
goto :goto_c7
:cond_98
const/4 p2, 0x3
if-ne p1, p2, :cond_a0
const/16 p1, 0xb4
const/16 v2, 0xb4
goto :goto_c7
:cond_a0
const/16 p2, 0x8
if-ne p1, p2, :cond_a9
const/16 p1, 0x10e
const/16 v2, 0x10e
goto :goto_c7
.line 14
:cond_a9
sget-object p2, Lio/rong/subscaleview/SubsamplingScaleImageView;->TAG:Ljava/lang/String;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Unsupported EXIF orientation: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p2, p1}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:try_end_bf
.catch Ljava/lang/Exception; {:try_start_80 .. :try_end_bf} :catch_c0
goto :goto_c7
.line 15
:catch_c0
sget-object p1, Lio/rong/subscaleview/SubsamplingScaleImageView;->TAG:Ljava/lang/String;
const-string p2, "Could not get EXIF orientation of image"
invoke-static {p1, p2}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
:cond_c7
:goto_c7
return v2
.end method
.method private getMaxBitmapDimensions(Landroid/graphics/Canvas;)Landroid/graphics/Point;
.registers 5
.line 1
new-instance v0, Landroid/graphics/Point;
invoke-virtual {p1}, Landroid/graphics/Canvas;->getMaximumBitmapWidth()I
move-result v1
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileWidth:I
invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I
move-result v1
invoke-virtual {p1}, Landroid/graphics/Canvas;->getMaximumBitmapHeight()I
move-result p1
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileHeight:I
invoke-static {p1, v2}, Ljava/lang/Math;->min(II)I
move-result p1
invoke-direct {v0, v1, p1}, Landroid/graphics/Point;-><init>(II)V
return-object v0
.end method
.method public static getPreferredBitmapConfig()Landroid/graphics/Bitmap$Config;
.registers 1
.line 1
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->preferredBitmapConfig:Landroid/graphics/Bitmap$Config;
return-object v0
.end method
.method private getRequiredRotation()I
.registers 3
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->orientation:I
const/4 v1, -0x1
if-ne v0, v1, :cond_7
.line 2
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sOrientation:I
:cond_7
return v0
.end method
.method private declared-synchronized initialiseBaseLayer(Landroid/graphics/Point;)V
.registers 14
monitor-enter p0
:try_start_1
const-string v0, "initialiseBaseLayer maxTileDimensions=%dx%d"
const/4 v1, 0x2
.line 1
new-array v2, v1, [Ljava/lang/Object;
const/4 v3, 0x0
iget v4, p1, Landroid/graphics/Point;->x:I
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v2, v3
iget v3, p1, Landroid/graphics/Point;->y:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v4, 0x1
aput-object v3, v2, v4
invoke-direct {p0, v0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
new-instance v0, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
new-instance v2, Landroid/graphics/PointF;
const/4 v3, 0x0
invoke-direct {v2, v3, v3}, Landroid/graphics/PointF;-><init>(FF)V
const/4 v5, 0x0
invoke-direct {v0, v3, v2, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;-><init>(FLandroid/graphics/PointF;Lio/rong/subscaleview/SubsamplingScaleImageView$1;)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
.line 3
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
invoke-direct {p0, v4, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(ZLio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)V
.line 4
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F
invoke-static {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4700(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)F
move-result v0
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->calculateInSampleSize(F)I
move-result v0
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
.line 5
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-le v0, v4, :cond_43
.line 6
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
div-int/2addr v0, v1
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
.line 7
:cond_43
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-ne v0, v4, :cond_76
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect;
if-nez v0, :cond_76
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v0
iget v1, p1, Landroid/graphics/Point;->x:I
if-ge v0, v1, :cond_76
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v0
iget v1, p1, Landroid/graphics/Point;->y:I
if-ge v0, v1, :cond_76
.line 8
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
invoke-interface {p1}, Lio/rong/subscaleview/decoder/ImageRegionDecoder;->recycle()V
.line 9
iput-object v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
.line 10
new-instance p1, Lio/rong/subscaleview/SubsamplingScaleImageView$BitmapLoadTask;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v8
iget-object v9, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
iget-object v10, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
const/4 v11, 0x0
move-object v6, p1
move-object v7, p0
invoke-direct/range {v6 .. v11}, Lio/rong/subscaleview/SubsamplingScaleImageView$BitmapLoadTask;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/content/Context;Lio/rong/subscaleview/decoder/DecoderFactory;Landroid/net/Uri;Z)V
.line 11
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V
goto :goto_a5
.line 12
:cond_76
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->initialiseTileMap(Landroid/graphics/Point;)V
.line 13
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
invoke-interface {p1, v0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Ljava/util/List;
.line 14
invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_8b
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_a2
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;
.line 15
new-instance v1, Lio/rong/subscaleview/SubsamplingScaleImageView$TileLoadTask;
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
invoke-direct {v1, p0, v2, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$TileLoadTask;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;Lio/rong/subscaleview/decoder/ImageRegionDecoder;Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)V
.line 16
invoke-direct {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V
goto :goto_8b
.line 17
:cond_a2
invoke-direct {p0, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V
:try_end_a5
.catchall {:try_start_1 .. :try_end_a5} :catchall_a7
.line 18
:goto_a5
monitor-exit p0
return-void
:catchall_a7
move-exception p1
monitor-exit p0
goto :goto_ab
:goto_aa
throw p1
:goto_ab
goto :goto_aa
.end method
.method private initialiseTileMap(Landroid/graphics/Point;)V
.registers 21
move-object/from16 v0, p0
move-object/from16 v1, p1
const/4 v2, 0x2
.line 1
new-array v2, v2, [Ljava/lang/Object;
iget v3, v1, Landroid/graphics/Point;->x:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v4, 0x0
aput-object v3, v2, v4
iget v3, v1, Landroid/graphics/Point;->y:I
invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
const/4 v5, 0x1
aput-object v3, v2, v5
const-string v3, "initialiseTileMap maxTileDimensions=%dx%d"
invoke-direct {v0, v3, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
new-instance v2, Ljava/util/LinkedHashMap;
invoke-direct {v2}, Ljava/util/LinkedHashMap;-><init>()V
iput-object v2, v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
.line 3
iget v2, v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
move v6, v2
const/4 v2, 0x1
const/4 v3, 0x1
.line 4
:goto_2a
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v7
div-int/2addr v7, v2
.line 5
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v8
div-int/2addr v8, v3
.line 6
div-int v9, v7, v6
.line 7
div-int v10, v8, v6
.line 8
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
const-string v12, " sampleSize = "
invoke-virtual {v11, v12}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11, v6}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
const-string v12, "initialiseTileMap"
invoke-static {v12, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 9
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
const-string v13, " sWidth() = "
invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v13
invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v13, " xTiles = "
invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v12, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 10
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
const-string v13, " sHeight() = "
invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v13
invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v13, " yTiles = "
invoke-virtual {v11, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v12, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 11
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
const-string v14, " sTileWidth = "
invoke-virtual {v11, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v12, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 12
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v11, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v12, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 13
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
const-string v15, " subTileWidth = "
invoke-virtual {v11, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11, v9}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v12, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 14
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
const-string v15, " subTileHeight = "
invoke-virtual {v11, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v11, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v12, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 15
new-instance v11, Ljava/lang/StringBuilder;
invoke-direct {v11}, Ljava/lang/StringBuilder;-><init>()V
const-string v15, " maxTileDimensions.x = "
invoke-virtual {v11, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v15, v1, Landroid/graphics/Point;->x:I
invoke-virtual {v11, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v15, " maxTileDimensions.y = "
invoke-virtual {v11, v15}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v15, v1, Landroid/graphics/Point;->y:I
invoke-virtual {v11, v15}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v11}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v11
invoke-static {v12, v11}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:goto_fc
add-int v11, v9, v2
add-int/2addr v11, v5
.line 16
iget v15, v1, Landroid/graphics/Point;->x:I
if-gt v11, v15, :cond_21a
int-to-double v4, v9
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getWidth()I
move-result v9
move-object/from16 v16, v12
int-to-double v11, v9
const-wide/high16 v17, 0x3ff4000000000000L # 1.25
invoke-static {v11, v12}, Ljava/lang/Double;->isNaN(D)Z
mul-double v11, v11, v17
cmpl-double v9, v4, v11
if-lez v9, :cond_11e
iget v4, v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-ge v6, v4, :cond_11e
move-object/from16 v5, v16
goto/16 :goto_21b
:cond_11e
:goto_11e
add-int v4, v10, v3
const/4 v5, 0x1
add-int/2addr v4, v5
.line 17
iget v5, v1, Landroid/graphics/Point;->y:I
if-gt v4, v5, :cond_206
int-to-double v4, v10
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getHeight()I
move-result v9
int-to-double v9, v9
invoke-static {v9, v10}, Ljava/lang/Double;->isNaN(D)Z
mul-double v9, v9, v17
cmpl-double v11, v4, v9
if-lez v11, :cond_13b
iget v4, v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-ge v6, v4, :cond_13b
goto/16 :goto_206
.line 18
:cond_13b
new-instance v4, Ljava/lang/StringBuilder;
invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, " \u8ba1\u7b97\u540e\u7684 xTiles = "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4, v13}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4, v14}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v5, " sTileHeight= "
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v8}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
move-object/from16 v5, v16
invoke-static {v5, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 19
new-instance v4, Ljava/util/ArrayList;
mul-int v9, v2, v3
invoke-direct {v4, v9}, Ljava/util/ArrayList;-><init>(I)V
const/4 v9, 0x0
:goto_16d
if-ge v9, v2, :cond_1ce
const/4 v10, 0x0
:goto_170
if-ge v10, v3, :cond_1c8
.line 20
new-instance v11, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;
const/4 v12, 0x0
invoke-direct {v11, v12}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView$1;)V
.line 21
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sampleSize:I
invoke-static {v11, v6}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4302(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;I)I
.line 22
iget v12, v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-ne v6, v12, :cond_181
const/4 v12, 0x1
goto :goto_182
:cond_181
const/4 v12, 0x0
:goto_182
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->visible:Z
invoke-static {v11, v12}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$402(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Z)Z
.line 23
new-instance v12, Landroid/graphics/Rect;
mul-int v13, v9, v7
mul-int v14, v10, v8
add-int/lit8 v15, v2, -0x1
if-ne v9, v15, :cond_194
.line 24
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v15
goto :goto_198
:cond_194
add-int/lit8 v15, v9, 0x1
mul-int v15, v15, v7
:goto_198
add-int/lit8 v1, v3, -0x1
if-ne v10, v1, :cond_1a1
.line 25
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v1
goto :goto_1a5
:cond_1a1
add-int/lit8 v1, v10, 0x1
mul-int v1, v1, v8
:goto_1a5
invoke-direct {v12, v13, v14, v15, v1}, Landroid/graphics/Rect;-><init>(IIII)V
.line 26
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static {v11, v12}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4102(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Landroid/graphics/Rect;)Landroid/graphics/Rect;
.line 27
new-instance v1, Landroid/graphics/Rect;
const/4 v12, 0x0
invoke-direct {v1, v12, v12, v12, v12}, Landroid/graphics/Rect;-><init>(IIII)V
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static {v11, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4202(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Landroid/graphics/Rect;)Landroid/graphics/Rect;
.line 28
new-instance v1, Landroid/graphics/Rect;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static {v11}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v13
invoke-direct {v1, v13}, Landroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->fileSRect:Landroid/graphics/Rect;
invoke-static {v11, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$5002(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Landroid/graphics/Rect;)Landroid/graphics/Rect;
.line 29
invoke-interface {v4, v11}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v10, v10, 0x1
move-object/from16 v1, p1
goto :goto_170
:cond_1c8
const/4 v12, 0x0
add-int/lit8 v9, v9, 0x1
move-object/from16 v1, p1
goto :goto_16d
:cond_1ce
const/4 v12, 0x0
.line 30
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v7, "tileGrid.size() = "
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v7
invoke-virtual {v1, v7}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v5, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 31
iget-object v1, v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
invoke-static {v6}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v7
invoke-interface {v1, v7, v4}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
const/4 v1, 0x1
if-ne v6, v1, :cond_1f4
return-void
:cond_1f4
const-string v4, "----------------------------------------------"
.line 32
invoke-static {v5, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
const-string v4, " \u52a0\u5927\u62bd\u6837\u7387"
.line 33
invoke-static {v5, v4}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
.line 34
div-int/lit8 v6, v6, 0x2
move-object/from16 v1, p1
const/4 v4, 0x0
const/4 v5, 0x1
goto/16 :goto_2a
:cond_206
:goto_206
move-object/from16 v5, v16
const/4 v1, 0x1
const/4 v12, 0x0
add-int/lit8 v3, v3, 0x1
.line 35
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v4
div-int v8, v4, v3
.line 36
div-int v10, v8, v6
move-object/from16 v1, p1
move-object/from16 v16, v5
goto/16 :goto_11e
:cond_21a
move-object v5, v12
:goto_21b
const/4 v1, 0x1
const/4 v12, 0x0
add-int/lit8 v2, v2, 0x1
.line 37
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v4
div-int v7, v4, v2
.line 38
div-int v9, v7, v6
move-object/from16 v1, p1
move-object v12, v5
const/4 v4, 0x0
const/4 v5, 0x1
goto/16 :goto_fc
.end method
.method private isBaseLayerReady()Z
.registers 7
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
const/4 v1, 0x1
if-eqz v0, :cond_a
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
if-nez v0, :cond_a
return v1
.line 2
:cond_a
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
const/4 v2, 0x0
if-eqz v0, :cond_56
.line 3
invoke-interface {v0}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_17
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_55
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/Map$Entry;
.line 4
invoke-interface {v3}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v4
check-cast v4, Ljava/lang/Integer;
invoke-virtual {v4}, Ljava/lang/Integer;->intValue()I
move-result v4
iget v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-ne v4, v5, :cond_17
.line 5
invoke-interface {v3}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/util/List;
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v3
:cond_3b
:goto_3b
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-eqz v4, :cond_17
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;
.line 6
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->loading:Z
invoke-static {v4}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4000(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
move-result v5
if-nez v5, :cond_53
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v4}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v4
if-nez v4, :cond_3b
:cond_53
const/4 v1, 0x0
goto :goto_3b
:cond_55
return v1
:cond_56
return v2
.end method
.method private limitedSCenter(FFFLandroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 8
.line 1
invoke-direct {p0, p1, p2, p3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateForSCenter(FFF)Landroid/graphics/PointF;
move-result-object p1
.line 2
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result p2
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
move-result v1
sub-int/2addr v0, v1
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result v1
sub-int/2addr v0, v1
div-int/lit8 v0, v0, 0x2
add-int/2addr p2, v0
.line 3
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v0
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v2
sub-int/2addr v1, v2
div-int/lit8 v1, v1, 0x2
add-int/2addr v0, v1
int-to-float p2, p2
.line 4
iget v1, p1, Landroid/graphics/PointF;->x:F
sub-float/2addr p2, v1
div-float/2addr p2, p3
int-to-float v0, v0
.line 5
iget p1, p1, Landroid/graphics/PointF;->y:F
sub-float/2addr v0, p1
div-float/2addr v0, p3
.line 6
invoke-virtual {p4, p2, v0}, Landroid/graphics/PointF;->set(FF)V
return-object p4
.end method
.method private limitedScale(F)F
.registers 3
.line 1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale()F
move-result v0
invoke-static {v0, p1}, Ljava/lang/Math;->max(FF)F
move-result p1
.line 2
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxScale:F
invoke-static {v0, p1}, Ljava/lang/Math;->min(FF)F
move-result p1
return p1
.end method
.method private minScale()F
.registers 5
.line 1
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
move-result v0
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v1
add-int/2addr v0, v1
.line 2
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result v1
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
move-result v2
add-int/2addr v1, v2
.line 3
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minimumScaleType:I
const/4 v3, 0x2
if-eq v2, v3, :cond_43
const/4 v3, 0x4
if-ne v2, v3, :cond_1b
goto :goto_43
:cond_1b
const/4 v3, 0x3
if-ne v2, v3, :cond_26
.line 4
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale:F
const/4 v3, 0x0
cmpl-float v3, v2, v3
if-lez v3, :cond_26
return v2
.line 5
:cond_26
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v2
sub-int/2addr v2, v1
int-to-float v1, v2
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v2
int-to-float v2, v2
div-float/2addr v1, v2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v2
sub-int/2addr v2, v0
int-to-float v0, v2
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v2
int-to-float v2, v2
div-float/2addr v0, v2
invoke-static {v1, v0}, Ljava/lang/Math;->min(FF)F
move-result v0
return v0
.line 6
:cond_43
:goto_43
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v2
sub-int/2addr v2, v1
int-to-float v1, v2
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v2
int-to-float v2, v2
div-float/2addr v1, v2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v2
sub-int/2addr v2, v0
int-to-float v0, v2
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v2
int-to-float v2, v2
div-float/2addr v0, v2
invoke-static {v1, v0}, Ljava/lang/Math;->max(FF)F
move-result v0
return v0
.end method
.method private declared-synchronized onImageLoaded(Landroid/graphics/Bitmap;IZ)V
.registers 7
monitor-enter p0
:try_start_1
const-string v0, "onImageLoaded"
const/4 v1, 0x0
.line 1
new-array v2, v1, [Ljava/lang/Object;
invoke-direct {p0, v0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
if-lez v0, :cond_24
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-lez v0, :cond_24
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v2
if-ne v0, v2, :cond_21
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v2
if-eq v0, v2, :cond_24
.line 3
:cond_21
invoke-direct {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->reset(Z)V
.line 4
:cond_24
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_31
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
if-nez v0, :cond_31
.line 5
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
.line 6
:cond_31
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_42
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
if-eqz v0, :cond_42
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
if-eqz v0, :cond_42
.line 7
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
invoke-interface {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;->onPreviewReleased()V
.line 8
:cond_42
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
.line 9
iput-boolean p3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
.line 10
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
.line 11
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result p3
iput p3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
.line 12
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result p1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
.line 13
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sOrientation:I
.line 14
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->checkReady()Z
move-result p1
.line 15
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->checkImageLoaded()Z
move-result p2
if-nez p1, :cond_62
if-eqz p2, :cond_68
.line 16
:cond_62
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
.line 17
invoke-virtual {p0}, Landroid/view/View;->requestLayout()V
:try_end_68
.catchall {:try_start_1 .. :try_end_68} :catchall_6a
.line 18
:cond_68
monitor-exit p0
return-void
:catchall_6a
move-exception p1
monitor-exit p0
throw p1
.end method
.method private declared-synchronized onPreviewLoaded(Landroid/graphics/Bitmap;)V
.registers 6
monitor-enter p0
:try_start_1
const-string v0, "onPreviewLoaded"
const/4 v1, 0x0
.line 1
new-array v1, v1, [Ljava/lang/Object;
invoke-direct {p0, v0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-nez v0, :cond_44
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->imageLoadedSent:Z
if-eqz v0, :cond_12
goto :goto_44
.line 3
:cond_12
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect;
if-eqz v0, :cond_31
.line 4
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect;
iget v0, v0, Landroid/graphics/Rect;->left:I
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect;
iget v1, v1, Landroid/graphics/Rect;->top:I
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect;
invoke-virtual {v2}, Landroid/graphics/Rect;->width()I
move-result v2
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect;
invoke-virtual {v3}, Landroid/graphics/Rect;->height()I
move-result v3
invoke-static {p1, v0, v1, v2, v3}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
move-result-object p1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
goto :goto_33
.line 5
:cond_31
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
:goto_33
const/4 p1, 0x1
.line 6
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
.line 7
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->checkReady()Z
move-result p1
if-eqz p1, :cond_42
.line 8
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
.line 9
invoke-virtual {p0}, Landroid/view/View;->requestLayout()V
:try_end_42
.catchall {:try_start_1 .. :try_end_42} :catchall_49
.line 10
:cond_42
monitor-exit p0
return-void
.line 11
:cond_44
:goto_44
:try_start_44
invoke-virtual {p1}, Landroid/graphics/Bitmap;->recycle()V
:try_end_47
.catchall {:try_start_44 .. :try_end_47} :catchall_49
.line 12
monitor-exit p0
return-void
:catchall_49
move-exception p1
monitor-exit p0
throw p1
.end method
.method private declared-synchronized onTileLoaded()V
.registers 4
monitor-enter p0
:try_start_1
const-string v0, "onTileLoaded"
const/4 v1, 0x0
.line 1
new-array v2, v1, [Ljava/lang/Object;
invoke-direct {p0, v0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->checkReady()Z
.line 3
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->checkImageLoaded()Z
.line 4
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isBaseLayerReady()Z
move-result v0
if-eqz v0, :cond_36
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_36
.line 5
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
if-nez v0, :cond_22
.line 6
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
:cond_22
const/4 v0, 0x0
.line 7
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
.line 8
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
if-eqz v0, :cond_32
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
if-eqz v0, :cond_32
.line 9
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
invoke-interface {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;->onPreviewReleased()V
.line 10
:cond_32
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
.line 11
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
.line 12
:cond_36
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
:try_end_39
.catchall {:try_start_1 .. :try_end_39} :catchall_3b
.line 13
monitor-exit p0
return-void
:catchall_3b
move-exception v0
monitor-exit p0
throw v0
.end method
.method private declared-synchronized onTilesInited(Lio/rong/subscaleview/decoder/ImageRegionDecoder;III)V
.registers 10
monitor-enter p0
:try_start_1
const-string v0, "onTilesInited sWidth=%d, sHeight=%d, sOrientation=%d"
const/4 v1, 0x3
.line 1
new-array v1, v1, [Ljava/lang/Object;
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v2
const/4 v3, 0x0
aput-object v2, v1, v3
const/4 v2, 0x1
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v1, v2
const/4 v2, 0x2
iget v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->orientation:I
invoke-static {v4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v1, v2
invoke-direct {p0, v0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
if-lez v0, :cond_54
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-lez v0, :cond_54
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
if-ne v0, p2, :cond_30
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-eq v0, p3, :cond_54
.line 3
:cond_30
invoke-direct {p0, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->reset(Z)V
.line 4
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_54
.line 5
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
if-nez v0, :cond_40
.line 6
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V
:cond_40
const/4 v0, 0x0
.line 7
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
.line 8
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
if-eqz v0, :cond_50
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
if-eqz v0, :cond_50
.line 9
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
invoke-interface {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;->onPreviewReleased()V
.line 10
:cond_50
iput-boolean v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
.line 11
iput-boolean v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
.line 12
:cond_54
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
.line 13
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
.line 14
iput p3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
.line 15
iput p4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sOrientation:I
.line 16
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->checkReady()Z
.line 17
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->checkImageLoaded()Z
move-result p1
if-nez p1, :cond_90
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileWidth:I
if-lez p1, :cond_90
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileWidth:I
const p2, 0x7fffffff
if-eq p1, p2, :cond_90
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileHeight:I
if-lez p1, :cond_90
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileHeight:I
if-eq p1, p2, :cond_90
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result p1
if-lez p1, :cond_90
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result p1
if-lez p1, :cond_90
.line 18
new-instance p1, Landroid/graphics/Point;
iget p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileWidth:I
iget p3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileHeight:I
invoke-direct {p1, p2, p3}, Landroid/graphics/Point;-><init>(II)V
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->initialiseBaseLayer(Landroid/graphics/Point;)V
.line 19
:cond_90
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
.line 20
invoke-virtual {p0}, Landroid/view/View;->requestLayout()V
:try_end_96
.catchall {:try_start_1 .. :try_end_96} :catchall_98
.line 21
monitor-exit p0
return-void
:catchall_98
move-exception p1
monitor-exit p0
throw p1
.end method
.method private onTouchEventInternal(Landroid/view/MotionEvent;)Z
.registers 15
.line 1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getPointerCount()I
move-result v0
.line 2
invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I
move-result v1
const/4 v2, 0x2
const/high16 v3, 0x40000000 # 2.0f
const/4 v4, 0x0
const/4 v5, 0x1
if-eqz v1, :cond_45b
if-eq v1, v5, :cond_3ed
if-eq v1, v2, :cond_23
const/4 v6, 0x5
if-eq v1, v6, :cond_45b
const/4 v6, 0x6
if-eq v1, v6, :cond_3ed
const/16 v6, 0x105
if-eq v1, v6, :cond_45b
const/16 v3, 0x106
if-eq v1, v3, :cond_3ed
goto/16 :goto_3ec
.line 3
:cond_23
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
if-lez v1, :cond_3e0
const/high16 v1, 0x40a00000 # 5.0f
if-lt v0, v2, :cond_198
.line 4
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F
move-result v0
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v2
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
move-result v6
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result v7
invoke-direct {p0, v0, v2, v6, v7}, Lio/rong/subscaleview/SubsamplingScaleImageView;->distance(FFFF)F
move-result v0
.line 5
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F
move-result v2
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v6
add-float/2addr v2, v6
div-float/2addr v2, v3
.line 6
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
move-result v6
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
add-float/2addr v6, p1
div-float/2addr v6, v3
.line 7
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->zoomEnabled:Z
if-eqz p1, :cond_3e0
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget v7, p1, Landroid/graphics/PointF;->x:F
iget p1, p1, Landroid/graphics/PointF;->y:F
invoke-direct {p0, v7, v2, p1, v6}, Lio/rong/subscaleview/SubsamplingScaleImageView;->distance(FFFF)F
move-result p1
cmpl-float p1, p1, v1
if-gtz p1, :cond_75
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vDistStart:F
sub-float p1, v0, p1
invoke-static {p1}, Ljava/lang/Math;->abs(F)F
move-result p1
cmpl-float p1, p1, v1
if-gtz p1, :cond_75
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
if-eqz p1, :cond_3e0
.line 8
:cond_75
iput-boolean v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
.line 9
iput-boolean v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
.line 10
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
float-to-double v7, p1
.line 11
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxScale:F
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vDistStart:F
div-float v1, v0, v1
iget v9, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
mul-float v1, v1, v9
invoke-static {p1, v1}, Ljava/lang/Math;->min(FF)F
move-result p1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 12
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale()F
move-result v1
cmpg-float p1, p1, v1
if-gtz p1, :cond_ac
.line 13
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vDistStart:F
.line 14
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale()F
move-result p1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
.line 15
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
invoke-virtual {p1, v2, v6}, Landroid/graphics/PointF;->set(FF)V
.line 16
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p1, v0}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
goto/16 :goto_18e
.line 17
:cond_ac
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
if-eqz p1, :cond_139
.line 18
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget v1, p1, Landroid/graphics/PointF;->x:F
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget v9, v3, Landroid/graphics/PointF;->x:F
sub-float/2addr v1, v9
.line 19
iget p1, p1, Landroid/graphics/PointF;->y:F
iget v3, v3, Landroid/graphics/PointF;->y:F
sub-float/2addr p1, v3
.line 20
iget v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget v9, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
div-float v10, v3, v9
mul-float v1, v1, v10
div-float/2addr v3, v9
mul-float p1, p1, v3
.line 21
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
sub-float v1, v2, v1
iput v1, v3, Landroid/graphics/PointF;->x:F
sub-float p1, v6, p1
.line 22
iput p1, v3, Landroid/graphics/PointF;->y:F
.line 23
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result p1
int-to-double v9, p1
invoke-static {v7, v8}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v9, v10}, Ljava/lang/Double;->isNaN(D)Z
mul-double v9, v9, v7
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result p1
int-to-double v11, p1
cmpg-double p1, v9, v11
if-gez p1, :cond_fb
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v1
int-to-float v1, v1
mul-float p1, p1, v1
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
int-to-float v1, v1
cmpl-float p1, p1, v1
if-gez p1, :cond_123
:cond_fb
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result p1
int-to-double v9, p1
invoke-static {v7, v8}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v9, v10}, Ljava/lang/Double;->isNaN(D)Z
mul-double v7, v7, v9
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result p1
int-to-double v9, p1
cmpg-double p1, v7, v9
if-gez p1, :cond_18e
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v1
int-to-float v1, v1
mul-float p1, p1, v1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
int-to-float v1, v1
cmpl-float p1, p1, v1
if-ltz p1, :cond_18e
.line 24
:cond_123
invoke-direct {p0, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 25
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
invoke-virtual {p1, v2, v6}, Landroid/graphics/PointF;->set(FF)V
.line 26
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p1, v1}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
.line 27
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
.line 28
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vDistStart:F
goto :goto_18e
.line 29
:cond_139
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
if-eqz p1, :cond_164
.line 30
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
int-to-float v0, v0
div-float/2addr v0, v3
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->x:F
mul-float v1, v1, v2
sub-float/2addr v0, v1
iput v0, p1, Landroid/graphics/PointF;->x:F
.line 31
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v0
int-to-float v0, v0
div-float/2addr v0, v3
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
mul-float v1, v1, v2
sub-float/2addr v0, v1
iput v0, p1, Landroid/graphics/PointF;->y:F
goto :goto_18e
.line 32
:cond_164
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
int-to-float v0, v0
div-float/2addr v0, v3
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v2
int-to-float v2, v2
div-float/2addr v2, v3
mul-float v1, v1, v2
sub-float/2addr v0, v1
iput v0, p1, Landroid/graphics/PointF;->x:F
.line 33
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v0
int-to-float v0, v0
div-float/2addr v0, v3
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v2
int-to-float v2, v2
div-float/2addr v2, v3
mul-float v1, v1, v2
sub-float/2addr v0, v1
iput v0, p1, Landroid/graphics/PointF;->y:F
.line 34
:cond_18e
:goto_18e
invoke-direct {p0, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 35
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->eagerLoadingEnabled:Z
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V
goto/16 :goto_302
.line 36
:cond_198
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isQuickScaling:Z
if-eqz v0, :cond_305
.line 37
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF;
iget v0, v0, Landroid/graphics/PointF;->y:F
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v1
sub-float/2addr v0, v1
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v0
mul-float v0, v0, v3
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleThreshold:F
add-float/2addr v0, v1
.line 38
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleLastDistance:F
const/high16 v2, -0x40800000 # -1.0f
cmpl-float v1, v1, v2
if-nez v1, :cond_1b8
.line 39
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleLastDistance:F
.line 40
:cond_1b8
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v1
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVLastPoint:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
cmpl-float v1, v1, v2
if-lez v1, :cond_1c6
const/4 v1, 0x1
goto :goto_1c7
:cond_1c6
const/4 v1, 0x0
.line 41
:goto_1c7
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVLastPoint:Landroid/graphics/PointF;
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
const/4 v6, 0x0
invoke-virtual {v2, v6, p1}, Landroid/graphics/PointF;->set(FF)V
.line 42
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleLastDistance:F
div-float p1, v0, p1
const/high16 v2, 0x3f800000 # 1.0f
sub-float p1, v2, p1
invoke-static {p1}, Ljava/lang/Math;->abs(F)F
move-result p1
const/high16 v7, 0x3f000000 # 0.5f
mul-float p1, p1, v7
const v7, 0x3cf5c28f # 0.03f
cmpl-float v7, p1, v7
if-gtz v7, :cond_1ec
.line 43
iget-boolean v7, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleMoved:Z
if-eqz v7, :cond_2f8
.line 44
:cond_1ec
iput-boolean v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleMoved:Z
.line 45
iget v7, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleLastDistance:F
cmpl-float v7, v7, v6
if-lez v7, :cond_1fa
if-eqz v1, :cond_1f9
add-float/2addr p1, v2
move v2, p1
goto :goto_1fa
:cond_1f9
sub-float/2addr v2, p1
.line 46
:cond_1fa
:goto_1fa
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
float-to-double v7, p1
.line 47
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale()F
move-result p1
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxScale:F
iget v9, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
mul-float v9, v9, v2
invoke-static {v1, v9}, Ljava/lang/Math;->min(FF)F
move-result v1
invoke-static {p1, v1}, Ljava/lang/Math;->max(FF)F
move-result p1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 48
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
if-eqz p1, :cond_2a3
.line 49
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget v1, p1, Landroid/graphics/PointF;->x:F
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget v3, v2, Landroid/graphics/PointF;->x:F
sub-float v3, v1, v3
.line 50
iget p1, p1, Landroid/graphics/PointF;->y:F
iget v2, v2, Landroid/graphics/PointF;->y:F
sub-float v2, p1, v2
.line 51
iget v9, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget v10, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
div-float v11, v9, v10
mul-float v3, v3, v11
div-float/2addr v9, v10
mul-float v2, v2, v9
.line 52
iget-object v9, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
sub-float/2addr v1, v3
iput v1, v9, Landroid/graphics/PointF;->x:F
sub-float/2addr p1, v2
.line 53
iput p1, v9, Landroid/graphics/PointF;->y:F
.line 54
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result p1
int-to-double v1, p1
invoke-static {v7, v8}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
mul-double v1, v1, v7
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result p1
int-to-double v9, p1
cmpg-double p1, v1, v9
if-gez p1, :cond_260
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v1
int-to-float v1, v1
mul-float p1, p1, v1
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
int-to-float v1, v1
cmpl-float p1, p1, v1
if-gez p1, :cond_288
:cond_260
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result p1
int-to-double v1, p1
invoke-static {v7, v8}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v1, v2}, Ljava/lang/Double;->isNaN(D)Z
mul-double v7, v7, v1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result p1
int-to-double v1, p1
cmpg-double p1, v7, v1
if-gez p1, :cond_2f8
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v1
int-to-float v1, v1
mul-float p1, p1, v1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
int-to-float v1, v1
cmpl-float p1, p1, v1
if-ltz p1, :cond_2f8
.line 55
:cond_288
invoke-direct {p0, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 56
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF;
invoke-virtual {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object v0
invoke-virtual {p1, v0}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
.line 57
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p1, v0}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
.line 58
iget p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
const/4 v0, 0x0
goto :goto_2f8
.line 59
:cond_2a3
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
if-eqz p1, :cond_2ce
.line 60
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
int-to-float v1, v1
div-float/2addr v1, v3
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget-object v6, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
iget v6, v6, Landroid/graphics/PointF;->x:F
mul-float v2, v2, v6
sub-float/2addr v1, v2
iput v1, p1, Landroid/graphics/PointF;->x:F
.line 61
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
int-to-float v1, v1
div-float/2addr v1, v3
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
iget v3, v3, Landroid/graphics/PointF;->y:F
mul-float v2, v2, v3
sub-float/2addr v1, v2
iput v1, p1, Landroid/graphics/PointF;->y:F
goto :goto_2f8
.line 62
:cond_2ce
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
int-to-float v1, v1
div-float/2addr v1, v3
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v6
int-to-float v6, v6
div-float/2addr v6, v3
mul-float v2, v2, v6
sub-float/2addr v1, v2
iput v1, p1, Landroid/graphics/PointF;->x:F
.line 63
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
int-to-float v1, v1
div-float/2addr v1, v3
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v6
int-to-float v6, v6
div-float/2addr v6, v3
mul-float v2, v2, v6
sub-float/2addr v1, v2
iput v1, p1, Landroid/graphics/PointF;->y:F
.line 64
:cond_2f8
:goto_2f8
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleLastDistance:F
.line 65
invoke-direct {p0, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 66
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->eagerLoadingEnabled:Z
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V
:goto_302
const/4 p1, 0x1
goto/16 :goto_3e1
.line 67
:cond_305
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
if-nez v0, :cond_3e0
.line 68
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v0
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->x:F
sub-float/2addr v0, v2
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v0
.line 69
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result v2
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget v3, v3, Landroid/graphics/PointF;->y:F
sub-float/2addr v2, v3
invoke-static {v2}, Ljava/lang/Math;->abs(F)F
move-result v2
.line 70
iget v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->density:F
mul-float v3, v3, v1
cmpl-float v1, v0, v3
if-gtz v1, :cond_333
cmpl-float v1, v2, v3
if-gtz v1, :cond_333
.line 71
iget-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
if-eqz v1, :cond_3e0
.line 72
:cond_333
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget-object v6, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget v6, v6, Landroid/graphics/PointF;->x:F
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v7
iget-object v8, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget v8, v8, Landroid/graphics/PointF;->x:F
sub-float/2addr v7, v8
add-float/2addr v6, v7
iput v6, v1, Landroid/graphics/PointF;->x:F
.line 73
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget-object v6, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget v6, v6, Landroid/graphics/PointF;->y:F
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
iget-object v7, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget v7, v7, Landroid/graphics/PointF;->y:F
sub-float/2addr p1, v7
add-float/2addr v6, p1
iput v6, v1, Landroid/graphics/PointF;->y:F
.line 74
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v1, p1, Landroid/graphics/PointF;->x:F
.line 75
iget p1, p1, Landroid/graphics/PointF;->y:F
.line 76
invoke-direct {p0, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 77
iget-object v6, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v6, v6, Landroid/graphics/PointF;->x:F
cmpl-float v1, v1, v6
if-eqz v1, :cond_36a
const/4 v1, 0x1
goto :goto_36b
:cond_36a
const/4 v1, 0x0
.line 78
:goto_36b
iget-object v6, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v6, v6, Landroid/graphics/PointF;->y:F
cmpl-float v6, p1, v6
if-eqz v6, :cond_375
const/4 v6, 0x1
goto :goto_376
:cond_375
const/4 v6, 0x0
:goto_376
if-eqz v1, :cond_382
cmpl-float v7, v0, v2
if-lez v7, :cond_382
.line 79
iget-boolean v7, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
if-nez v7, :cond_382
const/4 v7, 0x1
goto :goto_383
:cond_382
const/4 v7, 0x0
:goto_383
if-eqz v6, :cond_38f
cmpl-float v8, v2, v0
if-lez v8, :cond_38f
.line 80
iget-boolean v8, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
if-nez v8, :cond_38f
const/4 v8, 0x1
goto :goto_390
:cond_38f
const/4 v8, 0x0
.line 81
:goto_390
iget-object v9, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v9, v9, Landroid/graphics/PointF;->y:F
cmpl-float p1, p1, v9
if-nez p1, :cond_3a2
const/high16 p1, 0x40400000 # 3.0f
mul-float p1, p1, v3
cmpl-float p1, v2, p1
if-lez p1, :cond_3a2
const/4 p1, 0x1
goto :goto_3a3
:cond_3a2
const/4 p1, 0x0
:goto_3a3
if-nez v7, :cond_3b4
if-nez v8, :cond_3b4
if-eqz v1, :cond_3b1
if-eqz v6, :cond_3b1
if-nez p1, :cond_3b1
.line 82
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
if-eqz p1, :cond_3b4
.line 83
:cond_3b1
iput-boolean v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
goto :goto_3c6
:cond_3b4
cmpl-float p1, v0, v3
if-gtz p1, :cond_3bc
cmpl-float p1, v2, v3
if-lez p1, :cond_3c6
.line 84
:cond_3bc
iput v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
.line 85
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->handler:Landroid/os/Handler;
invoke-virtual {p1, v5}, Landroid/os/Handler;->removeMessages(I)V
.line 86
invoke-direct {p0, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->requestDisallowInterceptTouchEvent(Z)V
.line 87
:cond_3c6
:goto_3c6
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
if-nez p1, :cond_3d9
.line 88
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget v1, v0, Landroid/graphics/PointF;->x:F
iput v1, p1, Landroid/graphics/PointF;->x:F
.line 89
iget v0, v0, Landroid/graphics/PointF;->y:F
iput v0, p1, Landroid/graphics/PointF;->y:F
.line 90
invoke-direct {p0, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->requestDisallowInterceptTouchEvent(Z)V
.line 91
:cond_3d9
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->eagerLoadingEnabled:Z
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V
goto/16 :goto_302
:cond_3e0
const/4 p1, 0x0
:goto_3e1
if-eqz p1, :cond_3ec
.line 92
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->handler:Landroid/os/Handler;
invoke-virtual {p1, v5}, Landroid/os/Handler;->removeMessages(I)V
.line 93
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return v5
:cond_3ec
:goto_3ec
return v4
.line 94
:cond_3ed
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->handler:Landroid/os/Handler;
invoke-virtual {v1, v5}, Landroid/os/Handler;->removeMessages(I)V
.line 95
iget-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isQuickScaling:Z
if-eqz v1, :cond_403
.line 96
iput-boolean v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isQuickScaling:Z
.line 97
iget-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleMoved:Z
if-nez v1, :cond_403
.line 98
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF;
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
invoke-direct {p0, v1, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoom(Landroid/graphics/PointF;Landroid/graphics/PointF;)V
.line 99
:cond_403
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
if-lez v1, :cond_452
iget-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
if-nez v1, :cond_40f
iget-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
if-eqz v1, :cond_452
.line 100
:cond_40f
iget-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
if-eqz v1, :cond_443
if-ne v0, v2, :cond_443
.line 101
iput-boolean v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
.line 102
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v6, v3, Landroid/graphics/PointF;->x:F
iget v3, v3, Landroid/graphics/PointF;->y:F
invoke-virtual {v1, v6, v3}, Landroid/graphics/PointF;->set(FF)V
.line 103
invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I
move-result v1
if-ne v1, v5, :cond_436
.line 104
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F
move-result v3
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
invoke-virtual {v1, v3, p1}, Landroid/graphics/PointF;->set(FF)V
goto :goto_443
.line 105
:cond_436
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v3
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
invoke-virtual {v1, v3, p1}, Landroid/graphics/PointF;->set(FF)V
:cond_443
:goto_443
const/4 p1, 0x3
if-ge v0, p1, :cond_448
.line 106
iput-boolean v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
:cond_448
if-ge v0, v2, :cond_44e
.line 107
iput-boolean v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
.line 108
iput v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
.line 109
:cond_44e
invoke-direct {p0, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V
return v5
:cond_452
if-ne v0, v5, :cond_45a
.line 110
iput-boolean v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
.line 111
iput-boolean v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
.line 112
iput v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
:cond_45a
return v5
:cond_45b
const/4 v1, 0x0
.line 113
iput-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.line 114
invoke-direct {p0, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView;->requestDisallowInterceptTouchEvent(Z)V
.line 115
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I
move-result v1
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
if-lt v0, v2, :cond_4b6
.line 116
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->zoomEnabled:Z
if-eqz v0, :cond_4ae
.line 117
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F
move-result v0
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v1
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
move-result v2
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result v6
invoke-direct {p0, v0, v1, v2, v6}, Lio/rong/subscaleview/SubsamplingScaleImageView;->distance(FFFF)F
move-result v0
.line 118
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
.line 119
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vDistStart:F
.line 120
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v1, Landroid/graphics/PointF;->x:F
iget v1, v1, Landroid/graphics/PointF;->y:F
invoke-virtual {v0, v2, v1}, Landroid/graphics/PointF;->set(FF)V
.line 121
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F
move-result v1
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F
move-result v2
add-float/2addr v1, v2
div-float/2addr v1, v3
invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F
move-result v2
invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F
move-result p1
add-float/2addr v2, p1
div-float/2addr v2, v3
invoke-virtual {v0, v1, v2}, Landroid/graphics/PointF;->set(FF)V
goto :goto_4b0
.line 122
:cond_4ae
iput v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
.line 123
:goto_4b0
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->handler:Landroid/os/Handler;
invoke-virtual {p1, v5}, Landroid/os/Handler;->removeMessages(I)V
goto :goto_4d9
.line 124
:cond_4b6
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isQuickScaling:Z
if-nez v0, :cond_4d9
.line 125
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v1, Landroid/graphics/PointF;->x:F
iget v1, v1, Landroid/graphics/PointF;->y:F
invoke-virtual {v0, v2, v1}, Landroid/graphics/PointF;->set(FF)V
.line 126
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F
move-result v1
invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F
move-result p1
invoke-virtual {v0, v1, p1}, Landroid/graphics/PointF;->set(FF)V
.line 127
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->handler:Landroid/os/Handler;
const-wide/16 v0, 0x258
invoke-virtual {p1, v5, v0, v1}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z
:cond_4d9
:goto_4d9
return v5
.end method
.method private preDraw()V
.registers 6
.line 1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
if-eqz v0, :cond_66
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v0
if-eqz v0, :cond_66
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
if-lez v0, :cond_66
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-gtz v0, :cond_15
goto :goto_66
.line 2
:cond_15
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
if-eqz v0, :cond_62
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float;
if-eqz v0, :cond_62
.line 3
invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F
move-result v0
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 4
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-nez v0, :cond_2e
.line 5
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0}, Landroid/graphics/PointF;-><init>()V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
.line 6
:cond_2e
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
int-to-float v1, v1
const/high16 v2, 0x40000000 # 2.0f
div-float/2addr v1, v2
iget v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget-object v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
iget v4, v4, Landroid/graphics/PointF;->x:F
mul-float v3, v3, v4
sub-float/2addr v1, v3
iput v1, v0, Landroid/graphics/PointF;->x:F
.line 7
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
int-to-float v1, v1
div-float/2addr v1, v2
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
iget v3, v3, Landroid/graphics/PointF;->y:F
mul-float v2, v2, v3
sub-float/2addr v1, v2
iput v1, v0, Landroid/graphics/PointF;->y:F
const/4 v0, 0x0
.line 8
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
.line 9
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float;
const/4 v0, 0x1
.line 10
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 11
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V
:cond_62
const/4 v0, 0x0
.line 12
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
:cond_66
:goto_66
return-void
.end method
.method private px(I)I
.registers 3
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->density:F
int-to-float p1, p1
mul-float v0, v0, p1
float-to-int p1, v0
return p1
.end method
.method private refreshRequiredTiles(Z)V
.registers 10
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
if-eqz v0, :cond_bd
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
if-nez v0, :cond_a
goto/16 :goto_bd
.line 2
:cond_a
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->calculateInSampleSize(F)I
move-result v1
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
.line 3
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_20
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_bd
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 4
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_36
:goto_36
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_20
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;
.line 5
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sampleSize:I
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4300(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)I
move-result v4
const/4 v5, 0x0
const/4 v6, 0x0
if-lt v4, v0, :cond_58
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sampleSize:I
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4300(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)I
move-result v4
if-le v4, v0, :cond_6b
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sampleSize:I
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4300(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)I
move-result v4
iget v7, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-eq v4, v7, :cond_6b
.line 6
:cond_58
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->visible:Z
invoke-static {v3, v6}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$402(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Z)Z
.line 7
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v4
if-eqz v4, :cond_6b
.line 8
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v4
invoke-virtual {v4}, Landroid/graphics/Bitmap;->recycle()V
.line 9
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$502(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
.line 10
:cond_6b
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sampleSize:I
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4300(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)I
move-result v4
const/4 v7, 0x1
if-ne v4, v0, :cond_b0
.line 11
invoke-direct {p0, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileVisible(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
move-result v4
if-eqz v4, :cond_94
.line 12
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->visible:Z
invoke-static {v3, v7}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$402(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Z)Z
.line 13
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->loading:Z
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4000(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
move-result v4
if-nez v4, :cond_36
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v4
if-nez v4, :cond_36
if-eqz p1, :cond_36
.line 14
new-instance v4, Lio/rong/subscaleview/SubsamplingScaleImageView$TileLoadTask;
iget-object v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
invoke-direct {v4, p0, v5, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$TileLoadTask;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;Lio/rong/subscaleview/decoder/ImageRegionDecoder;Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)V
.line 15
invoke-direct {p0, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V
goto :goto_36
.line 16
:cond_94
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sampleSize:I
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4300(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)I
move-result v4
iget v7, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-eq v4, v7, :cond_36
.line 17
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->visible:Z
invoke-static {v3, v6}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$402(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Z)Z
.line 18
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v4
if-eqz v4, :cond_36
.line 19
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v4
invoke-virtual {v4}, Landroid/graphics/Bitmap;->recycle()V
.line 20
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$502(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
goto :goto_36
.line 21
:cond_b0
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sampleSize:I
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4300(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)I
move-result v4
iget v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
if-ne v4, v5, :cond_36
.line 22
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->visible:Z
invoke-static {v3, v7}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$402(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Z)Z
goto/16 :goto_36
:cond_bd
:goto_bd
return-void
.end method
.method private requestDisallowInterceptTouchEvent(Z)V
.registers 3
.line 1
invoke-virtual {p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
if-eqz v0, :cond_9
.line 2
invoke-interface {v0, p1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V
:cond_9
return-void
.end method
.method private reset(Z)V
.registers 7
.line 1
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "reset newImage="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x0
new-array v2, v1, [Ljava/lang/Object;
invoke-direct {p0, v0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
const/4 v0, 0x0
.line 2
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 3
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scaleStart:F
const/4 v2, 0x0
.line 4
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
.line 5
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
.line 6
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
.line 7
invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v3
iput-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float;
.line 8
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
.line 9
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
.line 10
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
.line 11
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
.line 12
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isQuickScaling:Z
.line 13
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
.line 14
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
.line 15
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
.line 16
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vDistStart:F
.line 17
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleLastDistance:F
.line 18
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleMoved:Z
.line 19
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF;
.line 20
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVLastPoint:Landroid/graphics/PointF;
.line 21
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF;
.line 22
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.line 23
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
.line 24
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
.line 25
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF;
if-eqz p1, :cond_a8
.line 26
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
.line 27
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoderLock:Ljava/util/concurrent/locks/ReadWriteLock;
invoke-interface {p1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
move-result-object p1
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 28
:try_start_5a
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
if-eqz p1, :cond_65
.line 29
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
invoke-interface {p1}, Lio/rong/subscaleview/decoder/ImageRegionDecoder;->recycle()V
.line 30
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
:try_end_65
.catchall {:try_start_5a .. :try_end_65} :catchall_9d
.line 31
:cond_65
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoderLock:Ljava/util/concurrent/locks/ReadWriteLock;
invoke-interface {p1}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
move-result-object p1
invoke-interface {p1}, Ljava/util/concurrent/locks/Lock;->unlock()V
.line 32
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-eqz p1, :cond_79
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
if-nez v0, :cond_79
.line 33
invoke-virtual {p1}, Landroid/graphics/Bitmap;->recycle()V
.line 34
:cond_79
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-eqz p1, :cond_88
iget-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
if-eqz p1, :cond_88
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
if-eqz p1, :cond_88
.line 35
invoke-interface {p1}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;->onPreviewReleased()V
.line 36
:cond_88
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
.line 37
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
.line 38
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sOrientation:I
.line 39
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect;
.line 40
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect;
.line 41
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->readySent:Z
.line 42
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->imageLoadedSent:Z
.line 43
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
.line 44
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
.line 45
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
goto :goto_a8
:catchall_9d
move-exception p1
.line 46
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoderLock:Ljava/util/concurrent/locks/ReadWriteLock;
invoke-interface {v0}, Ljava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
move-result-object v0
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p1
.line 47
:cond_a8
:goto_a8
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
if-eqz p1, :cond_ec
.line 48
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:cond_b4
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_ea
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 49
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_ca
:goto_ca
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_b4
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;
.line 50
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->visible:Z
invoke-static {v3, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$402(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Z)Z
.line 51
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v4
if-eqz v4, :cond_ca
.line 52
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v4
invoke-virtual {v4}, Landroid/graphics/Bitmap;->recycle()V
.line 53
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$502(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
goto :goto_ca
.line 54
:cond_ea
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
.line 55
:cond_ec
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p1
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setGestureDetector(Landroid/content/Context;)V
return-void
.end method
.method private restoreState(Lio/rong/subscaleview/ImageViewState;)V
.registers 4
if-eqz p1, :cond_31
.line 1
invoke-virtual {p1}, Lio/rong/subscaleview/ImageViewState;->getCenter()Landroid/graphics/PointF;
move-result-object v0
if-eqz v0, :cond_31
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_ORIENTATIONS:Ljava/util/List;
invoke-virtual {p1}, Lio/rong/subscaleview/ImageViewState;->getOrientation()I
move-result v1
invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_31
.line 2
invoke-virtual {p1}, Lio/rong/subscaleview/ImageViewState;->getOrientation()I
move-result v0
iput v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->orientation:I
.line 3
invoke-virtual {p1}, Lio/rong/subscaleview/ImageViewState;->getScale()F
move-result v0
invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v0
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float;
.line 4
invoke-virtual {p1}, Lio/rong/subscaleview/ImageViewState;->getCenter()Landroid/graphics/PointF;
move-result-object p1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
.line 5
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
:cond_31
return-void
.end method
.method private sHeight()I
.registers 3
.line 1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
const/16 v1, 0x5a
if-eq v0, v1, :cond_10
const/16 v1, 0x10e
if-ne v0, v1, :cond_d
goto :goto_10
.line 2
:cond_d
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
return v0
.line 3
:cond_10
:goto_10
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
return v0
.end method
.method private sWidth()I
.registers 3
.line 1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
const/16 v1, 0x5a
if-eq v0, v1, :cond_10
const/16 v1, 0x10e
if-ne v0, v1, :cond_d
goto :goto_10
.line 2
:cond_d
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
return v0
.line 3
:cond_10
:goto_10
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
return v0
.end method
.method private sendStateChanged(FLandroid/graphics/PointF;I)V
.registers 6
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onStateChangedListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;
if-eqz v0, :cond_d
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
cmpl-float p1, v1, p1
if-eqz p1, :cond_d
.line 2
invoke-interface {v0, v1, p3}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;->onScaleChanged(FI)V
.line 3
:cond_d
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onStateChangedListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;
if-eqz p1, :cond_22
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p1, p2}, Landroid/graphics/PointF;->equals(Ljava/lang/Object;)Z
move-result p1
if-nez p1, :cond_22
.line 4
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onStateChangedListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getCenter()Landroid/graphics/PointF;
move-result-object p2
invoke-interface {p1, p2, p3}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;->onCenterChanged(Landroid/graphics/PointF;I)V
:cond_22
return-void
.end method
.method private setGestureDetector(Landroid/content/Context;)V
.registers 4
.line 1
new-instance v0, Landroid/view/GestureDetector;
new-instance v1, Lio/rong/subscaleview/SubsamplingScaleImageView$2;
invoke-direct {v1, p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView$2;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/content/Context;)V
invoke-direct {v0, p1, v1}, Landroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->detector:Landroid/view/GestureDetector;
.line 2
new-instance v0, Landroid/view/GestureDetector;
new-instance v1, Lio/rong/subscaleview/SubsamplingScaleImageView$3;
invoke-direct {v1, p0}, Lio/rong/subscaleview/SubsamplingScaleImageView$3;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;)V
invoke-direct {v0, p1, v1}, Landroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->singleDetector:Landroid/view/GestureDetector;
return-void
.end method
.method private setMatrixArray([FFFFFFFFF)V
.registers 11
const/4 v0, 0x0
.line 1
aput p2, p1, v0
const/4 p2, 0x1
.line 2
aput p3, p1, p2
const/4 p2, 0x2
.line 3
aput p4, p1, p2
const/4 p2, 0x3
.line 4
aput p5, p1, p2
const/4 p2, 0x4
.line 5
aput p6, p1, p2
const/4 p2, 0x5
.line 6
aput p7, p1, p2
const/4 p2, 0x6
.line 7
aput p8, p1, p2
const/4 p2, 0x7
.line 8
aput p9, p1, p2
return-void
.end method
.method private setNewDefaultScale()V
.registers 8
.line 1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
.line 2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
.line 3
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
.line 4
iget v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-lez v0, :cond_51
if-lez v1, :cond_51
if-lez v2, :cond_51
if-lez v3, :cond_51
int-to-float v0, v0
const/high16 v4, 0x3f800000 # 1.0f
mul-float v0, v0, v4
int-to-float v1, v1
div-float v5, v0, v1
int-to-float v2, v2
mul-float v4, v4, v2
int-to-float v3, v3
div-float/2addr v4, v3
const/high16 v6, -0x40800000 # -1.0f
cmpg-float v4, v4, v5
if-gez v4, :cond_31
div-float v6, v0, v2
const/high16 v0, 0x40000000 # 2.0f
div-float v2, v3, v0
div-float/2addr v1, v0
div-float v0, v1, v6
goto :goto_35
:cond_31
const/high16 v0, -0x40800000 # -1.0f
const/high16 v2, -0x40800000 # -1.0f
:goto_35
const/4 v1, 0x0
cmpl-float v3, v6, v1
if-ltz v3, :cond_51
cmpl-float v3, v2, v1
if-ltz v3, :cond_51
cmpl-float v1, v0, v1
if-ltz v1, :cond_51
.line 5
new-instance v1, Landroid/graphics/PointF;
invoke-direct {v1, v2, v0}, Landroid/graphics/PointF;-><init>(FF)V
.line 6
invoke-static {v6}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v0
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float;
.line 7
iput-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
.line 8
iput-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
:cond_51
return-void
.end method
.method public static setPreferredBitmapConfig(Landroid/graphics/Bitmap$Config;)V
.registers 1
.line 1
sput-object p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->preferredBitmapConfig:Landroid/graphics/Bitmap$Config;
return-void
.end method
.method private sourceToViewRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.registers 6
.line 1
iget v0, p1, Landroid/graphics/Rect;->left:I
int-to-float v0, v0
.line 2
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewX(F)F
move-result v0
float-to-int v0, v0
iget v1, p1, Landroid/graphics/Rect;->top:I
int-to-float v1, v1
.line 3
invoke-direct {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewY(F)F
move-result v1
float-to-int v1, v1
iget v2, p1, Landroid/graphics/Rect;->right:I
int-to-float v2, v2
.line 4
invoke-direct {p0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewX(F)F
move-result v2
float-to-int v2, v2
iget p1, p1, Landroid/graphics/Rect;->bottom:I
int-to-float p1, p1
.line 5
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewY(F)F
move-result p1
float-to-int p1, p1
.line 6
invoke-virtual {p2, v0, v1, v2, p1}, Landroid/graphics/Rect;->set(IIII)V
return-void
.end method
.method private sourceToViewX(F)F
.registers 4
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-nez v0, :cond_7
const/high16 p1, 0x7fc00000 # Float.NaN
return p1
.line 2
:cond_7
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
mul-float p1, p1, v1
iget v0, v0, Landroid/graphics/PointF;->x:F
add-float/2addr p1, v0
return p1
.end method
.method private sourceToViewY(F)F
.registers 4
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-nez v0, :cond_7
const/high16 p1, 0x7fc00000 # Float.NaN
return p1
.line 2
:cond_7
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
mul-float p1, p1, v1
iget v0, v0, Landroid/graphics/PointF;->y:F
add-float/2addr p1, v0
return p1
.end method
.method private tileVisible(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
.registers 7
const/4 v0, 0x0
.line 1
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceX(F)F
move-result v1
.line 2
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v2
int-to-float v2, v2
invoke-direct {p0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceX(F)F
move-result v2
.line 3
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceY(F)F
move-result v0
.line 4
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v3
int-to-float v3, v3
invoke-direct {p0, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceY(F)F
move-result v3
.line 5
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static {p1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v4
iget v4, v4, Landroid/graphics/Rect;->right:I
int-to-float v4, v4
cmpl-float v1, v1, v4
if-gtz v1, :cond_49
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static {p1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v1, v1
cmpl-float v1, v1, v2
if-gtz v1, :cond_49
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static {p1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v1, v1
cmpl-float v0, v0, v1
if-gtz v0, :cond_49
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static {p1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object p1
iget p1, p1, Landroid/graphics/Rect;->top:I
int-to-float p1, p1
cmpl-float p1, p1, v3
if-gtz p1, :cond_49
const/4 p1, 0x1
goto :goto_4a
:cond_49
const/4 p1, 0x0
:goto_4a
return p1
.end method
.method private vTranslateForSCenter(FFF)Landroid/graphics/PointF;
.registers 10
.line 1
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result v0
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
invoke-virtual {p0}, Landroid/view/View;->getPaddingRight()I
move-result v2
sub-int/2addr v1, v2
invoke-virtual {p0}, Landroid/view/View;->getPaddingLeft()I
move-result v2
sub-int/2addr v1, v2
div-int/lit8 v1, v1, 0x2
add-int/2addr v0, v1
.line 2
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v1
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v2
invoke-virtual {p0}, Landroid/view/View;->getPaddingBottom()I
move-result v3
sub-int/2addr v2, v3
invoke-virtual {p0}, Landroid/view/View;->getPaddingTop()I
move-result v3
sub-int/2addr v2, v3
div-int/lit8 v2, v2, 0x2
add-int/2addr v1, v2
.line 3
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
if-nez v2, :cond_3c
.line 4
new-instance v2, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
new-instance v3, Landroid/graphics/PointF;
const/4 v4, 0x0
invoke-direct {v3, v4, v4}, Landroid/graphics/PointF;-><init>(FF)V
const/4 v5, 0x0
invoke-direct {v2, v4, v3, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;-><init>(FLandroid/graphics/PointF;Lio/rong/subscaleview/SubsamplingScaleImageView$1;)V
iput-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
.line 5
:cond_3c
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
# setter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F
invoke-static {v2, p3}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4702(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;F)F
.line 6
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF;
invoke-static {v2}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF;
move-result-object v2
int-to-float v0, v0
mul-float p1, p1, p3
sub-float/2addr v0, p1
int-to-float p1, v1
mul-float p2, p2, p3
sub-float/2addr p1, p2
invoke-virtual {v2, v0, p1}, Landroid/graphics/PointF;->set(FF)V
const/4 p1, 0x1
.line 7
iget-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
invoke-direct {p0, p1, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(ZLio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)V
.line 8
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->satTemp:Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF;
invoke-static {p1}, Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lio/rong/subscaleview/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF;
move-result-object p1
return-object p1
.end method
.method private viewToSourceX(F)F
.registers 3
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-nez v0, :cond_7
const/high16 p1, 0x7fc00000 # Float.NaN
return p1
.line 2
:cond_7
iget v0, v0, Landroid/graphics/PointF;->x:F
sub-float/2addr p1, v0
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
div-float/2addr p1, v0
return p1
.end method
.method private viewToSourceY(F)F
.registers 3
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-nez v0, :cond_7
const/high16 p1, 0x7fc00000 # Float.NaN
return p1
.line 2
:cond_7
iget v0, v0, Landroid/graphics/PointF;->y:F
sub-float/2addr p1, v0
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
div-float/2addr p1, v0
return p1
.end method
# virtual methods
.method public animateCenter(Landroid/graphics/PointF;)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
.registers 4
.line 1
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_8
return-object v1
.line 2
:cond_8
new-instance v0, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
invoke-direct {v0, p0, p1, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/graphics/PointF;Lio/rong/subscaleview/SubsamplingScaleImageView$1;)V
return-object v0
.end method
.method public animateScale(F)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
.registers 4
.line 1
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_8
return-object v1
.line 2
:cond_8
new-instance v0, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
invoke-direct {v0, p0, p1, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;FLio/rong/subscaleview/SubsamplingScaleImageView$1;)V
return-object v0
.end method
.method public animateScaleAndCenter(FLandroid/graphics/PointF;)Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
.registers 5
.line 1
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result v0
const/4 v1, 0x0
if-nez v0, :cond_8
return-object v1
.line 2
:cond_8
new-instance v0, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;
invoke-direct {v0, p0, p1, p2, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$AnimationBuilder;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;FLandroid/graphics/PointF;Lio/rong/subscaleview/SubsamplingScaleImageView$1;)V
return-object v0
.end method
.method public final getAppliedOrientation()I
.registers 2
.line 1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
return v0
.end method
.method public final getCenter()Landroid/graphics/PointF;
.registers 3
.line 1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
div-int/lit8 v0, v0, 0x2
.line 2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
div-int/lit8 v1, v1, 0x2
int-to-float v0, v0
int-to-float v1, v1
.line 3
invoke-virtual {p0, v0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceCoord(FF)Landroid/graphics/PointF;
move-result-object v0
return-object v0
.end method
.method public getMaxScale()F
.registers 2
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxScale:F
return v0
.end method
.method public final getMinScale()F
.registers 2
.line 1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale()F
move-result v0
return v0
.end method
.method public final getOrientation()I
.registers 2
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->orientation:I
return v0
.end method
.method public final getPanRemaining(Landroid/graphics/RectF;)V
.registers 8
.line 1
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result v0
if-nez v0, :cond_7
return-void
.line 2
:cond_7
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v1
int-to-float v1, v1
mul-float v0, v0, v1
.line 3
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v2
int-to-float v2, v2
mul-float v1, v1, v2
.line 4
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panLimit:I
const/4 v3, 0x3
const/4 v4, 0x0
if-ne v2, v3, :cond_6a
.line 5
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v3
int-to-float v3, v3
const/high16 v5, 0x40000000 # 2.0f
div-float/2addr v3, v5
sub-float/2addr v2, v3
neg-float v2, v2
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
iput v2, p1, Landroid/graphics/RectF;->top:F
.line 6
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->x:F
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v3
int-to-float v3, v3
div-float/2addr v3, v5
sub-float/2addr v2, v3
neg-float v2, v2
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
iput v2, p1, Landroid/graphics/RectF;->left:F
.line 7
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v3
int-to-float v3, v3
div-float/2addr v3, v5
sub-float/2addr v3, v1
sub-float/2addr v2, v3
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v1
iput v1, p1, Landroid/graphics/RectF;->bottom:F
.line 8
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v1, v1, Landroid/graphics/PointF;->x:F
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v2
int-to-float v2, v2
div-float/2addr v2, v5
sub-float/2addr v2, v0
sub-float/2addr v1, v2
invoke-static {v4, v1}, Ljava/lang/Math;->max(FF)F
move-result v0
iput v0, p1, Landroid/graphics/RectF;->right:F
goto :goto_de
:cond_6a
const/4 v3, 0x2
if-ne v2, v3, :cond_a6
.line 9
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v3
int-to-float v3, v3
sub-float/2addr v2, v3
neg-float v2, v2
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
iput v2, p1, Landroid/graphics/RectF;->top:F
.line 10
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->x:F
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v3
int-to-float v3, v3
sub-float/2addr v2, v3
neg-float v2, v2
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
iput v2, p1, Landroid/graphics/RectF;->left:F
.line 11
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
add-float/2addr v2, v1
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v1
iput v1, p1, Landroid/graphics/RectF;->bottom:F
.line 12
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v1, v1, Landroid/graphics/PointF;->x:F
add-float/2addr v1, v0
invoke-static {v4, v1}, Ljava/lang/Math;->max(FF)F
move-result v0
iput v0, p1, Landroid/graphics/RectF;->right:F
goto :goto_de
.line 13
:cond_a6
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
neg-float v2, v2
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
iput v2, p1, Landroid/graphics/RectF;->top:F
.line 14
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->x:F
neg-float v2, v2
invoke-static {v4, v2}, Ljava/lang/Math;->max(FF)F
move-result v2
iput v2, p1, Landroid/graphics/RectF;->left:F
.line 15
iget-object v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
add-float/2addr v1, v2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v2
int-to-float v2, v2
sub-float/2addr v1, v2
invoke-static {v4, v1}, Ljava/lang/Math;->max(FF)F
move-result v1
iput v1, p1, Landroid/graphics/RectF;->bottom:F
.line 16
iget-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v1, v1, Landroid/graphics/PointF;->x:F
add-float/2addr v0, v1
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
int-to-float v1, v1
sub-float/2addr v0, v1
invoke-static {v4, v0}, Ljava/lang/Math;->max(FF)F
move-result v0
iput v0, p1, Landroid/graphics/RectF;->right:F
:goto_de
return-void
.end method
.method public final getSHeight()I
.registers 2
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
return v0
.end method
.method public final getSWidth()I
.registers 2
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
return v0
.end method
.method public final getScale()F
.registers 2
.line 1
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
return v0
.end method
.method public final getState()Lio/rong/subscaleview/ImageViewState;
.registers 5
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-eqz v0, :cond_1e
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
if-lez v0, :cond_1e
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-lez v0, :cond_1e
.line 2
new-instance v0, Lio/rong/subscaleview/ImageViewState;
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getScale()F
move-result v1
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getCenter()Landroid/graphics/PointF;
move-result-object v2
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getOrientation()I
move-result v3
invoke-direct {v0, v1, v2, v3}, Lio/rong/subscaleview/ImageViewState;-><init>(FLandroid/graphics/PointF;I)V
return-object v0
:cond_1e
const/4 v0, 0x0
return-object v0
.end method
.method public getUri()Landroid/net/Uri;
.registers 2
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
return-object v0
.end method
.method public hasImage()Z
.registers 2
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
if-nez v0, :cond_b
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_9
goto :goto_b
:cond_9
const/4 v0, 0x0
goto :goto_c
:cond_b
:goto_b
const/4 v0, 0x1
:goto_c
return v0
.end method
.method public final isImageLoaded()Z
.registers 2
.line 1
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->imageLoadedSent:Z
return v0
.end method
.method public final isPanEnabled()Z
.registers 2
.line 1
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
return v0
.end method
.method public final isQuickScaleEnabled()Z
.registers 2
.line 1
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleEnabled:Z
return v0
.end method
.method public final isReady()Z
.registers 2
.line 1
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->readySent:Z
return v0
.end method
.method public final isZoomEnabled()Z
.registers 2
.line 1
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->zoomEnabled:Z
return v0
.end method
.method protected onDraw(Landroid/graphics/Canvas;)V
.registers 30
move-object/from16 v11, p0
move-object/from16 v12, p1
.line 1
invoke-super/range {p0 .. p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
.line 2
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->createPaints()V
.line 3
iget v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
if-eqz v0, :cond_74b
iget v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-eqz v0, :cond_74b
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getWidth()I
move-result v0
if-eqz v0, :cond_74b
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getHeight()I
move-result v0
if-nez v0, :cond_20
goto/16 :goto_74b
.line 4
:cond_20
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
if-nez v0, :cond_2f
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->decoder:Lio/rong/subscaleview/decoder/ImageRegionDecoder;
if-eqz v0, :cond_2f
.line 5
invoke-direct/range {p0 .. p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getMaxBitmapDimensions(Landroid/graphics/Canvas;)Landroid/graphics/Point;
move-result-object v0
invoke-direct {v11, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->initialiseBaseLayer(Landroid/graphics/Point;)V
.line 6
:cond_2f
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->checkReady()Z
move-result v0
if-nez v0, :cond_36
return-void
.line 7
:cond_36
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->preDraw()V
.line 8
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
const/4 v9, 0x0
if-eqz v0, :cond_16f
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF;
invoke-static {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3100(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v0
if-eqz v0, :cond_16f
.line 9
iget v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 10
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
if-nez v1, :cond_51
.line 11
new-instance v1, Landroid/graphics/PointF;
invoke-direct {v1, v9, v9}, Landroid/graphics/PointF;-><init>(FF)V
iput-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
.line 12
:cond_51
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {v1, v2}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
.line 13
invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
move-result-wide v1
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->time:J
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3200(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)J
move-result-wide v3
sub-long/2addr v1, v3
.line 14
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->duration:J
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3300(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)J
move-result-wide v3
cmp-long v5, v1, v3
if-lez v5, :cond_6f
const/4 v10, 0x1
goto :goto_70
:cond_6f
const/4 v10, 0x0
.line 15
:goto_70
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->duration:J
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3300(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)J
move-result-wide v3
invoke-static {v1, v2, v3, v4}, Ljava/lang/Math;->min(JJ)J
move-result-wide v15
.line 16
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->easing:I
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3400(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)I
move-result v2
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->scaleStart:F
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3500(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)F
move-result v5
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->scaleEnd:F
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3600(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)F
move-result v1
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->scaleStart:F
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3500(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)F
move-result v3
sub-float v6, v1, v3
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->duration:J
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3300(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)J
move-result-wide v7
move-object/from16 v1, p0
move-wide v3, v15
invoke-direct/range {v1 .. v8}, Lio/rong/subscaleview/SubsamplingScaleImageView;->ease(IJFFJ)F
move-result v1
iput v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 17
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->easing:I
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3400(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)I
move-result v2
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF;
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3100(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v1
iget v5, v1, Landroid/graphics/PointF;->x:F
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->vFocusEnd:Landroid/graphics/PointF;
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3700(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v1
iget v1, v1, Landroid/graphics/PointF;->x:F
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3100(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v3
iget v3, v3, Landroid/graphics/PointF;->x:F
sub-float v6, v1, v3
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->duration:J
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3300(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)J
move-result-wide v7
move-object/from16 v1, p0
move-wide v3, v15
invoke-direct/range {v1 .. v8}, Lio/rong/subscaleview/SubsamplingScaleImageView;->ease(IJFFJ)F
move-result v17
.line 18
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->easing:I
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3400(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)I
move-result v2
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF;
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3100(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v1
iget v5, v1, Landroid/graphics/PointF;->y:F
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->vFocusEnd:Landroid/graphics/PointF;
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3700(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v1
iget v1, v1, Landroid/graphics/PointF;->y:F
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3100(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v3
iget v3, v3, Landroid/graphics/PointF;->y:F
sub-float v6, v1, v3
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->duration:J
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3300(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)J
move-result-wide v7
move-object/from16 v1, p0
move-wide v3, v15
invoke-direct/range {v1 .. v8}, Lio/rong/subscaleview/SubsamplingScaleImageView;->ease(IJFFJ)F
move-result v1
.line 19
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v3, v2, Landroid/graphics/PointF;->x:F
iget-object v4, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->sCenterEnd:Landroid/graphics/PointF;
invoke-static {v4}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3800(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v4
iget v4, v4, Landroid/graphics/PointF;->x:F
invoke-direct {v11, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewX(F)F
move-result v4
sub-float v4, v4, v17
sub-float/2addr v3, v4
iput v3, v2, Landroid/graphics/PointF;->x:F
.line 20
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v3, v2, Landroid/graphics/PointF;->y:F
iget-object v4, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->sCenterEnd:Landroid/graphics/PointF;
invoke-static {v4}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3800(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v4
iget v4, v4, Landroid/graphics/PointF;->y:F
invoke-direct {v11, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewY(F)F
move-result v4
sub-float/2addr v4, v1
sub-float/2addr v3, v4
iput v3, v2, Landroid/graphics/PointF;->y:F
if-nez v10, :cond_13b
.line 21
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->scaleStart:F
invoke-static {v1}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3500(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)F
move-result v1
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->scaleEnd:F
invoke-static {v2}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3600(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)F
move-result v2
cmpl-float v1, v1, v2
if-nez v1, :cond_139
goto :goto_13b
:cond_139
const/4 v1, 0x0
goto :goto_13c
:cond_13b
:goto_13b
const/4 v1, 0x1
:goto_13c
invoke-direct {v11, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 22
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->origin:I
invoke-static {v2}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3900(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)I
move-result v2
invoke-direct {v11, v0, v1, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sendStateChanged(FLandroid/graphics/PointF;I)V
.line 23
invoke-direct {v11, v10}, Lio/rong/subscaleview/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V
if-eqz v10, :cond_16c
.line 24
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->listener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;
invoke-static {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$2800(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;
move-result-object v0
if-eqz v0, :cond_169
.line 25
:try_start_157
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->listener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;
invoke-static {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$2800(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;
move-result-object v0
invoke-interface {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;->onComplete()V
:try_end_160
.catch Ljava/lang/Exception; {:try_start_157 .. :try_end_160} :catch_161
goto :goto_169
:catch_161
move-exception v0
.line 26
sget-object v1, Lio/rong/subscaleview/SubsamplingScaleImageView;->TAG:Ljava/lang/String;
const-string v2, "Error thrown by animation listener"
invoke-static {v1, v2, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_169
:goto_169
const/4 v0, 0x0
.line 27
iput-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.line 28
:cond_16c
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->invalidate()V
.line 29
:cond_16f
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
const/16 v15, 0xb4
const/16 v10, 0xf
const/4 v8, 0x5
if-eqz v0, :cond_481
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isBaseLayerReady()Z
move-result v0
if-eqz v0, :cond_481
.line 30
iget v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->fullImageSampleSize:I
iget v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {v11, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->calculateInSampleSize(F)I
move-result v1
invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I
move-result v0
.line 31
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
const/16 v16, 0x0
:cond_196
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_1d9
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/Map$Entry;
.line 32
invoke-interface {v2}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/lang/Integer;
invoke-virtual {v3}, Ljava/lang/Integer;->intValue()I
move-result v3
if-ne v3, v0, :cond_196
.line 33
invoke-interface {v2}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:cond_1b8
:goto_1b8
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-eqz v3, :cond_196
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;
.line 34
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->visible:Z
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$400(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
move-result v4
if-eqz v4, :cond_1b8
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->loading:Z
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4000(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
move-result v4
if-nez v4, :cond_1d6
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static {v3}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v3
if-nez v3, :cond_1b8
:cond_1d6
const/16 v16, 0x1
goto :goto_1b8
.line 35
:cond_1d9
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileMap:Ljava/util/Map;
invoke-interface {v1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v17
:goto_1e3
invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_47c
invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/Map$Entry;
.line 36
invoke-interface {v1}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/Integer;
invoke-virtual {v2}, Ljava/lang/Integer;->intValue()I
move-result v2
if-eq v2, v0, :cond_203
if-eqz v16, :cond_1fe
goto :goto_203
:cond_1fe
const/16 v13, 0xf
const/4 v14, 0x5
goto/16 :goto_477
.line 37
:cond_203
:goto_203
invoke-interface {v1}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v18
:goto_20d
invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1fe
invoke-interface/range {v18 .. v18}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
move-object/from16 v19, v1
check-cast v19, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;
.line 38
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v2
invoke-direct {v11, v1, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.line 39
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->loading:Z
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4000(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
move-result v1
if-nez v1, :cond_3d4
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v1
if-eqz v1, :cond_3d4
.line 40
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
if-eqz v1, :cond_23f
.line 41
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
invoke-virtual {v12, v1, v2}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
.line 42
:cond_23f
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
if-nez v1, :cond_24a
.line 43
new-instance v1, Landroid/graphics/Matrix;
invoke-direct {v1}, Landroid/graphics/Matrix;-><init>()V
iput-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
.line 44
:cond_24a
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
invoke-virtual {v1}, Landroid/graphics/Matrix;->reset()V
.line 45
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->srcArray:[F
const/4 v3, 0x0
const/4 v4, 0x0
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
int-to-float v5, v1
const/4 v6, 0x0
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
int-to-float v7, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v1
int-to-float v9, v1
const/16 v20, 0x0
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v1
int-to-float v1, v1
move/from16 v21, v1
move-object/from16 v1, p0
const/4 v14, 0x5
move v8, v9
move/from16 v9, v20
const/16 v13, 0xf
move/from16 v10, v21
invoke-direct/range {v1 .. v10}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V
.line 46
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v1
if-nez v1, :cond_2d0
.line 47
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->dstArray:[F
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v3, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v4, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
int-to-float v5, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v6, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
int-to-float v7, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v8, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v9, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v10, v1
move-object/from16 v1, p0
invoke-direct/range {v1 .. v10}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V
goto/16 :goto_3a6
.line 48
:cond_2d0
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v1
const/16 v2, 0x5a
if-ne v1, v2, :cond_319
.line 49
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->dstArray:[F
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
int-to-float v3, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v4, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
int-to-float v5, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v6, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v7, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v8, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v9, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v10, v1
move-object/from16 v1, p0
invoke-direct/range {v1 .. v10}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V
goto/16 :goto_3a6
.line 50
:cond_319
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v1
if-ne v1, v15, :cond_35f
.line 51
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->dstArray:[F
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
int-to-float v3, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v4, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v5, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v6, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v7, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v8, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
int-to-float v9, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v10, v1
move-object/from16 v1, p0
invoke-direct/range {v1 .. v10}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V
goto :goto_3a6
.line 52
:cond_35f
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v1
const/16 v2, 0x10e
if-ne v1, v2, :cond_3a6
.line 53
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->dstArray:[F
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v3, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v4, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
int-to-float v5, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v6, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
int-to-float v7, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->top:I
int-to-float v8, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
int-to-float v9, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->bottom:I
int-to-float v10, v1
move-object/from16 v1, p0
invoke-direct/range {v1 .. v10}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V
.line 54
:cond_3a6
:goto_3a6
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->srcArray:[F
const/16 v24, 0x0
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->dstArray:[F
const/16 v26, 0x0
const/16 v27, 0x4
move-object/from16 v22, v1
move-object/from16 v23, v2
move-object/from16 v25, v3
invoke-virtual/range {v22 .. v27}, Landroid/graphics/Matrix;->setPolyToPoly([FI[FII)Z
.line 55
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$500(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap;
move-result-object v1
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint;
invoke-virtual {v12, v1, v2, v3}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
.line 56
iget-boolean v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug:Z
if-eqz v1, :cond_402
.line 57
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v12, v1, v2}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
goto :goto_402
:cond_3d4
const/16 v13, 0xf
const/4 v14, 0x5
.line 58
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->loading:Z
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4000(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
move-result v1
if-eqz v1, :cond_402
iget-boolean v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug:Z
if-eqz v1, :cond_402
.line 59
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
invoke-direct {v11, v14}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v2
add-int/2addr v1, v2
int-to-float v1, v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v2
iget v2, v2, Landroid/graphics/Rect;->top:I
const/16 v3, 0x23
invoke-direct {v11, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v3
add-int/2addr v2, v3
int-to-float v2, v2
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
const-string v4, "LOADING"
invoke-virtual {v12, v4, v1, v2, v3}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
.line 60
:cond_402
:goto_402
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->visible:Z
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$400(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Z
move-result v1
if-eqz v1, :cond_472
iget-boolean v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug:Z
if-eqz v1, :cond_472
.line 61
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "ISS "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sampleSize:I
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4300(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, " RECT "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v2
iget v2, v2, Landroid/graphics/Rect;->top:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v2, ","
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v3
iget v3, v3, Landroid/graphics/Rect;->left:I
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v3
iget v3, v3, Landroid/graphics/Rect;->bottom:I
invoke-virtual {v1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4100(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v2
iget v2, v2, Landroid/graphics/Rect;->right:I
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v2
iget v2, v2, Landroid/graphics/Rect;->left:I
invoke-direct {v11, v14}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v3
add-int/2addr v2, v3
int-to-float v2, v2
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect;
invoke-static/range {v19 .. v19}, Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;->access$4200(Lio/rong/subscaleview/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect;
move-result-object v3
iget v3, v3, Landroid/graphics/Rect;->top:I
invoke-direct {v11, v13}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v4
add-int/2addr v3, v4
int-to-float v3, v3
iget-object v4, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
invoke-virtual {v12, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
:cond_472
const/4 v8, 0x5
const/16 v10, 0xf
goto/16 :goto_20d
:goto_477
const/4 v8, 0x5
const/16 v10, 0xf
goto/16 :goto_1e3
:cond_47c
const/16 v13, 0xf
const/4 v14, 0x5
goto/16 :goto_55c
:cond_481
const/16 v13, 0xf
const/4 v14, 0x5
.line 62
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
if-eqz v0, :cond_55c
.line 63
iget v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 64
iget-boolean v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
if-eqz v2, :cond_4a9
.line 65
iget v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
int-to-float v2, v2
invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
int-to-float v0, v0
div-float/2addr v2, v0
mul-float v1, v1, v2
.line 66
iget v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
int-to-float v2, v2
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I
move-result v3
int-to-float v3, v3
div-float/2addr v2, v3
mul-float v0, v0, v2
goto :goto_4aa
:cond_4a9
move v0, v1
.line 67
:goto_4aa
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
if-nez v2, :cond_4b5
.line 68
new-instance v2, Landroid/graphics/Matrix;
invoke-direct {v2}, Landroid/graphics/Matrix;-><init>()V
iput-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
.line 69
:cond_4b5
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
invoke-virtual {v2}, Landroid/graphics/Matrix;->reset()V
.line 70
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
invoke-virtual {v2, v1, v0}, Landroid/graphics/Matrix;->postScale(FF)Z
.line 71
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v1
int-to-float v1, v1
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->postRotate(F)Z
.line 72
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v1, Landroid/graphics/PointF;->x:F
iget v1, v1, Landroid/graphics/PointF;->y:F
invoke-virtual {v0, v2, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 73
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
if-ne v0, v15, :cond_4ec
.line 74
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
iget v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
int-to-float v2, v2
mul-float v2, v2, v1
iget v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
int-to-float v3, v3
mul-float v1, v1, v3
invoke-virtual {v0, v2, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z
goto :goto_515
.line 75
:cond_4ec
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
const/16 v1, 0x5a
if-ne v0, v1, :cond_501
.line 76
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
iget v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
int-to-float v2, v2
mul-float v1, v1, v2
invoke-virtual {v0, v1, v9}, Landroid/graphics/Matrix;->postTranslate(FF)Z
goto :goto_515
.line 77
:cond_501
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getRequiredRotation()I
move-result v0
const/16 v1, 0x10e
if-ne v0, v1, :cond_515
.line 78
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
iget v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
iget v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
int-to-float v2, v2
mul-float v1, v1, v2
invoke-virtual {v0, v9, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z
.line 79
:cond_515
:goto_515
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
if-eqz v0, :cond_553
.line 80
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF;
if-nez v0, :cond_524
.line 81
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF;
.line 82
:cond_524
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF;
iget-boolean v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
if-eqz v1, :cond_531
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
goto :goto_533
:cond_531
iget v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
:goto_533
int-to-float v1, v1
iget-boolean v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsPreview:Z
if-eqz v2, :cond_53f
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
invoke-virtual {v2}, Landroid/graphics/Bitmap;->getHeight()I
move-result v2
goto :goto_541
:cond_53f
iget v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
:goto_541
int-to-float v2, v2
invoke-virtual {v0, v9, v9, v1, v2}, Landroid/graphics/RectF;->set(FFFF)V
.line 83
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF;
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z
.line 84
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF;
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v1}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
.line 85
:cond_553
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap;
iget-object v1, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix;
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v1, v2}, Landroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
.line 86
:cond_55c
:goto_55c
iget-boolean v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug:Z
if-eqz v0, :cond_74b
.line 87
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Scale: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
const/4 v2, 0x1
new-array v3, v2, [Ljava/lang/Object;
iget v4, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-static {v4}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v4
const/4 v5, 0x0
aput-object v4, v3, v5
const-string v4, "%.2f"
invoke-static {v1, v4, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " ("
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
new-array v3, v2, [Ljava/lang/Object;
invoke-direct/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale()F
move-result v6
invoke-static {v6}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v6
aput-object v6, v3, v5
invoke-static {v1, v4, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, " - "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
new-array v3, v2, [Ljava/lang/Object;
iget v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxScale:F
invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v2
aput-object v2, v3, v5
invoke-static {v1, v4, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ")"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v11, v14}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v1
int-to-float v1, v1
invoke-direct {v11, v13}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v2
int-to-float v2, v2
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v1, v2, v3}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
.line 88
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "Translate: "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
const/4 v2, 0x1
new-array v3, v2, [Ljava/lang/Object;
iget-object v5, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v5, v5, Landroid/graphics/PointF;->x:F
invoke-static {v5}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v5
const/4 v6, 0x0
aput-object v5, v3, v6
invoke-static {v1, v4, v3}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v1, ":"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v3, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
new-array v5, v2, [Ljava/lang/Object;
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v2
aput-object v2, v5, v6
invoke-static {v3, v4, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v11, v14}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v2
int-to-float v2, v2
const/16 v3, 0x1e
invoke-direct {v11, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v5
int-to-float v5, v5
iget-object v6, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v2, v5, v6}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
.line 89
invoke-virtual/range {p0 .. p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getCenter()Landroid/graphics/PointF;
move-result-object v0
.line 90
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v5, "Source center: "
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v5, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
const/4 v6, 0x1
new-array v7, v6, [Ljava/lang/Object;
iget v8, v0, Landroid/graphics/PointF;->x:F
invoke-static {v8}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v8
const/4 v9, 0x0
aput-object v8, v7, v9
invoke-static {v5, v4, v7}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v2, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale;
new-array v5, v6, [Ljava/lang/Object;
iget v0, v0, Landroid/graphics/PointF;->y:F
invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v0
aput-object v0, v5, v9
invoke-static {v1, v4, v5}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v11, v14}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v1
int-to-float v1, v1
const/16 v2, 0x2d
invoke-direct {v11, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v2
int-to-float v2, v2
iget-object v4, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v1, v2, v4}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
.line 91
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
const v1, -0xff0001
const v2, -0xffff01
const/16 v4, 0x14
const/high16 v5, -0x10000
if-eqz v0, :cond_6e8
.line 92
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->sCenterStart:Landroid/graphics/PointF;
invoke-static {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$4400(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v0
invoke-virtual {v11, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object v0
.line 93
iget-object v6, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->sCenterEndRequested:Landroid/graphics/PointF;
invoke-static {v6}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$4500(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v6
invoke-virtual {v11, v6}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object v6
.line 94
iget-object v7, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->sCenterEnd:Landroid/graphics/PointF;
invoke-static {v7}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$3800(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF;
move-result-object v7
invoke-virtual {v11, v7}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object v7
.line 95
iget v8, v0, Landroid/graphics/PointF;->x:F
iget v0, v0, Landroid/graphics/PointF;->y:F
const/16 v9, 0xa
invoke-direct {v11, v9}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v9
int-to-float v9, v9
iget-object v10, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v12, v8, v0, v9, v10}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 96
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v5}, Landroid/graphics/Paint;->setColor(I)V
.line 97
iget v0, v6, Landroid/graphics/PointF;->x:F
iget v6, v6, Landroid/graphics/PointF;->y:F
invoke-direct {v11, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v8
int-to-float v8, v8
iget-object v9, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v6, v8, v9}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 98
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V
.line 99
iget v0, v7, Landroid/graphics/PointF;->x:F
iget v6, v7, Landroid/graphics/PointF;->y:F
const/16 v7, 0x19
invoke-direct {v11, v7}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v7
int-to-float v7, v7
iget-object v8, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v6, v7, v8}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 100
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 101
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getWidth()I
move-result v0
div-int/lit8 v0, v0, 0x2
int-to-float v0, v0
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getHeight()I
move-result v6
div-int/lit8 v6, v6, 0x2
int-to-float v6, v6
invoke-direct {v11, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v7
int-to-float v7, v7
iget-object v8, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v6, v7, v8}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 102
:cond_6e8
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
if-eqz v0, :cond_701
.line 103
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v5}, Landroid/graphics/Paint;->setColor(I)V
.line 104
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
iget v5, v0, Landroid/graphics/PointF;->x:F
iget v0, v0, Landroid/graphics/PointF;->y:F
invoke-direct {v11, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v4
int-to-float v4, v4
iget-object v6, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v12, v5, v0, v4, v6}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 105
:cond_701
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF;
if-eqz v0, :cond_726
.line 106
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V
.line 107
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF;
iget v0, v0, Landroid/graphics/PointF;->x:F
invoke-direct {v11, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewX(F)F
move-result v0
iget-object v2, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF;
iget v2, v2, Landroid/graphics/PointF;->y:F
invoke-direct {v11, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewY(F)F
move-result v2
const/16 v4, 0x23
invoke-direct {v11, v4}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v4
int-to-float v4, v4
iget-object v5, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v12, v0, v2, v4, v5}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 108
:cond_726
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF;
if-eqz v0, :cond_743
iget-boolean v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->isQuickScaling:Z
if-eqz v0, :cond_743
.line 109
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
.line 110
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF;
iget v1, v0, Landroid/graphics/PointF;->x:F
iget v0, v0, Landroid/graphics/PointF;->y:F
invoke-direct {v11, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->px(I)I
move-result v2
int-to-float v2, v2
iget-object v3, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
invoke-virtual {v12, v1, v0, v2, v3}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
.line 111
:cond_743
iget-object v0, v11, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
const v1, -0xff01
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V
:cond_74b
:goto_74b
return-void
.end method
.method protected onImageLoaded()V
.registers 1
return-void
.end method
.method protected onMeasure(II)V
.registers 8
.line 1
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v0
.line 2
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I
move-result v1
.line 3
invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p1
.line 4
invoke-static {p2}, Landroid/view/View$MeasureSpec;->getSize(I)I
move-result p2
const/4 v2, 0x1
const/4 v3, 0x0
const/high16 v4, 0x40000000 # 2.0f
if-eq v0, v4, :cond_18
const/4 v0, 0x1
goto :goto_19
:cond_18
const/4 v0, 0x0
:goto_19
if-eq v1, v4, :cond_1c
goto :goto_1d
:cond_1c
const/4 v2, 0x0
.line 5
:goto_1d
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
if-lez v1, :cond_67
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
if-lez v1, :cond_67
if-eqz v0, :cond_32
if-eqz v2, :cond_32
.line 6
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result p1
.line 7
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result p2
goto :goto_67
:cond_32
if-eqz v2, :cond_4d
.line 8
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result p2
int-to-double v0, p2
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result p2
int-to-double v2, p2
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v0, v2
int-to-double v2, p1
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
mul-double v0, v0, v2
double-to-int p2, v0
goto :goto_67
:cond_4d
if-eqz v0, :cond_67
.line 9
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result p1
int-to-double v0, p1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result p1
int-to-double v2, p1
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
div-double/2addr v0, v2
int-to-double v2, p2
invoke-static {v2, v3}, Ljava/lang/Double;->isNaN(D)Z
mul-double v0, v0, v2
double-to-int p1, v0
.line 10
:cond_67
:goto_67
invoke-virtual {p0}, Landroid/view/View;->getSuggestedMinimumWidth()I
move-result v0
invoke-static {p1, v0}, Ljava/lang/Math;->max(II)I
move-result p1
.line 11
invoke-virtual {p0}, Landroid/view/View;->getSuggestedMinimumHeight()I
move-result v0
invoke-static {p2, v0}, Ljava/lang/Math;->max(II)I
move-result p2
.line 12
invoke-virtual {p0, p1, p2}, Landroid/view/View;->setMeasuredDimension(II)V
return-void
.end method
.method protected onReady()V
.registers 1
return-void
.end method
.method protected onSizeChanged(IIII)V
.registers 7
const/4 v0, 0x4
.line 1
new-array v0, v0, [Ljava/lang/Object;
invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
const/4 v1, 0x0
aput-object p3, v0, v1
invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p3
const/4 p4, 0x1
aput-object p3, v0, p4
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
const/4 p3, 0x2
aput-object p1, v0, p3
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object p1
const/4 p2, 0x3
aput-object p1, v0, p2
const-string p1, "onSizeChanged %dx%d -> %dx%d"
invoke-direct {p0, p1, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->getCenter()Landroid/graphics/PointF;
move-result-object p1
.line 3
iget-boolean p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->readySent:Z
if-eqz p2, :cond_3b
if-eqz p1, :cond_3b
const/4 p2, 0x0
.line 4
iput-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.line 5
iget p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-static {p2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p2
iput-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float;
.line 6
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
:cond_3b
return-void
.end method
.method public onTouchEvent(Landroid/view/MotionEvent;)Z
.registers 8
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
const/4 v1, 0x1
if-eqz v0, :cond_f
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->interruptible:Z
invoke-static {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$2700(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Z
move-result v0
if-nez v0, :cond_f
.line 2
invoke-direct {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->requestDisallowInterceptTouchEvent(Z)V
return v1
.line 3
:cond_f
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
if-eqz v0, :cond_2b
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->listener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;
invoke-static {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$2800(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;
move-result-object v0
if-eqz v0, :cond_2b
.line 4
:try_start_19
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
# getter for: Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->listener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;
invoke-static {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;->access$2800(Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;)Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;
move-result-object v0
invoke-interface {v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$OnAnimationEventListener;->onInterruptedByUser()V
:try_end_22
.catch Ljava/lang/Exception; {:try_start_19 .. :try_end_22} :catch_23
goto :goto_2b
:catch_23
move-exception v0
.line 5
sget-object v2, Lio/rong/subscaleview/SubsamplingScaleImageView;->TAG:Ljava/lang/String;
const-string v3, "Error thrown by animation listener"
invoke-static {v2, v3, v0}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
:cond_2b
:goto_2b
const/4 v0, 0x0
.line 6
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.line 7
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-nez v0, :cond_3a
.line 8
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->singleDetector:Landroid/view/GestureDetector;
if-eqz v0, :cond_39
.line 9
invoke-virtual {v0, p1}, Landroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
:cond_39
return v1
.line 10
:cond_3a
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isQuickScaling:Z
const/4 v2, 0x0
if-nez v0, :cond_50
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->detector:Landroid/view/GestureDetector;
if-eqz v0, :cond_49
invoke-virtual {v0, p1}, Landroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result v0
if-eqz v0, :cond_50
.line 11
:cond_49
iput-boolean v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isZooming:Z
.line 12
iput-boolean v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->isPanning:Z
.line 13
iput v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTouchCount:I
return v1
.line 14
:cond_50
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
const/4 v3, 0x0
if-nez v0, :cond_5c
.line 15
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0, v3, v3}, Landroid/graphics/PointF;-><init>(FF)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF;
.line 16
:cond_5c
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
if-nez v0, :cond_67
.line 17
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0, v3, v3}, Landroid/graphics/PointF;-><init>(FF)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
.line 18
:cond_67
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
if-nez v0, :cond_72
.line 19
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0, v3, v3}, Landroid/graphics/PointF;-><init>(FF)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF;
.line 20
:cond_72
iget v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
.line 21
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
iget-object v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {v3, v4}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
.line 22
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onTouchEventInternal(Landroid/view/MotionEvent;)Z
move-result v3
.line 23
iget-object v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF;
const/4 v5, 0x2
invoke-direct {p0, v0, v4, v5}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sendStateChanged(FLandroid/graphics/PointF;I)V
if-nez v3, :cond_8f
.line 24
invoke-super {p0, p1}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z
move-result p1
if-eqz p1, :cond_8e
goto :goto_8f
:cond_8e
const/4 v1, 0x0
:cond_8f
:goto_8f
return v1
.end method
.method public recycle()V
.registers 2
const/4 v0, 0x1
.line 1
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->reset(Z)V
const/4 v0, 0x0
.line 2
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint;
.line 3
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugTextPaint:Landroid/graphics/Paint;
.line 4
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debugLinePaint:Landroid/graphics/Paint;
.line 5
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
return-void
.end method
.method public final resetScaleAndCenter()V
.registers 4
const/4 v0, 0x0
.line 1
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
const/4 v0, 0x0
.line 2
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->limitedScale(F)F
move-result v1
invoke-static {v1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v1
iput-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float;
.line 3
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result v1
if-eqz v1, :cond_2a
.line 4
new-instance v0, Landroid/graphics/PointF;
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v1
div-int/lit8 v1, v1, 0x2
int-to-float v1, v1
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v2
div-int/lit8 v2, v2, 0x2
int-to-float v2, v2
invoke-direct {v0, v1, v2}, Landroid/graphics/PointF;-><init>(FF)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
goto :goto_31
.line 5
:cond_2a
new-instance v1, Landroid/graphics/PointF;
invoke-direct {v1, v0, v0}, Landroid/graphics/PointF;-><init>(FF)V
iput-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
.line 6
:goto_31
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method
.method public final setBitmapAndFileUri(Landroid/graphics/Bitmap;Landroid/net/Uri;)V
.registers 9
.line 1
invoke-static {}, Lio/rong/subscaleview/Utils;->getMaxLoader()I
move-result v0
if-eqz p1, :cond_6e
.line 2
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
if-ge v1, v0, :cond_6e
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v1
if-ge v1, v0, :cond_6e
.line 3
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result p2
int-to-float p2, p2
.line 4
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v0
int-to-float v0, v0
.line 5
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-static {v1}, Lio/rong/subscaleview/Utils;->getScreenHeight(Landroid/content/Context;)I
move-result v1
.line 6
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v2
invoke-static {v2}, Lio/rong/subscaleview/Utils;->getScreenWidth(Landroid/content/Context;)I
move-result v2
int-to-float v1, v1
div-float/2addr v1, p2
int-to-float p2, v2
div-float/2addr p2, v0
.line 7
invoke-static {p2, v1}, Ljava/lang/Math;->max(FF)F
move-result v0
const/high16 v2, 0x41200000 # 10.0f
mul-float v3, v0, v2
.line 8
invoke-virtual {p0, v3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMaxScale(F)V
const/high16 v3, 0x40000000 # 2.0f
mul-float v0, v0, v3
.line 9
invoke-virtual {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setDoubleTapZoomScale(F)V
.line 10
invoke-static {p1}, Lio/rong/subscaleview/ImageSource;->bitmap(Landroid/graphics/Bitmap;)Lio/rong/subscaleview/ImageSource;
move-result-object p1
invoke-virtual {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setImage(Lio/rong/subscaleview/ImageSource;)V
div-float p1, p2, v1
float-to-double v0, p1
const-wide/high16 v4, 0x3ff8000000000000L # 1.5
cmpl-double p1, v0, v4
if-ltz p1, :cond_77
mul-float v2, v2, p2
.line 11
invoke-virtual {p0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMaxScale(F)V
.line 12
new-instance p1, Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
int-to-float v0, v0
div-float/2addr v0, p2
div-float/2addr v0, v3
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
int-to-float v1, v1
div-float/2addr v1, p2
div-float/2addr v1, v3
invoke-direct {p1, v0, v1}, Landroid/graphics/PointF;-><init>(FF)V
.line 13
invoke-virtual {p0, p2, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setScaleAndCenter(FLandroid/graphics/PointF;)V
goto :goto_77
:cond_6e
if-eqz p2, :cond_77
.line 14
invoke-static {p2}, Lio/rong/subscaleview/ImageSource;->uri(Landroid/net/Uri;)Lio/rong/subscaleview/ImageSource;
move-result-object p1
invoke-virtual {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setImage(Lio/rong/subscaleview/ImageSource;)V
:cond_77
:goto_77
return-void
.end method
.method public final setBitmapDecoderClass(Ljava/lang/Class;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"+",
"Lio/rong/subscaleview/decoder/ImageDecoder;",
">;)V"
}
.end annotation
if-eqz p1, :cond_a
.line 1
new-instance v0, Lio/rong/subscaleview/decoder/CompatDecoderFactory;
invoke-direct {v0, p1}, Lio/rong/subscaleview/decoder/CompatDecoderFactory;-><init>(Ljava/lang/Class;)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
return-void
.line 2
:cond_a
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Decoder class cannot be set to null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final setBitmapDecoderFactory(Lio/rong/subscaleview/decoder/DecoderFactory;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/rong/subscaleview/decoder/DecoderFactory<",
"+",
"Lio/rong/subscaleview/decoder/ImageDecoder;",
">;)V"
}
.end annotation
if-eqz p1, :cond_5
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
return-void
.line 2
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Decoder factory cannot be set to null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final setBitmapFitX(Landroid/graphics/Bitmap;)V
.registers 6
.line 1
invoke-static {}, Lio/rong/subscaleview/Utils;->getMaxLoader()I
move-result v0
if-eqz p1, :cond_47
.line 2
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result v1
if-ge v1, v0, :cond_47
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I
move-result v1
if-ge v1, v0, :cond_47
.line 3
invoke-static {p1}, Lio/rong/subscaleview/ImageSource;->bitmap(Landroid/graphics/Bitmap;)Lio/rong/subscaleview/ImageSource;
move-result-object v0
invoke-virtual {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setImage(Lio/rong/subscaleview/ImageSource;)V
.line 4
invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I
move-result p1
int-to-float p1, p1
.line 5
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lio/rong/subscaleview/Utils;->getScreenWidth(Landroid/content/Context;)I
move-result v0
int-to-float v0, v0
div-float/2addr v0, p1
const/high16 p1, 0x41200000 # 10.0f
mul-float p1, p1, v0
.line 6
invoke-virtual {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMaxScale(F)V
.line 7
new-instance p1, Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v1
int-to-float v1, v1
div-float/2addr v1, v0
const/high16 v2, 0x40000000 # 2.0f
div-float/2addr v1, v2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v3
int-to-float v3, v3
div-float/2addr v3, v0
div-float/2addr v3, v2
invoke-direct {p1, v1, v3}, Landroid/graphics/PointF;-><init>(FF)V
.line 8
invoke-virtual {p0, v0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setScaleAndCenter(FLandroid/graphics/PointF;)V
:cond_47
return-void
.end method
.method public final setDebug(Z)V
.registers 2
.line 1
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->debug:Z
return-void
.end method
.method public final setDoubleTapZoomDpi(I)V
.registers 4
.line 1
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
.line 2
iget v1, v0, Landroid/util/DisplayMetrics;->xdpi:F
iget v0, v0, Landroid/util/DisplayMetrics;->ydpi:F
add-float/2addr v1, v0
const/high16 v0, 0x40000000 # 2.0f
div-float/2addr v1, v0
int-to-float p1, p1
div-float/2addr v1, p1
.line 3
invoke-virtual {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setDoubleTapZoomScale(F)V
return-void
.end method
.method public final setDoubleTapZoomDuration(I)V
.registers 3
const/4 v0, 0x0
.line 1
invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I
move-result p1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomDuration:I
return-void
.end method
.method public final setDoubleTapZoomScale(F)V
.registers 2
.line 1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomScale:F
return-void
.end method
.method public final setDoubleTapZoomStyle(I)V
.registers 5
.line 1
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_ZOOM_STYLES:Ljava/util/List;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_f
.line 2
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->doubleTapZoomStyle:I
return-void
.line 3
:cond_f
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid zoom style: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public setEagerLoadingEnabled(Z)V
.registers 2
.line 1
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->eagerLoadingEnabled:Z
return-void
.end method
.method public setExecutor(Ljava/util/concurrent/Executor;)V
.registers 3
if-eqz p1, :cond_5
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->executor:Ljava/util/concurrent/Executor;
return-void
.line 2
:cond_5
new-instance p1, Ljava/lang/NullPointerException;
const-string v0, "Executor must not be null"
invoke-direct {p1, v0}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final setImage(Lio/rong/subscaleview/ImageSource;)V
.registers 3
const/4 v0, 0x0
.line 1
invoke-virtual {p0, p1, v0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setImage(Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageViewState;)V
return-void
.end method
.method public final setImage(Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageSource;)V
.registers 4
const/4 v0, 0x0
.line 3
invoke-virtual {p0, p1, p2, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setImage(Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageViewState;)V
return-void
.end method
.method public final setImage(Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageViewState;)V
.registers 12
if-eqz p1, :cond_152
const/4 v0, 0x1
.line 4
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->reset(Z)V
if-eqz p3, :cond_b
.line 5
invoke-direct {p0, p3}, Lio/rong/subscaleview/SubsamplingScaleImageView;->restoreState(Lio/rong/subscaleview/ImageViewState;)V
:cond_b
const-string p3, "/"
const-string v0, "android.resource://"
if-eqz p2, :cond_9d
.line 6
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v1
if-nez v1, :cond_95
.line 7
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSWidth()I
move-result v1
if-lez v1, :cond_8d
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSHeight()I
move-result v1
if-lez v1, :cond_8d
.line 8
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSWidth()I
move-result v1
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
.line 9
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSHeight()I
move-result v1
iput v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
.line 10
invoke-virtual {p2}, Lio/rong/subscaleview/ImageSource;->getSRegion()Landroid/graphics/Rect;
move-result-object v1
iput-object v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect;
.line 11
invoke-virtual {p2}, Lio/rong/subscaleview/ImageSource;->getBitmap()Landroid/graphics/Bitmap;
move-result-object v1
if-eqz v1, :cond_49
.line 12
invoke-virtual {p2}, Lio/rong/subscaleview/ImageSource;->isCached()Z
move-result v1
iput-boolean v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapIsCached:Z
.line 13
invoke-virtual {p2}, Lio/rong/subscaleview/ImageSource;->getBitmap()Landroid/graphics/Bitmap;
move-result-object p2
invoke-direct {p0, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onPreviewLoaded(Landroid/graphics/Bitmap;)V
goto :goto_9d
.line 14
:cond_49
invoke-virtual {p2}, Lio/rong/subscaleview/ImageSource;->getUri()Landroid/net/Uri;
move-result-object v1
if-nez v1, :cond_7a
.line 15
invoke-virtual {p2}, Lio/rong/subscaleview/ImageSource;->getResource()Ljava/lang/Integer;
move-result-object v2
if-eqz v2, :cond_7a
.line 16
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v2
invoke-virtual {v2}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Lio/rong/subscaleview/ImageSource;->getResource()Ljava/lang/Integer;
move-result-object p2
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object v1
:cond_7a
move-object v6, v1
.line 17
new-instance p2, Lio/rong/subscaleview/SubsamplingScaleImageView$BitmapLoadTask;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v4
iget-object v5, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
const/4 v7, 0x1
move-object v2, p2
move-object v3, p0
invoke-direct/range {v2 .. v7}, Lio/rong/subscaleview/SubsamplingScaleImageView$BitmapLoadTask;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/content/Context;Lio/rong/subscaleview/decoder/DecoderFactory;Landroid/net/Uri;Z)V
.line 18
invoke-direct {p0, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V
goto :goto_9d
.line 19
:cond_8d
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Preview image cannot be used unless dimensions are provided for the main image"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 20
:cond_95
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Preview image cannot be used when a bitmap is provided for the main image"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 21
:cond_9d
:goto_9d
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getBitmap()Landroid/graphics/Bitmap;
move-result-object p2
const/4 v1, 0x0
if-eqz p2, :cond_d3
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSRegion()Landroid/graphics/Rect;
move-result-object p2
if-eqz p2, :cond_d3
.line 22
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getBitmap()Landroid/graphics/Bitmap;
move-result-object p2
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSRegion()Landroid/graphics/Rect;
move-result-object p3
iget p3, p3, Landroid/graphics/Rect;->left:I
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSRegion()Landroid/graphics/Rect;
move-result-object v0
iget v0, v0, Landroid/graphics/Rect;->top:I
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSRegion()Landroid/graphics/Rect;
move-result-object v2
invoke-virtual {v2}, Landroid/graphics/Rect;->width()I
move-result v2
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSRegion()Landroid/graphics/Rect;
move-result-object p1
invoke-virtual {p1}, Landroid/graphics/Rect;->height()I
move-result p1
invoke-static {p2, p3, v0, v2, p1}, Landroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
move-result-object p1
invoke-direct {p0, p1, v1, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageLoaded(Landroid/graphics/Bitmap;IZ)V
goto/16 :goto_151
.line 23
:cond_d3
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getBitmap()Landroid/graphics/Bitmap;
move-result-object p2
if-eqz p2, :cond_e5
.line 24
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getBitmap()Landroid/graphics/Bitmap;
move-result-object p2
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->isCached()Z
move-result p1
invoke-direct {p0, p2, v1, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageLoaded(Landroid/graphics/Bitmap;IZ)V
goto :goto_151
.line 25
:cond_e5
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getSRegion()Landroid/graphics/Rect;
move-result-object p2
iput-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect;
.line 26
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getUri()Landroid/net/Uri;
move-result-object p2
iput-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
.line 27
iget-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
if-nez p2, :cond_122
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getResource()Ljava/lang/Integer;
move-result-object p2
if-eqz p2, :cond_122
.line 28
new-instance p2, Ljava/lang/StringBuilder;
invoke-direct {p2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
invoke-virtual {p2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getResource()Ljava/lang/Integer;
move-result-object p3
invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {p2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p2
iput-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
.line 29
:cond_122
invoke-virtual {p1}, Lio/rong/subscaleview/ImageSource;->getTile()Z
move-result p1
if-nez p1, :cond_141
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect;
if-eqz p1, :cond_12d
goto :goto_141
.line 30
:cond_12d
new-instance p1, Lio/rong/subscaleview/SubsamplingScaleImageView$BitmapLoadTask;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v2
iget-object v3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->bitmapDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
iget-object v4, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
const/4 v5, 0x0
move-object v0, p1
move-object v1, p0
invoke-direct/range {v0 .. v5}, Lio/rong/subscaleview/SubsamplingScaleImageView$BitmapLoadTask;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/content/Context;Lio/rong/subscaleview/decoder/DecoderFactory;Landroid/net/Uri;Z)V
.line 31
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V
goto :goto_151
.line 32
:cond_141
:goto_141
new-instance p1, Lio/rong/subscaleview/SubsamplingScaleImageView$TilesInitTask;
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p2
iget-object p3, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->regionDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->uri:Landroid/net/Uri;
invoke-direct {p1, p0, p2, p3, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView$TilesInitTask;-><init>(Lio/rong/subscaleview/SubsamplingScaleImageView;Landroid/content/Context;Lio/rong/subscaleview/decoder/DecoderFactory;Landroid/net/Uri;)V
.line 33
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V
:goto_151
return-void
.line 34
:cond_152
new-instance p1, Ljava/lang/NullPointerException;
const-string p2, "imageSource must not be null"
invoke-direct {p1, p2}, Ljava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final setImage(Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageViewState;)V
.registers 4
const/4 v0, 0x0
.line 2
invoke-virtual {p0, p1, v0, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setImage(Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageSource;Lio/rong/subscaleview/ImageViewState;)V
return-void
.end method
.method public final setMaxScale(F)V
.registers 2
.line 1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxScale:F
return-void
.end method
.method public setMaxTileSize(I)V
.registers 2
.line 1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileWidth:I
.line 2
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileHeight:I
return-void
.end method
.method public setMaxTileSize(II)V
.registers 3
.line 3
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileWidth:I
.line 4
iput p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->maxTileHeight:I
return-void
.end method
.method public final setMaximumDpi(I)V
.registers 4
.line 1
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
.line 2
iget v1, v0, Landroid/util/DisplayMetrics;->xdpi:F
iget v0, v0, Landroid/util/DisplayMetrics;->ydpi:F
add-float/2addr v1, v0
const/high16 v0, 0x40000000 # 2.0f
div-float/2addr v1, v0
int-to-float p1, p1
div-float/2addr v1, p1
.line 3
invoke-virtual {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMinScale(F)V
return-void
.end method
.method public final setMinScale(F)V
.registers 2
.line 1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minScale:F
return-void
.end method
.method public final setMinimumDpi(I)V
.registers 4
.line 1
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
.line 2
iget v1, v0, Landroid/util/DisplayMetrics;->xdpi:F
iget v0, v0, Landroid/util/DisplayMetrics;->ydpi:F
add-float/2addr v1, v0
const/high16 v0, 0x40000000 # 2.0f
div-float/2addr v1, v0
int-to-float p1, p1
div-float/2addr v1, p1
.line 3
invoke-virtual {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMaxScale(F)V
return-void
.end method
.method public final setMinimumScaleType(I)V
.registers 5
.line 1
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_SCALE_TYPES:Ljava/util/List;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1c
.line 2
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minimumScaleType:I
.line 3
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result p1
if-eqz p1, :cond_1b
const/4 p1, 0x1
.line 4
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 5
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
:cond_1b
return-void
.line 6
:cond_1c
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid scale type: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public setMinimumTileDpi(I)V
.registers 4
.line 1
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v0
.line 2
iget v1, v0, Landroid/util/DisplayMetrics;->xdpi:F
iget v0, v0, Landroid/util/DisplayMetrics;->ydpi:F
add-float/2addr v1, v0
const/high16 v0, 0x40000000 # 2.0f
div-float/2addr v1, v0
int-to-float p1, p1
.line 3
invoke-static {v1, p1}, Ljava/lang/Math;->min(FF)F
move-result p1
float-to-int p1, p1
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->minimumTileDpi:I
.line 4
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result p1
if-eqz p1, :cond_25
const/4 p1, 0x0
.line 5
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->reset(Z)V
.line 6
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
:cond_25
return-void
.end method
.method public setOnImageEventListener(Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;)V
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onImageEventListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnImageEventListener;
return-void
.end method
.method public setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onLongClickListener:Landroid/view/View$OnLongClickListener;
return-void
.end method
.method public setOnStateChangedListener(Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;)V
.registers 2
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->onStateChangedListener:Lio/rong/subscaleview/SubsamplingScaleImageView$OnStateChangedListener;
return-void
.end method
.method public final setOrientation(I)V
.registers 5
.line 1
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_ORIENTATIONS:Ljava/util/List;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_19
.line 2
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->orientation:I
const/4 p1, 0x0
.line 3
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->reset(Z)V
.line 4
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
.line 5
invoke-virtual {p0}, Landroid/view/View;->requestLayout()V
return-void
.line 6
:cond_19
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid orientation: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final setPanEnabled(Z)V
.registers 6
.line 1
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panEnabled:Z
if-nez p1, :cond_3f
.line 2
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-eqz p1, :cond_3f
.line 3
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
int-to-float v0, v0
const/high16 v1, 0x40000000 # 2.0f
div-float/2addr v0, v1
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth()I
move-result v3
int-to-float v3, v3
div-float/2addr v3, v1
mul-float v2, v2, v3
sub-float/2addr v0, v2
iput v0, p1, Landroid/graphics/PointF;->x:F
.line 4
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v0
int-to-float v0, v0
div-float/2addr v0, v1
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->scale:F
invoke-direct {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight()I
move-result v3
int-to-float v3, v3
div-float/2addr v3, v1
mul-float v2, v2, v3
sub-float/2addr v0, v2
iput v0, p1, Landroid/graphics/PointF;->y:F
.line 5
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result p1
if-eqz p1, :cond_3f
const/4 p1, 0x1
.line 6
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V
.line 7
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
:cond_3f
return-void
.end method
.method public final setPanLimit(I)V
.registers 5
.line 1
sget-object v0, Lio/rong/subscaleview/SubsamplingScaleImageView;->VALID_PAN_LIMITS:Ljava/util/List;
invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->contains(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_1c
.line 2
iput p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->panLimit:I
.line 3
invoke-virtual {p0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->isReady()Z
move-result p1
if-eqz p1, :cond_1b
const/4 p1, 0x1
.line 4
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fitToBounds(Z)V
.line 5
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
:cond_1b
return-void
.line 6
:cond_1c
new-instance v0, Ljava/lang/IllegalArgumentException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Invalid pan limit: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public final setQuickScaleEnabled(Z)V
.registers 2
.line 1
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->quickScaleEnabled:Z
return-void
.end method
.method public final setRegionDecoderClass(Ljava/lang/Class;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"+",
"Lio/rong/subscaleview/decoder/ImageRegionDecoder;",
">;)V"
}
.end annotation
if-eqz p1, :cond_a
.line 1
new-instance v0, Lio/rong/subscaleview/decoder/CompatDecoderFactory;
invoke-direct {v0, p1}, Lio/rong/subscaleview/decoder/CompatDecoderFactory;-><init>(Ljava/lang/Class;)V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->regionDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
return-void
.line 2
:cond_a
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Decoder class cannot be set to null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final setRegionDecoderFactory(Lio/rong/subscaleview/decoder/DecoderFactory;)V
.registers 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/rong/subscaleview/decoder/DecoderFactory<",
"+",
"Lio/rong/subscaleview/decoder/ImageRegionDecoder;",
">;)V"
}
.end annotation
if-eqz p1, :cond_5
.line 1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->regionDecoderFactory:Lio/rong/subscaleview/decoder/DecoderFactory;
return-void
.line 2
:cond_5
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Decoder factory cannot be set to null"
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public final setScaleAndCenter(FLandroid/graphics/PointF;)V
.registers 4
const/4 v0, 0x0
.line 1
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->anim:Lio/rong/subscaleview/SubsamplingScaleImageView$Anim;
.line 2
invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object p1
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float;
.line 3
iput-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF;
.line 4
iput-object p2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF;
.line 5
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method
.method public final setTileBackgroundColor(I)V
.registers 4
.line 1
invoke-static {p1}, Landroid/graphics/Color;->alpha(I)I
move-result v0
if-nez v0, :cond_a
const/4 p1, 0x0
.line 2
iput-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
goto :goto_1d
.line 3
:cond_a
new-instance v0, Landroid/graphics/Paint;
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
iput-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
.line 4
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
sget-object v1, Landroid/graphics/Paint$Style;->FILL:Landroid/graphics/Paint$Style;
invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
.line 5
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint;
invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColor(I)V
.line 6
:goto_1d
invoke-virtual {p0}, Landroid/view/View;->invalidate()V
return-void
.end method
.method public final setZoomEnabled(Z)V
.registers 2
.line 1
iput-boolean p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->zoomEnabled:Z
return-void
.end method
.method public final sourceToViewCoord(FF)Landroid/graphics/PointF;
.registers 4
.line 2
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0}, Landroid/graphics/PointF;-><init>()V
invoke-virtual {p0, p1, p2, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object p1
return-object p1
.end method
.method public final sourceToViewCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 5
.line 4
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-nez v0, :cond_6
const/4 p1, 0x0
return-object p1
.line 5
:cond_6
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewX(F)F
move-result p1
invoke-direct {p0, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewY(F)F
move-result p2
invoke-virtual {p3, p1, p2}, Landroid/graphics/PointF;->set(FF)V
return-object p3
.end method
.method public final sourceToViewCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 4
.line 1
iget v0, p1, Landroid/graphics/PointF;->x:F
iget p1, p1, Landroid/graphics/PointF;->y:F
new-instance v1, Landroid/graphics/PointF;
invoke-direct {v1}, Landroid/graphics/PointF;-><init>()V
invoke-virtual {p0, v0, p1, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object p1
return-object p1
.end method
.method public final sourceToViewCoord(Landroid/graphics/PointF;Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 4
.line 3
iget v0, p1, Landroid/graphics/PointF;->x:F
iget p1, p1, Landroid/graphics/PointF;->y:F
invoke-virtual {p0, v0, p1, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->sourceToViewCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object p1
return-object p1
.end method
.method public suitMaxScaleWithSize(II)V
.registers 10
.line 1
invoke-static {}, Lio/rong/subscaleview/Utils;->getMaxLoader()I
move-result v0
if-ge p1, v0, :cond_5a
if-ge p2, v0, :cond_5a
.line 2
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0}, Lio/rong/subscaleview/Utils;->getScreenHeight(Landroid/content/Context;)I
move-result v0
.line 3
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object v1
invoke-static {v1}, Lio/rong/subscaleview/Utils;->getScreenWidth(Landroid/content/Context;)I
move-result v1
int-to-float v0, v0
const/high16 v2, 0x3f800000 # 1.0f
mul-float v0, v0, v2
int-to-float p2, p2
div-float/2addr v0, p2
int-to-float p2, v1
mul-float p2, p2, v2
int-to-float p1, p1
div-float/2addr p2, p1
.line 4
invoke-static {p2, v0}, Ljava/lang/Math;->max(FF)F
move-result p1
const/high16 v1, 0x41200000 # 10.0f
mul-float v2, p1, v1
.line 5
invoke-virtual {p0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMaxScale(F)V
const/high16 v2, 0x40000000 # 2.0f
mul-float p1, p1, v2
.line 6
invoke-virtual {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setDoubleTapZoomScale(F)V
div-float p1, p2, v0
float-to-double v3, p1
const-wide/high16 v5, 0x3ff8000000000000L # 1.5
cmpl-double p1, v3, v5
if-ltz p1, :cond_5a
mul-float v1, v1, p2
.line 7
invoke-virtual {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setMaxScale(F)V
.line 8
new-instance p1, Landroid/graphics/PointF;
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
int-to-float v0, v0
div-float/2addr v0, p2
div-float/2addr v0, v2
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
int-to-float v1, v1
div-float/2addr v1, p2
div-float/2addr v1, v2
invoke-direct {p1, v0, v1}, Landroid/graphics/PointF;-><init>(FF)V
.line 9
invoke-virtual {p0, p2, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->setScaleAndCenter(FLandroid/graphics/PointF;)V
:cond_5a
return-void
.end method
.method public viewToFileRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.registers 7
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-eqz v0, :cond_5a
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->readySent:Z
if-nez v0, :cond_9
goto :goto_5a
.line 2
:cond_9
iget v0, p1, Landroid/graphics/Rect;->left:I
int-to-float v0, v0
.line 3
invoke-direct {p0, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceX(F)F
move-result v0
float-to-int v0, v0
iget v1, p1, Landroid/graphics/Rect;->top:I
int-to-float v1, v1
.line 4
invoke-direct {p0, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceY(F)F
move-result v1
float-to-int v1, v1
iget v2, p1, Landroid/graphics/Rect;->right:I
int-to-float v2, v2
.line 5
invoke-direct {p0, v2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceX(F)F
move-result v2
float-to-int v2, v2
iget p1, p1, Landroid/graphics/Rect;->bottom:I
int-to-float p1, p1
.line 6
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceY(F)F
move-result p1
float-to-int p1, p1
.line 7
invoke-virtual {p2, v0, v1, v2, p1}, Landroid/graphics/Rect;->set(IIII)V
.line 8
invoke-direct {p0, p2, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->fileSRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
.line 9
iget p1, p2, Landroid/graphics/Rect;->left:I
const/4 v0, 0x0
.line 10
invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I
move-result p1
iget v1, p2, Landroid/graphics/Rect;->top:I
.line 11
invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I
move-result v0
iget v1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sWidth:I
iget v2, p2, Landroid/graphics/Rect;->right:I
.line 12
invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I
move-result v1
iget v2, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sHeight:I
iget v3, p2, Landroid/graphics/Rect;->bottom:I
.line 13
invoke-static {v2, v3}, Ljava/lang/Math;->min(II)I
move-result v2
.line 14
invoke-virtual {p2, p1, v0, v1, v2}, Landroid/graphics/Rect;->set(IIII)V
.line 15
iget-object p1, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect;
if-eqz p1, :cond_5a
.line 16
iget v0, p1, Landroid/graphics/Rect;->left:I
iget p1, p1, Landroid/graphics/Rect;->top:I
invoke-virtual {p2, v0, p1}, Landroid/graphics/Rect;->offset(II)V
:cond_5a
:goto_5a
return-void
.end method
.method public final viewToSourceCoord(FF)Landroid/graphics/PointF;
.registers 4
.line 2
new-instance v0, Landroid/graphics/PointF;
invoke-direct {v0}, Landroid/graphics/PointF;-><init>()V
invoke-virtual {p0, p1, p2, v0}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object p1
return-object p1
.end method
.method public final viewToSourceCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 5
.line 4
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-nez v0, :cond_6
const/4 p1, 0x0
return-object p1
.line 5
:cond_6
invoke-direct {p0, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceX(F)F
move-result p1
invoke-direct {p0, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceY(F)F
move-result p2
invoke-virtual {p3, p1, p2}, Landroid/graphics/PointF;->set(FF)V
return-object p3
.end method
.method public final viewToSourceCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 4
.line 1
iget v0, p1, Landroid/graphics/PointF;->x:F
iget p1, p1, Landroid/graphics/PointF;->y:F
new-instance v1, Landroid/graphics/PointF;
invoke-direct {v1}, Landroid/graphics/PointF;-><init>()V
invoke-virtual {p0, v0, p1, v1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object p1
return-object p1
.end method
.method public final viewToSourceCoord(Landroid/graphics/PointF;Landroid/graphics/PointF;)Landroid/graphics/PointF;
.registers 4
.line 3
iget v0, p1, Landroid/graphics/PointF;->x:F
iget p1, p1, Landroid/graphics/PointF;->y:F
invoke-virtual {p0, v0, p1, p2}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToSourceCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF;
move-result-object p1
return-object p1
.end method
.method public visibleFileRect(Landroid/graphics/Rect;)V
.registers 5
.line 1
iget-object v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF;
if-eqz v0, :cond_18
iget-boolean v0, p0, Lio/rong/subscaleview/SubsamplingScaleImageView;->readySent:Z
if-nez v0, :cond_9
goto :goto_18
.line 2
:cond_9
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
move-result v0
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
move-result v1
const/4 v2, 0x0
invoke-virtual {p1, v2, v2, v0, v1}, Landroid/graphics/Rect;->set(IIII)V
.line 3
invoke-virtual {p0, p1, p1}, Lio/rong/subscaleview/SubsamplingScaleImageView;->viewToFileRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
:cond_18
:goto_18
return-void
.end method