.class public Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView; .super Landroid/view/View; .source "SubsamplingScaleImageView.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$BitmapLoadTask;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$TilesInitTask;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$TileLoadTask;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnStateChangedListener;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$DefaultOnStateChangedListener;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$DefaultOnImageEventListener;, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$DefaultOnAnimationEventListener; } .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 private static final TAG:Ljava/lang/String; = "SubsamplingScaleImageView" .field public static TILE_SIZE_AUTO:I = 0x0 .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 # instance fields .field private anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .field private bitmap:Landroid/graphics/Bitmap; .field private bitmapDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/luck/picture/lib/widget/longimage/DecoderFactory<", "+", "Lcom/luck/picture/lib/widget/longimage/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 debugPaint:Landroid/graphics/Paint; .field private decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; .field private final decoderLock:Ljava/lang/Object; .field private density:F .field private detector:Landroid/view/GestureDetector; .field private doubleTapZoomDuration:I .field private doubleTapZoomScale:F .field private doubleTapZoomStyle:I .field private dstArray:[F .field private fullImageSampleSize:I .field private 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:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; .field private onLongClickListener:Landroid/view/View$OnLongClickListener; .field private onStateChangedListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnStateChangedListener; .field private orientation:I .field private pRegion:Landroid/graphics/Rect; .field private panEnabled:Z .field private panLimit:I .field private parallelLoadingEnabled:Z .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:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; .annotation system Ldalvik/annotation/Signature; value = { "Lcom/luck/picture/lib/widget/longimage/DecoderFactory<", "+", "Lcom/luck/picture/lib/widget/longimage/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:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; .field private scale:F .field private scaleStart:F .field private 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<", "Lcom/luck/picture/lib/widget/longimage/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 ()V .registers 10 const/4 v0, 0x5 .line 91 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 .line 100 invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v4 .line 91 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 .line 100 invoke-static {v5}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v6 .line 91 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 .line 100 invoke-static {v7}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v8 .line 91 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->VALID_ORIENTATIONS:Ljava/util/List; .line 100 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->VALID_ZOOM_STYLES:Ljava/util/List; .line 107 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->VALID_EASING_STYLES:Ljava/util/List; .line 116 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->VALID_PAN_LIMITS:Ljava/util/List; .line 125 new-array v0, v7, [Ljava/lang/Integer; aput-object v6, v0, v1 aput-object v4, 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->VALID_SCALE_TYPES:Ljava/util/List; const v0, 0x7fffffff .line 176 sput v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->TILE_SIZE_AUTO:I return-void .end method .method public constructor (Landroid/content/Context;)V .registers 3 const/4 v0, 0x0 .line 332 invoke-direct {p0, p1, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->(Landroid/content/Context;Landroid/util/AttributeSet;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .registers 7 .line 282 invoke-direct {p0, p1, p2}, Landroid/view/View;->(Landroid/content/Context;Landroid/util/AttributeSet;)V const/4 v0, 0x0 .line 158 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->orientation:I const/high16 v1, 0x40000000 # 2.0f .line 161 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxScale:F .line 164 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale()F move-result v1 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale:F const/4 v1, -0x1 .line 167 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minimumTileDpi:I const/4 v1, 0x1 .line 170 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panLimit:I .line 173 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minimumScaleType:I .line 177 sget v2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->TILE_SIZE_AUTO:I iput v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileWidth:I .line 178 iput v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileHeight:I .line 184 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z .line 185 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->zoomEnabled:Z .line 186 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleEnabled:Z const/high16 v2, 0x3f800000 # 1.0f .line 189 iput v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomScale:F .line 190 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomStyle:I const/16 v2, 0x1f4 .line 191 iput v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomDuration:I .line 228 new-instance v2, Ljava/lang/Object; invoke-direct {v2}, Ljava/lang/Object;->()V iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoderLock:Ljava/lang/Object; .line 229 new-instance v2, Lcom/luck/picture/lib/widget/longimage/CompatDecoderFactory; const-class v3, Lcom/luck/picture/lib/widget/longimage/SkiaImageDecoder; invoke-direct {v2, v3}, Lcom/luck/picture/lib/widget/longimage/CompatDecoderFactory;->(Ljava/lang/Class;)V iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; .line 230 new-instance v2, Lcom/luck/picture/lib/widget/longimage/CompatDecoderFactory; const-class v3, Lcom/luck/picture/lib/widget/longimage/SkiaImageRegionDecoder; invoke-direct {v2, v3}, Lcom/luck/picture/lib/widget/longimage/CompatDecoderFactory;->(Ljava/lang/Class;)V iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->regionDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; const/16 v2, 0x8 .line 274 new-array v3, v2, [F iput-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->srcArray:[F .line 275 new-array v2, v2, [F iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->dstArray:[F .line 283 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getResources()Landroid/content/res/Resources; move-result-object v2 invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v2 iget v2, v2, Landroid/util/DisplayMetrics;->density:F iput v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->density:F const/16 v2, 0xa0 .line 284 invoke-virtual {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMinimumDpi(I)V .line 285 invoke-virtual {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setDoubleTapZoomDpi(I)V .line 286 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setGestureDetector(Landroid/content/Context;)V .line 287 new-instance v2, Landroid/os/Handler; new-instance v3, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1; invoke-direct {v3, p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)V invoke-direct {v2, v3}, Landroid/os/Handler;->(Landroid/os/Handler$Callback;)V iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->handler:Landroid/os/Handler; if-eqz p2, :cond_107 .line 300 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getContext()Landroid/content/Context; move-result-object v2 sget-object v3, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView:[I invoke-virtual {v2, p2, v3}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray; move-result-object p2 .line 301 sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_assetName:I invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result v2 if-eqz v2, :cond_a1 .line 302 sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_assetName:I invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String; move-result-object v2 if-eqz v2, :cond_a1 .line 303 invoke-virtual {v2}, Ljava/lang/String;->length()I move-result v3 if-lez v3, :cond_a1 .line 304 invoke-static {v2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->asset(Ljava/lang/String;)Lcom/luck/picture/lib/widget/longimage/ImageSource; move-result-object v2 invoke-virtual {v2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->tilingEnabled()Lcom/luck/picture/lib/widget/longimage/ImageSource; move-result-object v2 invoke-virtual {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;)V .line 307 :cond_a1 sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_src:I invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result v2 if-eqz v2, :cond_bc .line 308 sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_src:I invoke-virtual {p2, v2, v0}, Landroid/content/res/TypedArray;->getResourceId(II)I move-result v2 if-lez v2, :cond_bc .line 310 invoke-static {v2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->resource(I)Lcom/luck/picture/lib/widget/longimage/ImageSource; move-result-object v2 invoke-virtual {v2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->tilingEnabled()Lcom/luck/picture/lib/widget/longimage/ImageSource; move-result-object v2 invoke-virtual {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;)V .line 313 :cond_bc sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_panEnabled:I invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result v2 if-eqz v2, :cond_cd .line 314 sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_panEnabled:I invoke-virtual {p2, v2, v1}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v2 invoke-virtual {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setPanEnabled(Z)V .line 316 :cond_cd sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_zoomEnabled:I invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result v2 if-eqz v2, :cond_de .line 317 sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_zoomEnabled:I invoke-virtual {p2, v2, v1}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v2 invoke-virtual {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setZoomEnabled(Z)V .line 319 :cond_de sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_quickScaleEnabled:I invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result v2 if-eqz v2, :cond_ef .line 320 sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_quickScaleEnabled:I invoke-virtual {p2, v2, v1}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v2 invoke-virtual {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setQuickScaleEnabled(Z)V .line 322 :cond_ef sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_tileBackgroundColor:I invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result v2 if-eqz v2, :cond_104 .line 323 sget v2, Lcom/luck/picture/lib/R$styleable;->SubsamplingScaleImageView_tileBackgroundColor:I invoke-static {v0, v0, v0, v0}, Landroid/graphics/Color;->argb(IIII)I move-result v0 invoke-virtual {p2, v2, v0}, Landroid/content/res/TypedArray;->getColor(II)I move-result v0 invoke-virtual {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setTileBackgroundColor(I)V .line 325 :cond_104 invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V .line 328 :cond_107 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 p2, 0x41a00000 # 20.0f invoke-static {v1, p2, p1}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F move-result p1 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleThreshold:F return-void .end method .method static synthetic access$000(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Landroid/view/View$OnLongClickListener; .registers 1 .line 76 iget-object p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onLongClickListener:Landroid/view/View$OnLongClickListener; return-object p0 .end method .method static synthetic access$1000(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)F .registers 1 .line 76 iget p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F return p0 .end method .method static synthetic access$102(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;I)I .registers 2 .line 76 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I return p1 .end method .method static synthetic access$1400(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Z .registers 1 .line 76 iget-boolean p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->zoomEnabled:Z return p0 .end method .method static synthetic access$1500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/content/Context;)V .registers 2 .line 76 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setGestureDetector(Landroid/content/Context;)V return-void .end method .method static synthetic access$1600(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Z .registers 1 .line 76 iget-boolean p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleEnabled:Z return p0 .end method .method static synthetic access$1700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Landroid/graphics/PointF; .registers 1 .line 76 iget-object p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; return-object p0 .end method .method static synthetic access$1702(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF; .registers 2 .line 76 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; return-object p1 .end method .method static synthetic access$1802(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF; .registers 2 .line 76 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; return-object p1 .end method .method static synthetic access$1902(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;F)F .registers 2 .line 76 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F return p1 .end method .method static synthetic access$2002(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Z)Z .registers 2 .line 76 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isQuickScaling:Z return p1 .end method .method static synthetic access$201(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/view/View$OnLongClickListener;)V .registers 2 .line 76 invoke-super {p0, p1}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V return-void .end method .method static synthetic access$2102(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;F)F .registers 2 .line 76 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleLastDistance:F return p1 .end method .method static synthetic access$2200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Landroid/graphics/PointF; .registers 1 .line 76 iget-object p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF; return-object p0 .end method .method static synthetic access$2202(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF; .registers 2 .line 76 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF; return-object p1 .end method .method static synthetic access$2302(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF; .registers 2 .line 76 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF; return-object p1 .end method .method static synthetic access$2402(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/PointF;)Landroid/graphics/PointF; .registers 2 .line 76 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleVLastPoint:Landroid/graphics/PointF; return-object p1 .end method .method static synthetic access$2502(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Z)Z .registers 2 .line 76 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleMoved:Z return p1 .end method .method static synthetic access$2600(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/PointF;Landroid/graphics/PointF;)V .registers 3 .line 76 invoke-direct {p0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoom(Landroid/graphics/PointF;Landroid/graphics/PointF;)V return-void .end method .method static synthetic access$301(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/view/View$OnLongClickListener;)V .registers 2 .line 76 invoke-super {p0, p1}, Landroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V return-void .end method .method static synthetic access$5100(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Ljava/lang/String;[Ljava/lang/Object;)V .registers 3 .line 76 invoke-direct {p0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V return-void .end method .method static synthetic access$5200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/content/Context;Ljava/lang/String;)I .registers 3 .line 76 invoke-direct {p0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getExifOrientation(Landroid/content/Context;Ljava/lang/String;)I move-result p0 return p0 .end method .method static synthetic access$5300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Landroid/graphics/Rect; .registers 1 .line 76 iget-object p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect; return-object p0 .end method .method static synthetic access$5400()Ljava/lang/String; .registers 1 .line 76 sget-object v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->TAG:Ljava/lang/String; return-object v0 .end method .method static synthetic access$5500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;III)V .registers 5 .line 76 invoke-direct {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onTilesInited(Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;III)V return-void .end method .method static synthetic access$5600(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; .registers 1 .line 76 iget-object p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageEventListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; return-object p0 .end method .method static synthetic access$5700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Ljava/lang/Object; .registers 1 .line 76 iget-object p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoderLock:Ljava/lang/Object; return-object p0 .end method .method static synthetic access$5800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/Rect;Landroid/graphics/Rect;)V .registers 3 .line 76 invoke-direct {p0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fileSRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V return-void .end method .method static synthetic access$5900(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)V .registers 1 .line 76 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onTileLoaded()V return-void .end method .method static synthetic access$600(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Z .registers 1 .line 76 iget-boolean p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z return p0 .end method .method static synthetic access$6000(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/Bitmap;)V .registers 2 .line 76 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onPreviewLoaded(Landroid/graphics/Bitmap;)V return-void .end method .method static synthetic access$6100(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/Bitmap;IZ)V .registers 4 .line 76 invoke-direct {p0, p1, p2, p3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageLoaded(Landroid/graphics/Bitmap;IZ)V return-void .end method .method static synthetic access$6300()Ljava/util/List; .registers 1 .line 76 sget-object v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->VALID_EASING_STYLES:Ljava/util/List; return-object v0 .end method .method static synthetic access$6400(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .registers 1 .line 76 iget-object p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; return-object p0 .end method .method static synthetic access$6402(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .registers 2 .line 76 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; return-object p1 .end method .method static synthetic access$6500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;F)F .registers 2 .line 76 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->limitedScale(F)F move-result p0 return p0 .end method .method static synthetic access$6600(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;FFFLandroid/graphics/PointF;)Landroid/graphics/PointF; .registers 5 .line 76 invoke-direct {p0, p1, p2, p3, p4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->limitedSCenter(FFFLandroid/graphics/PointF;)Landroid/graphics/PointF; move-result-object p0 return-object p0 .end method .method static synthetic access$6800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;ZLcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)V .registers 3 .line 76 invoke-direct {p0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(ZLcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)V return-void .end method .method static synthetic access$700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Z .registers 1 .line 76 iget-boolean p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->readySent:Z return p0 .end method .method static synthetic access$800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Landroid/graphics/PointF; .registers 1 .line 76 iget-object p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; return-object p0 .end method .method static synthetic access$900(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;)Z .registers 1 .line 76 iget-boolean p0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z return p0 .end method .method static synthetic access$902(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Z)Z .registers 2 .line 76 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z return p1 .end method .method private calculateInSampleSize(F)I .registers 5 .line 1322 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minimumTileDpi:I if-lez v0, :cond_19 .line 1323 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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 1324 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 1325 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minimumTileDpi:I int-to-float v0, v0 div-float/2addr v0, v1 mul-float/2addr p1, v0 .line 1328 :cond_19 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v0 int-to-float v0, v0 mul-float/2addr v0, p1 float-to-int v0, v0 .line 1329 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v1 int-to-float v1, v1 mul-float/2addr v1, p1 float-to-int p1, v1 if-eqz v0, :cond_5d if-nez p1, :cond_2c goto :goto_5d .line 1337 :cond_2c invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v1 const/4 v2, 0x1 if-gt v1, p1, :cond_3c invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v1 if-le v1, v0, :cond_3a goto :goto_3c :cond_3a move p1, v2 goto :goto_56 .line 1340 :cond_3c :goto_3c invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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 1341 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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_55 goto :goto_56 :cond_55 move p1, v0 :goto_56 mul-int/lit8 v0, v2, 0x2 if-ge v0, p1, :cond_5c move v2, v0 goto :goto_56 :cond_5c return v2 :cond_5d :goto_5d const/16 p1, 0x20 return p1 .end method .method private checkImageLoaded()Z .registers 3 .line 1167 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isBaseLayerReady()Z move-result v0 .line 1168 iget-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->imageLoadedSent:Z if-nez v1, :cond_1a if-eqz v0, :cond_1a .line 1169 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->preDraw()V const/4 v1, 0x1 .line 1170 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->imageLoadedSent:Z .line 1171 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageLoaded()V .line 1172 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageEventListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; if-eqz v1, :cond_1a .line 1173 invoke-interface {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener;->onImageLoaded()V :cond_1a return v0 .end method .method private checkReady()Z .registers 4 .line 1150 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 const/4 v1, 0x1 if-lez v0, :cond_21 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v0 if-lez v0, :cond_21 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I if-lez v0, :cond_21 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I if-lez v0, :cond_21 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-nez v0, :cond_1f invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isBaseLayerReady()Z move-result v0 if-eqz v0, :cond_21 :cond_1f move v0, v1 goto :goto_22 :cond_21 const/4 v0, 0x0 .line 1151 :goto_22 iget-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->readySent:Z if-nez v2, :cond_37 if-eqz v0, :cond_37 .line 1152 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->preDraw()V .line 1153 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->readySent:Z .line 1154 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onReady()V .line 1155 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageEventListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; if-eqz v1, :cond_37 .line 1156 invoke-interface {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener;->onReady()V :cond_37 return v0 .end method .method private createPaints()V .registers 3 .line 1183 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint; if-nez v0, :cond_19 .line 1184 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;->()V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint; const/4 v1, 0x1 .line 1185 invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setAntiAlias(Z)V .line 1186 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint; invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setFilterBitmap(Z)V .line 1187 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint; invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setDither(Z)V .line 1189 :cond_19 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; if-nez v0, :cond_3c iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug:Z if-eqz v0, :cond_3c .line 1190 new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;->()V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; const/high16 v1, 0x41900000 # 18.0f .line 1191 invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setTextSize(F)V .line 1192 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; const v1, -0xff01 invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V .line 1193 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; sget-object v1, Landroid/graphics/Paint$Style;->STROKE:Landroid/graphics/Paint$Style; invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V :cond_3c return-void .end method .method private varargs debug(Ljava/lang/String;[Ljava/lang/Object;)V .registers 4 .line 2224 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug:Z if-eqz v0, :cond_d .line 2225 sget-object v0, Lcom/luck/picture/lib/widget/longimage/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/2addr p1, p1 mul-float/2addr p3, p3 add-float/2addr p1, p3 float-to-double p1, p1 .line 1989 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 15 .line 899 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z const/4 v1, 0x2 if-nez v0, :cond_24 .line 900 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; if-eqz v0, :cond_14 .line 902 iget v0, v0, Landroid/graphics/PointF;->x:F iput v0, p1, Landroid/graphics/PointF;->x:F .line 903 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; iget v0, v0, Landroid/graphics/PointF;->y:F iput v0, p1, Landroid/graphics/PointF;->y:F goto :goto_24 .line 906 :cond_14 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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 907 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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 910 :cond_24 :goto_24 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxScale:F iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomScale:F invoke-static {v0, v2}, Ljava/lang/Math;->min(FF)F move-result v0 .line 911 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F float-to-double v2, v2 float-to-double v4, v0 const-wide v6, 0x3feccccccccccccdL # 0.9 mul-double/2addr v4, v6 cmpg-double v2, v2, v4 const/4 v3, 0x1 const/4 v4, 0x0 if-gtz v2, :cond_3e move v2, v3 goto :goto_3f :cond_3e move v2, v4 :goto_3f if-eqz v2, :cond_42 goto :goto_46 .line 912 :cond_42 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale()F move-result v0 :goto_46 move v7, v0 .line 913 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomStyle:I const/4 v5, 0x3 if-ne v0, v5, :cond_50 .line 914 invoke-virtual {p0, v7, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setScaleAndCenter(FLandroid/graphics/PointF;)V goto :goto_91 :cond_50 const/4 v11, 0x4 if-eq v0, v1, :cond_79 if-eqz v2, :cond_79 .line 915 iget-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z if-nez v1, :cond_5a goto :goto_79 :cond_5a if-ne v0, v3, :cond_91 .line 918 new-instance v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; const/4 v10, 0x0 move-object v5, v0 move-object v6, p0 move-object v8, p1 move-object v9, p2 invoke-direct/range {v5 .. v10}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;FLandroid/graphics/PointF;Landroid/graphics/PointF;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V invoke-virtual {v0, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->withInterruptible(Z)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; move-result-object p1 iget p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomDuration:I int-to-long v0, p2 invoke-virtual {p1, v0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->withDuration(J)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; move-result-object p1 # invokes: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->withOrigin(I)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; invoke-static {p1, v11}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->access$1300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;I)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; move-result-object p1 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->start()V goto :goto_91 .line 916 :cond_79 :goto_79 new-instance p2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; const/4 v0, 0x0 invoke-direct {p2, p0, v7, p1, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;FLandroid/graphics/PointF;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V invoke-virtual {p2, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->withInterruptible(Z)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; move-result-object p1 iget p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomDuration:I int-to-long v0, p2 invoke-virtual {p1, v0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->withDuration(J)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; move-result-object p1 # invokes: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->withOrigin(I)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; invoke-static {p1, v11}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->access$1300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;I)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; move-result-object p1 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->start()V .line 920 :cond_91 :goto_91 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V return-void .end method .method private ease(IJFFJ)F .registers 15 const/4 v0, 0x1 if-eq p1, v0, :cond_25 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 2180 invoke-direct/range {v0 .. v6}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->easeInOutQuad(JFFJ)F move-result p1 return p1 .line 2184 :cond_10 new-instance p2, Ljava/lang/IllegalStateException; new-instance p3, Ljava/lang/StringBuilder; const-string p4, "Unexpected easing type: " invoke-direct {p3, p4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p2, p1}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p2 :cond_25 move-object v0, p0 move-wide v1, p2 move v3, p4 move v4, p5 move-wide v5, p6 .line 2182 invoke-direct/range {v0 .. v6}, Lcom/luck/picture/lib/widget/longimage/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_11 div-float/2addr p4, p5 mul-float/2addr p4, p1 :goto_e mul-float/2addr p4, p1 add-float/2addr p4, p3 return p4 :cond_11 sub-float/2addr p1, p2 neg-float p4, p4 div-float/2addr p4, p5 sub-float p5, p1, p5 mul-float/2addr p1, p5 sub-float/2addr p1, p2 goto :goto_e .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/2addr p2, p1 const/high16 p4, 0x40000000 # 2.0f sub-float/2addr p1, p4 mul-float/2addr p2, p1 add-float/2addr p2, p3 return p2 .end method .method private execute(Landroid/os/AsyncTask;)V .registers 10 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/os/AsyncTask<", "Ljava/lang/Void;", "Ljava/lang/Void;", "*>;)V" } .end annotation .line 1822 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->parallelLoadingEnabled:Z const/4 v1, 0x0 if-eqz v0, :cond_38 .line 1824 :try_start_5 const-class v0, Landroid/os/AsyncTask; const-string v2, "THREAD_POOL_EXECUTOR" invoke-virtual {v0, v2}, Ljava/lang/Class;->getField(Ljava/lang/String;)Ljava/lang/reflect/Field; move-result-object v0 const/4 v2, 0x0 .line 1825 invoke-virtual {v0, v2}, Ljava/lang/reflect/Field;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/concurrent/Executor; .line 1826 const-class v3, Landroid/os/AsyncTask; const-string v4, "executeOnExecutor" const/4 v5, 0x2 new-array v5, v5, [Ljava/lang/Class; const-class v6, Ljava/util/concurrent/Executor; aput-object v6, v5, v1 const-class v6, [Ljava/lang/Object; const/4 v7, 0x1 aput-object v6, v5, v7 invoke-virtual {v3, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v3 .line 1827 filled-new-array {v0, v2}, [Ljava/lang/Object; move-result-object v0 invoke-virtual {v3, p1, v0}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; :try_end_2f .catch Ljava/lang/Exception; {:try_start_5 .. :try_end_2f} :catch_30 return-void :catch_30 move-exception v0 .line 1830 sget-object v2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->TAG:Ljava/lang/String; const-string v3, "Failed to execute AsyncTask on thread pool executor, falling back to single threaded executor" invoke-static {v2, v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I .line 1833 :cond_38 new-array v0, v1, [Ljava/lang/Void; invoke-virtual {p1, v0}, Landroid/os/AsyncTask;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask; return-void .end method .method private fileSRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)V .registers 7 .line 1960 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v0 if-nez v0, :cond_a .line 1961 invoke-virtual {p2, p1}, Landroid/graphics/Rect;->set(Landroid/graphics/Rect;)V goto :goto_55 .line 1962 :cond_a invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v0 const/16 v1, 0x5a if-ne v0, v1, :cond_24 .line 1963 iget v0, p1, Landroid/graphics/Rect;->top:I iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I iget v2, p1, Landroid/graphics/Rect;->right:I sub-int/2addr v1, v2 iget v2, p1, Landroid/graphics/Rect;->bottom:I iget v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I iget p1, p1, Landroid/graphics/Rect;->left:I sub-int/2addr v3, p1 invoke-virtual {p2, v0, v1, v2, v3}, Landroid/graphics/Rect;->set(IIII)V goto :goto_55 .line 1964 :cond_24 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v0 const/16 v1, 0xb4 if-ne v0, v1, :cond_44 .line 1965 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I iget v1, p1, Landroid/graphics/Rect;->right:I sub-int/2addr v0, v1 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I iget v2, p1, Landroid/graphics/Rect;->bottom:I sub-int/2addr v1, v2 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I iget v3, p1, Landroid/graphics/Rect;->left:I sub-int/2addr v2, v3 iget v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I iget p1, p1, Landroid/graphics/Rect;->top:I sub-int/2addr v3, p1 invoke-virtual {p2, v0, v1, v2, v3}, Landroid/graphics/Rect;->set(IIII)V goto :goto_55 .line 1967 :cond_44 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I iget v1, p1, Landroid/graphics/Rect;->bottom:I sub-int/2addr v0, v1 iget v1, p1, Landroid/graphics/Rect;->left:I iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I iget v3, p1, Landroid/graphics/Rect;->top:I sub-int/2addr v2, v3 iget p1, p1, Landroid/graphics/Rect;->right:I invoke-virtual {p2, v0, v1, v2, p1}, Landroid/graphics/Rect;->set(IIII)V :goto_55 return-void .end method .method private fitToBounds(Z)V .registers 7 .line 1416 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; const/4 v1, 0x0 if-nez v0, :cond_e .line 1418 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0, v1, v1}, Landroid/graphics/PointF;->(FF)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; const/4 v0, 0x1 goto :goto_f :cond_e const/4 v0, 0x0 .line 1420 :goto_f iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; if-nez v2, :cond_20 .line 1421 new-instance v2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; new-instance v3, Landroid/graphics/PointF; invoke-direct {v3, v1, v1}, Landroid/graphics/PointF;->(FF)V const/4 v4, 0x0 invoke-direct {v2, v1, v3, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->(FLandroid/graphics/PointF;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; .line 1423 :cond_20 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F invoke-static {v1, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4702(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;F)F .line 1424 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF; invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF; move-result-object v1 iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {v1, v2}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V .line 1425 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; invoke-direct {p0, p1, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(ZLcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)V .line 1426 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F invoke-static {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)F move-result p1 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 1427 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF; invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lcom/luck/picture/lib/widget/longimage/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_65 .line 1429 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v0 div-int/lit8 v0, v0, 0x2 int-to-float v0, v0 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v1 div-int/lit8 v1, v1, 0x2 int-to-float v1, v1 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0, v0, v1, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateForSCenter(FFF)Landroid/graphics/PointF; move-result-object v0 invoke-virtual {p1, v0}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V :cond_65 return-void .end method .method private fitToBounds(ZLcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)V .registers 14 .line 1366 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panLimit:I const/4 v1, 0x0 const/4 v2, 0x2 if-ne v0, v2, :cond_d invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result v0 if-eqz v0, :cond_d move p1, v1 .line 1370 :cond_d # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF; invoke-static {p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF; move-result-object v0 .line 1371 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F invoke-static {p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)F move-result v3 invoke-direct {p0, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->limitedScale(F)F move-result v3 .line 1372 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v4 int-to-float v4, v4 mul-float/2addr v4, v3 .line 1373 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v5 int-to-float v5, v5 mul-float/2addr v5, v3 .line 1375 iget v6, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panLimit:I const/4 v7, 0x3 if-ne v6, v7, :cond_4f invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result v6 if-eqz v6, :cond_4f .line 1376 iget v6, v0, Landroid/graphics/PointF;->x:F invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v8 div-int/2addr v8, v2 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 1377 iget v6, v0, Landroid/graphics/PointF;->y:F invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v8 div-int/2addr v8, v2 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_80 :cond_4f if-eqz p1, :cond_6e .line 1379 iget v6, v0, Landroid/graphics/PointF;->x:F invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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 1380 iget v6, v0, Landroid/graphics/PointF;->y:F invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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_80 .line 1382 :cond_6e 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 1383 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 1387 :goto_80 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingLeft()I move-result v6 const/high16 v8, 0x3f000000 # 0.5f if-gtz v6, :cond_91 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingRight()I move-result v6 if-lez v6, :cond_8f goto :goto_91 :cond_8f move v6, v8 goto :goto_a1 :cond_91 :goto_91 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingLeft()I move-result v6 int-to-float v6, v6 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingLeft()I move-result v9 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingRight()I move-result v10 add-int/2addr v9, v10 int-to-float v9, v9 div-float/2addr v6, v9 .line 1388 :goto_a1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingTop()I move-result v9 if-gtz v9, :cond_ad invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingBottom()I move-result v9 if-lez v9, :cond_bd :cond_ad invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingTop()I move-result v8 int-to-float v8, v8 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingTop()I move-result v9 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingBottom()I move-result v10 add-int/2addr v9, v10 int-to-float v9, v9 div-float/2addr v8, v9 .line 1392 :cond_bd iget v9, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panLimit:I if-ne v9, v7, :cond_db invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result v7 if-eqz v7, :cond_db .line 1393 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result p1 div-int/2addr p1, v2 invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I move-result p1 int-to-float p1, p1 .line 1394 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v4 div-int/2addr v4, v2 invoke-static {v1, v4}, Ljava/lang/Math;->max(II)I move-result v1 goto :goto_106 :cond_db if-eqz p1, :cond_f5 .line 1396 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result p1 int-to-float p1, p1 sub-float/2addr p1, v4 mul-float/2addr p1, v6 const/4 v1, 0x0 invoke-static {v1, p1}, Ljava/lang/Math;->max(FF)F move-result p1 .line 1397 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v2 int-to-float v2, v2 sub-float/2addr v2, v5 mul-float/2addr v2, v8 invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F move-result v1 goto :goto_107 .line 1399 :cond_f5 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result p1 invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I move-result p1 int-to-float p1, p1 .line 1400 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v2 invoke-static {v1, v2}, Ljava/lang/Math;->max(II)I move-result v1 :goto_106 int-to-float v1, v1 .line 1403 :goto_107 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 1404 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 1406 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F invoke-static {p2, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4702(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;F)F return-void .end method .method private getExifOrientation(Landroid/content/Context;Ljava/lang/String;)I .registers 14 const-string v0, "Unsupported orientation: " const-string v1, "Unsupported EXIF orientation: " .line 1777 const-string v2, "content" invoke-virtual {p2, v2}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v2 const/4 v3, 0x1 const/4 v4, 0x0 if-eqz v2, :cond_6c const/4 v1, 0x0 .line 1780 :try_start_f new-array v7, v3, [Ljava/lang/String; const-string v2, "orientation" aput-object v2, v7, v4 .line 1781 invoke-virtual {p1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v5 invoke-static {p2}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v6 const/4 v9, 0x0 const/4 v10, 0x0 const/4 v8, 0x0 invoke-virtual/range {v5 .. v10}, 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 v1 if-eqz v1, :cond_53 .line 1783 invoke-interface {v1}, Landroid/database/Cursor;->moveToFirst()Z move-result p1 if-eqz p1, :cond_53 .line 1784 invoke-interface {v1, v4}, Landroid/database/Cursor;->getInt(I)I move-result p1 .line 1785 sget-object p2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->VALID_ORIENTATIONS:Ljava/util/List; invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-interface {p2, v2}, Ljava/util/List;->contains(Ljava/lang/Object;)Z move-result p2 if-eqz p2, :cond_41 const/4 p2, -0x1 if-eq p1, p2, :cond_41 move v4, p1 goto :goto_53 .line 1788 :cond_41 sget-object p2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->TAG:Ljava/lang/String; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, 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_53 .catch Ljava/lang/Exception; {:try_start_f .. :try_end_53} :catch_5c .catchall {:try_start_f .. :try_end_53} :catchall_5a :cond_53 :goto_53 if-eqz v1, :cond_c3 .line 1796 :goto_55 invoke-interface {v1}, Landroid/database/Cursor;->close()V goto/16 :goto_c3 :catchall_5a move-exception p1 goto :goto_66 .line 1793 :catch_5c :try_start_5c sget-object p1, Lcom/luck/picture/lib/widget/longimage/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_63 .catchall {:try_start_5c .. :try_end_63} :catchall_5a if-eqz v1, :cond_c3 goto :goto_55 :goto_66 if-eqz v1, :cond_6b .line 1796 invoke-interface {v1}, Landroid/database/Cursor;->close()V .line 1798 :cond_6b throw p1 .line 1799 :cond_6c const-string p1, "file:///" invoke-virtual {p2, p1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v0 if-eqz v0, :cond_c3 const-string v0, "file:///android_asset/" invoke-virtual {p2, v0}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z move-result v0 if-nez v0, :cond_c3 .line 1801 :try_start_7c new-instance v0, Landroid/media/ExifInterface; invoke-virtual {p1}, Ljava/lang/String;->length()I move-result p1 sub-int/2addr p1, v3 invoke-virtual {p2, p1}, Ljava/lang/String;->substring(I)Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Landroid/media/ExifInterface;->(Ljava/lang/String;)V .line 1802 const-string p1, "Orientation" invoke-virtual {v0, p1, v3}, Landroid/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I move-result p1 if-eq p1, v3, :cond_c3 if-nez p1, :cond_95 goto :goto_c3 :cond_95 const/4 p2, 0x6 if-ne p1, p2, :cond_9c const/16 p1, 0x5a :goto_9a move v4, p1 goto :goto_c3 :cond_9c const/4 p2, 0x3 if-ne p1, p2, :cond_a2 const/16 p1, 0xb4 goto :goto_9a :cond_a2 const/16 p2, 0x8 if-ne p1, p2, :cond_a9 const/16 p1, 0x10e goto :goto_9a .line 1812 :cond_a9 sget-object p2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->TAG:Ljava/lang/String; new-instance v0, Ljava/lang/StringBuilder; invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, 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_bb .catch Ljava/lang/Exception; {:try_start_7c .. :try_end_bb} :catch_bc goto :goto_c3 .line 1815 :catch_bc sget-object p1, Lcom/luck/picture/lib/widget/longimage/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_c3 :goto_c3 return v4 .end method .method private getMaxBitmapDimensions(Landroid/graphics/Canvas;)Landroid/graphics/Point; .registers 8 const/16 v0, 0x800 .line 1918 :try_start_2 const-class v1, Landroid/graphics/Canvas; const-string v2, "getMaximumBitmapWidth" const/4 v3, 0x0 new-array v4, v3, [Ljava/lang/Class; invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v1 new-array v2, v3, [Ljava/lang/Object; invoke-virtual {v1, p1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/Integer; invoke-virtual {v1}, Ljava/lang/Integer;->intValue()I move-result v1 :try_end_19 .catch Ljava/lang/Exception; {:try_start_2 .. :try_end_19} :catch_30 .line 1919 :try_start_19 const-class v2, Landroid/graphics/Canvas; const-string v4, "getMaximumBitmapHeight" new-array v5, v3, [Ljava/lang/Class; invoke-virtual {v2, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v2 new-array v3, v3, [Ljava/lang/Object; invoke-virtual {v2, p1, v3}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object p1 check-cast p1, Ljava/lang/Integer; invoke-virtual {p1}, Ljava/lang/Integer;->intValue()I move-result v0 :try_end_2f .catch Ljava/lang/Exception; {:try_start_19 .. :try_end_2f} :catch_31 goto :goto_31 :catch_30 move v1, v0 .line 1924 :catch_31 :goto_31 new-instance p1, Landroid/graphics/Point; iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileWidth:I invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I move-result v1 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileHeight:I invoke-static {v0, v2}, Ljava/lang/Math;->min(II)I move-result v0 invoke-direct {p1, v1, v0}, Landroid/graphics/Point;->(II)V return-object p1 .end method .method private getRequiredRotation()I .registers 3 .line 1976 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->orientation:I const/4 v1, -0x1 if-ne v0, v1, :cond_7 .line 1977 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sOrientation:I :cond_7 return v0 .end method .method private declared-synchronized initialiseBaseLayer(Landroid/graphics/Point;)V .registers 12 monitor-enter p0 .line 1202 :try_start_1 const-string v0, "initialiseBaseLayer maxTileDimensions=%dx%d" iget v1, p1, Landroid/graphics/Point;->x:I invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 iget v2, p1, Landroid/graphics/Point;->y:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 filled-new-array {v1, v2}, [Ljava/lang/Object; move-result-object v1 invoke-direct {p0, v0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V .line 1204 new-instance v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; new-instance v1, Landroid/graphics/PointF; const/4 v2, 0x0 invoke-direct {v1, v2, v2}, Landroid/graphics/PointF;->(FF)V const/4 v3, 0x0 invoke-direct {v0, v2, v1, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->(FLandroid/graphics/PointF;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; const/4 v1, 0x1 .line 1205 invoke-direct {p0, v1, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(ZLcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)V .line 1209 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F invoke-static {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)F move-result v0 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->calculateInSampleSize(F)I move-result v0 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-le v0, v1, :cond_3a .line 1211 div-int/lit8 v0, v0, 0x2 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I .line 1214 :cond_3a iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-ne v0, v1, :cond_6d iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect; if-nez v0, :cond_6d invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v0 iget v2, p1, Landroid/graphics/Point;->x:I if-ge v0, v2, :cond_6d invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v0 iget v2, p1, Landroid/graphics/Point;->y:I if-ge v0, v2, :cond_6d .line 1218 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; invoke-interface {p1}, Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;->recycle()V .line 1219 iput-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; .line 1220 new-instance p1, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$BitmapLoadTask; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getContext()Landroid/content/Context; move-result-object v6 iget-object v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; iget-object v8, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->uri:Landroid/net/Uri; const/4 v9, 0x0 move-object v4, p1 move-object v5, p0 invoke-direct/range {v4 .. v9}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$BitmapLoadTask;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/content/Context;Lcom/luck/picture/lib/widget/longimage/DecoderFactory;Landroid/net/Uri;Z)V .line 1221 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V goto :goto_9c .line 1225 :cond_6d invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->initialiseTileMap(Landroid/graphics/Point;)V .line 1227 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; iget v0, p0, Lcom/luck/picture/lib/widget/longimage/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 1228 invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_82 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_99 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile; .line 1229 new-instance v2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$TileLoadTask; iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; invoke-direct {v2, p0, v3, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$TileLoadTask;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)V .line 1230 invoke-direct {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V goto :goto_82 .line 1232 :cond_99 invoke-direct {p0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V :try_end_9c .catchall {:try_start_1 .. :try_end_9c} :catchall_9e .line 1236 :goto_9c monitor-exit p0 return-void :catchall_9e move-exception p1 :try_start_9f monitor-exit p0 :try_end_a0 .catchall {:try_start_9f .. :try_end_a0} :catchall_9e throw p1 .end method .method private initialiseTileMap(Landroid/graphics/Point;)V .registers 18 move-object/from16 v0, p0 move-object/from16 v1, p1 .line 1437 iget v2, v1, Landroid/graphics/Point;->x:I invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 iget v3, v1, Landroid/graphics/Point;->y:I invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v3 filled-new-array {v2, v3}, [Ljava/lang/Object; move-result-object v2 const-string v3, "initialiseTileMap maxTileDimensions=%dx%d" invoke-direct {v0, v3, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V .line 1438 new-instance v2, Ljava/util/LinkedHashMap; invoke-direct {v2}, Ljava/util/LinkedHashMap;->()V iput-object v2, v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; .line 1439 iget v2, v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I const/4 v3, 0x1 move v4, v3 move v5, v4 .line 1443 :goto_25 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v6 div-int/2addr v6, v4 .line 1444 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v7 div-int/2addr v7, v5 .line 1445 div-int v8, v6, v2 .line 1446 div-int v9, v7, v2 :goto_33 add-int v10, v8, v4 add-int/2addr v10, v3 .line 1447 iget v11, v1, Landroid/graphics/Point;->x:I if-gt v10, v11, :cond_e6 int-to-double v10, v8 invoke-virtual/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v8 int-to-double v12, v8 const-wide/high16 v14, 0x3ff4000000000000L # 1.25 mul-double/2addr v12, v14 cmpl-double v8, v10, v12 if-lez v8, :cond_4d iget v8, v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-ge v2, v8, :cond_4d goto/16 :goto_e6 :cond_4d :goto_4d add-int v8, v9, v5 add-int/2addr v8, v3 .line 1452 iget v10, v1, Landroid/graphics/Point;->y:I if-gt v8, v10, :cond_db int-to-double v8, v9 invoke-virtual/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v10 int-to-double v10, v10 mul-double/2addr v10, v14 cmpl-double v8, v8, v10 if-lez v8, :cond_65 iget v8, v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-ge v2, v8, :cond_65 goto/16 :goto_db .line 1457 :cond_65 new-instance v8, Ljava/util/ArrayList; mul-int v9, v4, v5 invoke-direct {v8, v9}, Ljava/util/ArrayList;->(I)V const/4 v10, 0x0 :goto_6d if-ge v10, v4, :cond_ca const/4 v11, 0x0 :goto_70 if-ge v11, v5, :cond_c5 .line 1460 new-instance v12, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile; const/4 v13, 0x0 invoke-direct {v12, v13}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V .line 1461 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sampleSize:I invoke-static {v12, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4302(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;I)I .line 1462 iget v13, v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-ne v2, v13, :cond_81 move v13, v3 goto :goto_82 :cond_81 const/4 v13, 0x0 :goto_82 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->visible:Z invoke-static {v12, v13}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$402(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Z)Z .line 1463 new-instance v13, Landroid/graphics/Rect; mul-int v14, v10, v6 mul-int v15, v11, v7 add-int/lit8 v3, v4, -0x1 if-ne v10, v3, :cond_94 .line 1466 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v3 goto :goto_97 :cond_94 add-int/lit8 v3, v10, 0x1 mul-int/2addr v3, v6 :goto_97 add-int/lit8 v9, v5, -0x1 if-ne v11, v9, :cond_a0 .line 1467 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v9 goto :goto_a3 :cond_a0 add-int/lit8 v9, v11, 0x1 mul-int/2addr v9, v7 :goto_a3 invoke-direct {v13, v14, v15, v3, v9}, Landroid/graphics/Rect;->(IIII)V .line 1463 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static {v12, v13}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4102(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Landroid/graphics/Rect;)Landroid/graphics/Rect; .line 1469 new-instance v3, Landroid/graphics/Rect; const/4 v9, 0x0 invoke-direct {v3, v9, v9, v9, v9}, Landroid/graphics/Rect;->(IIII)V # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static {v12, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4202(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Landroid/graphics/Rect;)Landroid/graphics/Rect; .line 1470 new-instance v3, Landroid/graphics/Rect; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static {v12}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v13 invoke-direct {v3, v13}, Landroid/graphics/Rect;->(Landroid/graphics/Rect;)V # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->fileSRect:Landroid/graphics/Rect; invoke-static {v12, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$5002(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Landroid/graphics/Rect;)Landroid/graphics/Rect; .line 1471 invoke-interface {v8, v12}, Ljava/util/List;->add(Ljava/lang/Object;)Z add-int/lit8 v11, v11, 0x1 const/4 v3, 0x1 goto :goto_70 :cond_c5 const/4 v9, 0x0 add-int/lit8 v10, v10, 0x1 const/4 v3, 0x1 goto :goto_6d .line 1474 :cond_ca iget-object v3, v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; invoke-static {v2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v6 invoke-interface {v3, v6, v8}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; const/4 v3, 0x1 if-ne v2, v3, :cond_d7 return-void .line 1478 :cond_d7 div-int/lit8 v2, v2, 0x2 goto/16 :goto_25 :cond_db :goto_db add-int/lit8 v5, v5, 0x1 .line 1454 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v7 div-int/2addr v7, v5 .line 1455 div-int v9, v7, v2 goto/16 :goto_4d :cond_e6 :goto_e6 add-int/lit8 v4, v4, 0x1 .line 1449 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v6 div-int/2addr v6, v4 .line 1450 div-int v8, v6, v2 goto/16 :goto_33 .end method .method private isBaseLayerReady()Z .registers 7 .line 1126 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; const/4 v1, 0x1 if-eqz v0, :cond_a iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z if-nez v0, :cond_a return v1 .line 1128 :cond_a iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; const/4 v2, 0x0 if-eqz v0, :cond_56 .line 1130 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 1131 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-ne v4, v5, :cond_17 .line 1132 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile; .line 1133 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->loading:Z invoke-static {v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4000(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z move-result v5 if-nez v5, :cond_53 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v4 if-nez v4, :cond_3b :cond_53 move v1, v2 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 2135 invoke-direct {p0, p1, p2, p3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateForSCenter(FFF)Landroid/graphics/PointF; move-result-object p1 .line 2136 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingLeft()I move-result p2 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingRight()I move-result v1 sub-int/2addr v0, v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingLeft()I move-result v1 sub-int/2addr v0, v1 div-int/lit8 v0, v0, 0x2 add-int/2addr p2, v0 .line 2137 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingTop()I move-result v0 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingBottom()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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 2138 iget v1, p1, Landroid/graphics/PointF;->x:F sub-float/2addr p2, v1 div-float/2addr p2, p3 int-to-float v0, v0 .line 2139 iget p1, p1, Landroid/graphics/PointF;->y:F sub-float/2addr v0, p1 div-float/2addr v0, p3 .line 2140 invoke-virtual {p4, p2, v0}, Landroid/graphics/PointF;->set(FF)V return-object p4 .end method .method private limitedScale(F)F .registers 3 .line 2163 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale()F move-result v0 invoke-static {v0, p1}, Ljava/lang/Math;->max(FF)F move-result p1 .line 2164 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/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 2148 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingBottom()I move-result v0 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingTop()I move-result v1 add-int/2addr v0, v1 .line 2149 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingLeft()I move-result v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingRight()I move-result v2 add-int/2addr v1, v2 .line 2150 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minimumScaleType:I const/4 v3, 0x2 if-ne v2, v3, :cond_34 .line 2151 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v2 sub-int/2addr v2, v1 int-to-float v1, v2 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v2 int-to-float v2, v2 div-float/2addr v1, v2 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v2 sub-int/2addr v2, v0 int-to-float v0, v2 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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 :cond_34 const/4 v3, 0x3 if-ne v2, v3, :cond_3f .line 2152 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale:F const/4 v3, 0x0 cmpl-float v3, v2, v3 if-lez v3, :cond_3f return v2 .line 2155 :cond_3f invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v2 sub-int/2addr v2, v1 int-to-float v1, v2 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v2 int-to-float v2, v2 div-float/2addr v1, v2 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v2 sub-int/2addr v2, v0 int-to-float v0, v2 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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 .end method .method private declared-synchronized onImageLoaded(Landroid/graphics/Bitmap;IZ)V .registers 7 monitor-enter p0 .line 1743 :try_start_1 const-string v0, "onImageLoaded" const/4 v1, 0x0 new-array v2, v1, [Ljava/lang/Object; invoke-direct {p0, v0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V .line 1745 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I if-lez v0, :cond_22 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I if-lez v2, :cond_22 invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I move-result v2 if-ne v0, v2, :cond_1f iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I move-result v2 if-eq v0, v2, :cond_22 .line 1746 :cond_1f invoke-direct {p0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->reset(Z)V .line 1748 :cond_22 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-eqz v0, :cond_2d iget-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z if-nez v2, :cond_2d .line 1749 invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V .line 1752 :cond_2d iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-eqz v0, :cond_3c iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z if-eqz v0, :cond_3c iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageEventListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; if-eqz v0, :cond_3c .line 1753 invoke-interface {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener;->onPreviewReleased()V .line 1756 :cond_3c iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z .line 1757 iput-boolean p3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z .line 1758 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; .line 1759 invoke-virtual {p1}, Landroid/graphics/Bitmap;->getWidth()I move-result p3 iput p3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I .line 1760 invoke-virtual {p1}, Landroid/graphics/Bitmap;->getHeight()I move-result p1 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I .line 1761 iput p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sOrientation:I .line 1762 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->checkReady()Z move-result p1 .line 1763 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->checkImageLoaded()Z move-result p2 if-nez p1, :cond_5c if-eqz p2, :cond_62 .line 1765 :cond_5c invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V .line 1766 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->requestLayout()V :try_end_62 .catchall {:try_start_1 .. :try_end_62} :catchall_64 .line 1768 :cond_62 monitor-exit p0 return-void :catchall_64 move-exception p1 :try_start_65 monitor-exit p0 :try_end_66 .catchall {:try_start_65 .. :try_end_66} :catchall_64 throw p1 .end method .method private declared-synchronized onPreviewLoaded(Landroid/graphics/Bitmap;)V .registers 6 monitor-enter p0 .line 1722 :try_start_1 const-string v0, "onPreviewLoaded" const/4 v1, 0x0 new-array v1, v1, [Ljava/lang/Object; invoke-direct {p0, v0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V .line 1723 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-nez v0, :cond_42 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->imageLoadedSent:Z if-eqz v0, :cond_12 goto :goto_42 .line 1727 :cond_12 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect; if-eqz v0, :cond_2f .line 1728 iget v0, v0, Landroid/graphics/Rect;->left:I iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect; iget v1, v1, Landroid/graphics/Rect;->top:I iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect; invoke-virtual {v2}, Landroid/graphics/Rect;->width()I move-result v2 iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; goto :goto_31 .line 1730 :cond_2f iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; :goto_31 const/4 p1, 0x1 .line 1732 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z .line 1733 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->checkReady()Z move-result p1 if-eqz p1, :cond_40 .line 1734 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V .line 1735 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->requestLayout()V :try_end_40 .catchall {:try_start_1 .. :try_end_40} :catchall_47 .line 1737 :cond_40 monitor-exit p0 return-void .line 1724 :cond_42 :goto_42 :try_start_42 invoke-virtual {p1}, Landroid/graphics/Bitmap;->recycle()V :try_end_45 .catchall {:try_start_42 .. :try_end_45} :catchall_47 .line 1725 monitor-exit p0 return-void :catchall_47 move-exception p1 :try_start_48 monitor-exit p0 :try_end_49 .catchall {:try_start_48 .. :try_end_49} :catchall_47 throw p1 .end method .method private declared-synchronized onTileLoaded()V .registers 4 monitor-enter p0 .line 1638 :try_start_1 const-string v0, "onTileLoaded" const/4 v1, 0x0 new-array v2, v1, [Ljava/lang/Object; invoke-direct {p0, v0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V .line 1639 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->checkReady()Z .line 1640 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->checkImageLoaded()Z .line 1641 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isBaseLayerReady()Z move-result v0 if-eqz v0, :cond_32 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-eqz v0, :cond_32 .line 1642 iget-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z if-nez v2, :cond_20 .line 1643 invoke-virtual {v0}, Landroid/graphics/Bitmap;->recycle()V :cond_20 const/4 v0, 0x0 .line 1645 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; .line 1646 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageEventListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; if-eqz v0, :cond_2e iget-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z if-eqz v2, :cond_2e .line 1647 invoke-interface {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener;->onPreviewReleased()V .line 1649 :cond_2e iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z .line 1650 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z .line 1652 :cond_32 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V :try_end_35 .catchall {:try_start_1 .. :try_end_35} :catchall_37 .line 1653 monitor-exit p0 return-void :catchall_37 move-exception v0 :try_start_38 monitor-exit p0 :try_end_39 .catchall {:try_start_38 .. :try_end_39} :catchall_37 throw v0 .end method .method private declared-synchronized onTilesInited(Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;III)V .registers 9 monitor-enter p0 .line 1545 :try_start_1 const-string v0, "onTilesInited sWidth=%d, sHeight=%d, sOrientation=%d" invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v1 invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 iget v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->orientation:I invoke-static {v3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v3 filled-new-array {v1, v2, v3}, [Ljava/lang/Object; move-result-object v1 invoke-direct {p0, v0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V .line 1547 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I if-lez v0, :cond_45 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I if-lez v1, :cond_45 if-ne v0, p2, :cond_24 if-eq v1, p3, :cond_45 :cond_24 const/4 v0, 0x0 .line 1548 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->reset(Z)V .line 1549 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-eqz v1, :cond_45 .line 1550 iget-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z if-nez v2, :cond_33 .line 1551 invoke-virtual {v1}, Landroid/graphics/Bitmap;->recycle()V :cond_33 const/4 v1, 0x0 .line 1553 iput-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; .line 1554 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageEventListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; if-eqz v1, :cond_41 iget-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z if-eqz v2, :cond_41 .line 1555 invoke-interface {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener;->onPreviewReleased()V .line 1557 :cond_41 iput-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z .line 1558 iput-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z .line 1561 :cond_45 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; .line 1562 iput p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I .line 1563 iput p3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I .line 1564 iput p4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sOrientation:I .line 1565 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->checkReady()Z .line 1566 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->checkImageLoaded()Z move-result p1 if-nez p1, :cond_7c iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileWidth:I if-lez p1, :cond_7c sget p2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->TILE_SIZE_AUTO:I if-eq p1, p2, :cond_7c iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileHeight:I if-lez p1, :cond_7c if-eq p1, p2, :cond_7c invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result p1 if-lez p1, :cond_7c invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result p1 if-lez p1, :cond_7c .line 1567 new-instance p1, Landroid/graphics/Point; iget p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileWidth:I iget p3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileHeight:I invoke-direct {p1, p2, p3}, Landroid/graphics/Point;->(II)V invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->initialiseBaseLayer(Landroid/graphics/Point;)V .line 1569 :cond_7c invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V .line 1570 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->requestLayout()V :try_end_82 .catchall {:try_start_1 .. :try_end_82} :catchall_84 .line 1571 monitor-exit p0 return-void :catchall_84 move-exception p1 :try_start_85 monitor-exit p0 :try_end_86 .catchall {:try_start_85 .. :try_end_86} :catchall_84 throw p1 .end method .method private onTouchEventInternal(Landroid/view/MotionEvent;)Z .registers 14 .line 660 invoke-virtual {p1}, Landroid/view/MotionEvent;->getPointerCount()I move-result v0 .line 661 invoke-virtual {p1}, Landroid/view/MotionEvent;->getAction()I move-result v1 const/high16 v2, 0x40000000 # 2.0f const/4 v3, 0x2 const/4 v4, 0x0 const/4 v5, 0x1 if-eqz v1, :cond_433 if-eq v1, v5, :cond_3c5 if-eq v1, v3, :cond_23 const/4 v6, 0x5 if-eq v1, v6, :cond_433 const/4 v6, 0x6 if-eq v1, v6, :cond_3c5 const/16 v6, 0x105 if-eq v1, v6, :cond_433 const/16 v2, 0x106 if-eq v1, v2, :cond_3c5 goto/16 :goto_3c4 .line 693 :cond_23 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I if-lez v1, :cond_3c4 const/high16 v1, 0x40a00000 # 5.0f if-lt v0, v3, :cond_185 .line 696 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 v6 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F move-result v7 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F move-result v8 invoke-direct {p0, v0, v6, v7, v8}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->distance(FFFF)F move-result v0 .line 697 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F move-result v6 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F move-result v7 add-float/2addr v6, v7 div-float/2addr v6, v2 .line 698 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F move-result v7 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr v7, p1 div-float/2addr v7, v2 .line 700 iget-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->zoomEnabled:Z if-eqz p1, :cond_3c4 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget p1, p1, Landroid/graphics/PointF;->x:F iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->y:F invoke-direct {p0, p1, v6, v2, v7}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->distance(FFFF)F move-result p1 cmpl-float p1, p1, v1 if-gtz p1, :cond_77 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/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_77 iget-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z if-eqz p1, :cond_3c4 .line 701 :cond_77 iput-boolean v5, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z .line 702 iput-boolean v5, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z .line 705 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F float-to-double v1, p1 .line 706 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxScale:F iget v8, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vDistStart:F div-float v8, v0, v8 iget v9, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F mul-float/2addr v8, v9 invoke-static {p1, v8}, Ljava/lang/Math;->min(FF)F move-result p1 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 708 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale()F move-result v8 cmpg-float p1, p1, v8 if-gtz p1, :cond_ab .line 710 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vDistStart:F .line 711 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale()F move-result p1 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F .line 712 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; invoke-virtual {p1, v6, v7}, Landroid/graphics/PointF;->set(FF)V .line 713 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p1, v0}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V goto/16 :goto_17d .line 714 :cond_ab iget-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z if-eqz p1, :cond_12c .line 717 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget p1, p1, Landroid/graphics/PointF;->x:F iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->x:F sub-float/2addr p1, v3 .line 718 iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->y:F iget-object v8, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget v8, v8, Landroid/graphics/PointF;->y:F sub-float/2addr v3, v8 .line 719 iget v8, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget v9, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F div-float v10, v8, v9 mul-float/2addr p1, v10 div-float/2addr v8, v9 mul-float/2addr v3, v8 .line 721 iget-object v8, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; sub-float p1, v6, p1 iput p1, v8, Landroid/graphics/PointF;->x:F .line 722 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; sub-float v3, v7, v3 iput v3, p1, Landroid/graphics/PointF;->y:F .line 723 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result p1 int-to-double v8, p1 mul-double/2addr v8, v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result p1 int-to-double v10, p1 cmpg-double p1, v8, v10 if-gez p1, :cond_f6 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v3 int-to-float v3, v3 mul-float/2addr p1, v3 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v3 int-to-float v3, v3 cmpl-float p1, p1, v3 if-gez p1, :cond_116 :cond_f6 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result p1 int-to-double v8, p1 mul-double/2addr v1, v8 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result p1 int-to-double v8, p1 cmpg-double p1, v1, v8 if-gez p1, :cond_17d iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v1 int-to-float v1, v1 mul-float/2addr p1, v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v1 int-to-float v1, v1 cmpl-float p1, p1, v1 if-ltz p1, :cond_17d .line 724 :cond_116 invoke-direct {p0, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 725 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; invoke-virtual {p1, v6, v7}, Landroid/graphics/PointF;->set(FF)V .line 726 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p1, v1}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V .line 727 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F .line 728 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vDistStart:F goto :goto_17d .line 730 :cond_12c iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; if-eqz p1, :cond_155 .line 732 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 div-int/2addr v0, v3 int-to-float v0, v0 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->x:F mul-float/2addr v1, v2 sub-float/2addr v0, v1 iput v0, p1, Landroid/graphics/PointF;->x:F .line 733 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v0 div-int/2addr v0, v3 int-to-float v0, v0 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->y:F mul-float/2addr v1, v2 sub-float/2addr v0, v1 iput v0, p1, Landroid/graphics/PointF;->y:F goto :goto_17d .line 736 :cond_155 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 div-int/2addr v0, v3 int-to-float v0, v0 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v2 div-int/2addr v2, v3 int-to-float v2, v2 mul-float/2addr v1, v2 sub-float/2addr v0, v1 iput v0, p1, Landroid/graphics/PointF;->x:F .line 737 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v0 div-int/2addr v0, v3 int-to-float v0, v0 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v2 div-int/2addr v2, v3 int-to-float v2, v2 mul-float/2addr v1, v2 sub-float/2addr v0, v1 iput v0, p1, Landroid/graphics/PointF;->y:F .line 740 :cond_17d :goto_17d invoke-direct {p0, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 741 invoke-direct {p0, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V goto/16 :goto_3bb .line 743 :cond_185 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isQuickScaling:Z if-eqz v0, :cond_2e2 .line 746 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/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/2addr v0, v2 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleThreshold:F add-float/2addr v0, v1 .line 748 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleLastDistance:F const/high16 v2, -0x40800000 # -1.0f cmpl-float v1, v1, v2 if-nez v1, :cond_1a4 .line 749 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleLastDistance:F .line 751 :cond_1a4 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v1 iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleVLastPoint:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->y:F cmpl-float v1, v1, v2 if-lez v1, :cond_1b2 move v1, v5 goto :goto_1b3 :cond_1b2 move v1, v4 .line 752 :goto_1b3 iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/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 754 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/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/2addr p1, v7 const v7, 0x3cf5c28f # 0.03f cmpl-float v7, p1, v7 if-gtz v7, :cond_1d7 .line 756 iget-boolean v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleMoved:Z if-eqz v7, :cond_2d8 .line 757 :cond_1d7 iput-boolean v5, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleMoved:Z .line 760 iget v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleLastDistance:F cmpl-float v7, v7, v6 if-lez v7, :cond_1e5 if-eqz v1, :cond_1e4 add-float/2addr p1, v2 move v2, p1 goto :goto_1e5 :cond_1e4 sub-float/2addr v2, p1 .line 764 :cond_1e5 :goto_1e5 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F float-to-double v7, p1 .line 765 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale()F move-result p1 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxScale:F iget v9, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F mul-float/2addr 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 767 iget-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z if-eqz p1, :cond_287 .line 768 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget p1, p1, Landroid/graphics/PointF;->x:F iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget v1, v1, Landroid/graphics/PointF;->x:F sub-float/2addr p1, v1 .line 769 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v1, v1, Landroid/graphics/PointF;->y:F iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->y:F sub-float/2addr v1, v2 .line 770 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F div-float v9, v2, v3 mul-float/2addr p1, v9 div-float/2addr v2, v3 mul-float/2addr v1, v2 .line 772 iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->x:F sub-float/2addr v3, p1 iput v3, v2, Landroid/graphics/PointF;->x:F .line 773 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->y:F sub-float/2addr v2, v1 iput v2, p1, Landroid/graphics/PointF;->y:F .line 774 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result p1 int-to-double v1, p1 mul-double/2addr v1, v7 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result p1 int-to-double v9, p1 cmpg-double p1, v1, v9 if-gez p1, :cond_24c iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v1 int-to-float v1, v1 mul-float/2addr p1, v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v1 int-to-float v1, v1 cmpl-float p1, p1, v1 if-gez p1, :cond_26c :cond_24c invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result p1 int-to-double v1, p1 mul-double/2addr v7, v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result p1 int-to-double v1, p1 cmpg-double p1, v7, v1 if-gez p1, :cond_2d8 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v1 int-to-float v1, v1 mul-float/2addr p1, v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v1 int-to-float v1, v1 cmpl-float p1, p1, v1 if-ltz p1, :cond_2d8 .line 775 :cond_26c invoke-direct {p0, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 776 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF; invoke-virtual {p0, v0}, Lcom/luck/picture/lib/widget/longimage/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 777 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p1, v0}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V .line 778 iget p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F move v0, v6 goto :goto_2d8 .line 781 :cond_287 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; if-eqz p1, :cond_2b0 .line 783 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v1 div-int/2addr v1, v3 int-to-float v1, v1 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget-object v6, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; iget v6, v6, Landroid/graphics/PointF;->x:F mul-float/2addr v2, v6 sub-float/2addr v1, v2 iput v1, p1, Landroid/graphics/PointF;->x:F .line 784 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v1 div-int/2addr v1, v3 int-to-float v1, v1 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->y:F mul-float/2addr v2, v3 sub-float/2addr v1, v2 iput v1, p1, Landroid/graphics/PointF;->y:F goto :goto_2d8 .line 787 :cond_2b0 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v1 div-int/2addr v1, v3 int-to-float v1, v1 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v6 div-int/2addr v6, v3 int-to-float v6, v6 mul-float/2addr v2, v6 sub-float/2addr v1, v2 iput v1, p1, Landroid/graphics/PointF;->x:F .line 788 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v1 div-int/2addr v1, v3 int-to-float v1, v1 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v6 div-int/2addr v6, v3 int-to-float v3, v6 mul-float/2addr v2, v3 sub-float/2addr v1, v2 iput v1, p1, Landroid/graphics/PointF;->y:F .line 792 :cond_2d8 :goto_2d8 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleLastDistance:F .line 794 invoke-direct {p0, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 795 invoke-direct {p0, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V goto/16 :goto_3bb .line 798 :cond_2e2 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z if-nez v0, :cond_3c4 .line 801 invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v0 iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/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 802 invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result v2 iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/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 805 iget v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->density:F mul-float/2addr v3, v1 cmpl-float v1, v0, v3 if-gtz v1, :cond_30f cmpl-float v6, v2, v3 if-gtz v6, :cond_30f .line 806 iget-boolean v6, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z if-eqz v6, :cond_3c4 .line 808 :cond_30f iget-object v6, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget-object v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget v7, v7, Landroid/graphics/PointF;->x:F invoke-virtual {p1}, Landroid/view/MotionEvent;->getX()F move-result v8 iget-object v9, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v9, v9, Landroid/graphics/PointF;->x:F sub-float/2addr v8, v9 add-float/2addr v7, v8 iput v7, v6, Landroid/graphics/PointF;->x:F .line 809 iget-object v6, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget-object v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget v7, v7, Landroid/graphics/PointF;->y:F invoke-virtual {p1}, Landroid/view/MotionEvent;->getY()F move-result p1 iget-object v8, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v8, v8, Landroid/graphics/PointF;->y:F sub-float/2addr p1, v8 add-float/2addr v7, p1 iput v7, v6, Landroid/graphics/PointF;->y:F .line 811 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget p1, p1, Landroid/graphics/PointF;->x:F .line 812 iget-object v6, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v6, v6, Landroid/graphics/PointF;->y:F .line 813 invoke-direct {p0, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 814 iget-object v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v7, v7, Landroid/graphics/PointF;->x:F cmpl-float p1, p1, v7 if-eqz p1, :cond_348 move p1, v5 goto :goto_349 :cond_348 move p1, v4 .line 815 :goto_349 iget-object v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v7, v7, Landroid/graphics/PointF;->y:F cmpl-float v7, v6, v7 if-eqz v7, :cond_353 move v7, v5 goto :goto_354 :cond_353 move v7, v4 :goto_354 if-eqz p1, :cond_360 cmpl-float v8, v0, v2 if-lez v8, :cond_360 .line 816 iget-boolean v8, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z if-nez v8, :cond_360 move v8, v5 goto :goto_361 :cond_360 move v8, v4 :goto_361 if-eqz v7, :cond_36d cmpl-float v0, v2, v0 if-lez v0, :cond_36d .line 817 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z if-nez v0, :cond_36d move v0, v5 goto :goto_36e :cond_36d move v0, v4 .line 818 :goto_36e iget-object v9, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v9, v9, Landroid/graphics/PointF;->y:F cmpl-float v6, v6, v9 if-nez v6, :cond_37f const/high16 v6, 0x40400000 # 3.0f mul-float/2addr v6, v3 cmpl-float v6, v2, v6 if-lez v6, :cond_37f move v6, v5 goto :goto_380 :cond_37f move v6, v4 :goto_380 if-nez v8, :cond_391 if-nez v0, :cond_391 if-eqz p1, :cond_38e if-eqz v7, :cond_38e if-nez v6, :cond_38e .line 819 iget-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z if-eqz p1, :cond_391 .line 820 :cond_38e iput-boolean v5, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z goto :goto_3a1 :cond_391 if-gtz v1, :cond_397 cmpl-float p1, v2, v3 if-lez p1, :cond_3a1 .line 823 :cond_397 iput v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I .line 824 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->handler:Landroid/os/Handler; invoke-virtual {p1, v5}, Landroid/os/Handler;->removeMessages(I)V .line 825 invoke-direct {p0, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->requestDisallowInterceptTouchEvent(Z)V .line 827 :cond_3a1 :goto_3a1 iget-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z if-nez p1, :cond_3b8 .line 828 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget v0, v0, Landroid/graphics/PointF;->x:F iput v0, p1, Landroid/graphics/PointF;->x:F .line 829 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget v0, v0, Landroid/graphics/PointF;->y:F iput v0, p1, Landroid/graphics/PointF;->y:F .line 830 invoke-direct {p0, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->requestDisallowInterceptTouchEvent(Z)V .line 833 :cond_3b8 invoke-direct {p0, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V .line 838 :goto_3bb iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->handler:Landroid/os/Handler; invoke-virtual {p1, v5}, Landroid/os/Handler;->removeMessages(I)V .line 839 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V return v5 :cond_3c4 :goto_3c4 return v4 .line 846 :cond_3c5 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->handler:Landroid/os/Handler; invoke-virtual {v1, v5}, Landroid/os/Handler;->removeMessages(I)V .line 847 iget-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isQuickScaling:Z if-eqz v1, :cond_3db .line 848 iput-boolean v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isQuickScaling:Z .line 849 iget-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleMoved:Z if-nez v1, :cond_3db .line 850 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF; iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; invoke-direct {p0, v1, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoom(Landroid/graphics/PointF;Landroid/graphics/PointF;)V .line 853 :cond_3db iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I if-lez v1, :cond_42a iget-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z if-nez v1, :cond_3e7 iget-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z if-eqz v2, :cond_42a :cond_3e7 if-eqz v1, :cond_41b if-ne v0, v3, :cond_41b .line 856 iput-boolean v5, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z .line 857 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->x:F iget-object v6, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v6, v6, Landroid/graphics/PointF;->y:F invoke-virtual {v1, v2, v6}, Landroid/graphics/PointF;->set(FF)V .line 858 invoke-virtual {p1}, Landroid/view/MotionEvent;->getActionIndex()I move-result v1 if-ne v1, v5, :cond_40e .line 859 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getX(I)F move-result v2 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F move-result p1 invoke-virtual {v1, v2, p1}, Landroid/graphics/PointF;->set(FF)V goto :goto_41b .line 861 :cond_40e iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getX(I)F move-result v2 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F move-result p1 invoke-virtual {v1, v2, p1}, Landroid/graphics/PointF;->set(FF)V :cond_41b :goto_41b const/4 p1, 0x3 if-ge v0, p1, :cond_420 .line 866 iput-boolean v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z :cond_420 if-ge v0, v3, :cond_426 .line 870 iput-boolean v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z .line 871 iput v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I .line 874 :cond_426 invoke-direct {p0, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V return v5 :cond_42a if-ne v0, v5, :cond_432 .line 878 iput-boolean v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z .line 879 iput-boolean v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z .line 880 iput v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I :cond_432 return v5 :cond_433 const/4 v1, 0x0 .line 665 iput-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .line 666 invoke-direct {p0, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->requestDisallowInterceptTouchEvent(Z)V .line 667 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I invoke-static {v1, v0}, Ljava/lang/Math;->max(II)I move-result v1 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I if-lt v0, v3, :cond_490 .line 669 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->zoomEnabled:Z if-eqz v0, :cond_488 .line 671 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 v3 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F move-result v6 invoke-direct {p0, v0, v1, v3, v6}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->distance(FFFF)F move-result v0 .line 672 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F .line 673 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vDistStart:F .line 674 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v1, v1, Landroid/graphics/PointF;->x:F iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->y:F invoke-virtual {v0, v1, v3}, Landroid/graphics/PointF;->set(FF)V .line 675 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/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 v3 add-float/2addr v1, v3 div-float/2addr v1, v2 invoke-virtual {p1, v4}, Landroid/view/MotionEvent;->getY(I)F move-result v3 invoke-virtual {p1, v5}, Landroid/view/MotionEvent;->getY(I)F move-result p1 add-float/2addr v3, p1 div-float/2addr v3, v2 invoke-virtual {v0, v1, v3}, Landroid/graphics/PointF;->set(FF)V goto :goto_48a .line 678 :cond_488 iput v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I .line 681 :goto_48a iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->handler:Landroid/os/Handler; invoke-virtual {p1, v5}, Landroid/os/Handler;->removeMessages(I)V goto :goto_4b5 .line 682 :cond_490 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isQuickScaling:Z if-nez v0, :cond_4b5 .line 684 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v1, v1, Landroid/graphics/PointF;->x:F iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->y:F invoke-virtual {v0, v1, v2}, Landroid/graphics/PointF;->set(FF)V .line 685 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/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 688 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->handler:Landroid/os/Handler; const-wide/16 v0, 0x258 invoke-virtual {p1, v5, v0, v1}, Landroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z :cond_4b5 :goto_4b5 return v5 .end method .method private preDraw()V .registers 5 .line 1296 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 if-eqz v0, :cond_64 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v0 if-eqz v0, :cond_64 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I if-lez v0, :cond_64 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I if-gtz v0, :cond_15 goto :goto_64 .line 1301 :cond_15 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; if-eqz v0, :cond_60 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float; if-eqz v0, :cond_60 .line 1302 invoke-virtual {v0}, Ljava/lang/Float;->floatValue()F move-result v0 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 1303 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-nez v0, :cond_2e .line 1304 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0}, Landroid/graphics/PointF;->()V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; .line 1306 :cond_2e iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v1 div-int/lit8 v1, v1, 0x2 int-to-float v1, v1 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->x:F mul-float/2addr v2, v3 sub-float/2addr v1, v2 iput v1, v0, Landroid/graphics/PointF;->x:F .line 1307 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v1 div-int/lit8 v1, v1, 0x2 int-to-float v1, v1 iget v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->y:F mul-float/2addr v2, v3 sub-float/2addr v1, v2 iput v1, v0, Landroid/graphics/PointF;->y:F const/4 v0, 0x0 .line 1308 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; .line 1309 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float; const/4 v0, 0x1 .line 1310 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 1311 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V :cond_60 const/4 v0, 0x0 .line 1315 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V :cond_64 :goto_64 return-void .end method .method private refreshRequiredTiles(Z)V .registers 10 .line 1244 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; if-eqz v0, :cond_bd iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; if-nez v0, :cond_a goto/16 :goto_bd .line 1246 :cond_a iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->calculateInSampleSize(F)I move-result v1 invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I move-result v0 .line 1250 iget-object v1, p0, Lcom/luck/picture/lib/widget/longimage/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 1251 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile; .line 1252 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sampleSize:I invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)I move-result v4 const/4 v5, 0x0 const/4 v6, 0x0 if-lt v4, v0, :cond_58 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sampleSize:I invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)I move-result v4 if-le v4, v0, :cond_6b # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sampleSize:I invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)I move-result v4 iget v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-eq v4, v7, :cond_6b .line 1253 :cond_58 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->visible:Z invoke-static {v3, v6}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$402(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Z)Z .line 1254 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v4 if-eqz v4, :cond_6b .line 1255 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v4 invoke-virtual {v4}, Landroid/graphics/Bitmap;->recycle()V .line 1256 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$502(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; .line 1259 :cond_6b # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sampleSize:I invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)I move-result v4 const/4 v7, 0x1 if-ne v4, v0, :cond_b0 .line 1260 invoke-direct {p0, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileVisible(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z move-result v4 if-eqz v4, :cond_94 .line 1261 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->visible:Z invoke-static {v3, v7}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$402(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Z)Z .line 1262 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->loading:Z invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4000(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z move-result v4 if-nez v4, :cond_36 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v4 if-nez v4, :cond_36 if-eqz p1, :cond_36 .line 1263 new-instance v4, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$TileLoadTask; iget-object v5, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; invoke-direct {v4, p0, v5, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$TileLoadTask;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)V .line 1264 invoke-direct {p0, v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V goto :goto_36 .line 1266 :cond_94 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sampleSize:I invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)I move-result v4 iget v7, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-eq v4, v7, :cond_36 .line 1267 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->visible:Z invoke-static {v3, v6}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$402(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Z)Z .line 1268 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v4 if-eqz v4, :cond_36 .line 1269 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v4 invoke-virtual {v4}, Landroid/graphics/Bitmap;->recycle()V .line 1270 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$502(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; goto :goto_36 .line 1273 :cond_b0 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sampleSize:I invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)I move-result v4 iget v5, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I if-ne v4, v5, :cond_36 .line 1274 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->visible:Z invoke-static {v3, v7}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$402(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Z)Z goto/16 :goto_36 :cond_bd :goto_bd return-void .end method .method private requestDisallowInterceptTouchEvent(Z)V .registers 3 .line 888 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getParent()Landroid/view/ViewParent; move-result-object v0 if-eqz v0, :cond_9 .line 890 invoke-interface {v0, p1}, Landroid/view/ViewParent;->requestDisallowInterceptTouchEvent(Z)V :cond_9 return-void .end method .method private reset(Z)V .registers 7 .line 452 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "reset newImage=" invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder; move-result-object v0 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}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V const/4 v0, 0x0 .line 453 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 454 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scaleStart:F const/4 v2, 0x0 .line 455 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; .line 456 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; .line 457 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; .line 458 invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v3 iput-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float; .line 459 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; .line 460 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; .line 461 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z .line 462 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z .line 463 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isQuickScaling:Z .line 464 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I .line 465 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I .line 466 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; .line 467 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vDistStart:F .line 468 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleLastDistance:F .line 469 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleMoved:Z .line 470 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF; .line 471 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleVLastPoint:Landroid/graphics/PointF; .line 472 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF; .line 473 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .line 474 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; .line 475 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; .line 476 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF; if-eqz p1, :cond_90 .line 478 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->uri:Landroid/net/Uri; .line 479 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; if-eqz p1, :cond_62 .line 480 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoderLock:Ljava/lang/Object; monitor-enter p1 .line 481 :try_start_56 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; invoke-interface {v0}, Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;->recycle()V .line 482 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; .line 483 monitor-exit p1 goto :goto_62 :catchall_5f move-exception v0 monitor-exit p1 :try_end_61 .catchall {:try_start_56 .. :try_end_61} :catchall_5f throw v0 .line 485 :cond_62 :goto_62 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-eqz p1, :cond_6d iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z if-nez v0, :cond_6d .line 486 invoke-virtual {p1}, Landroid/graphics/Bitmap;->recycle()V .line 488 :cond_6d iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-eqz p1, :cond_7c iget-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z if-eqz p1, :cond_7c iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageEventListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; if-eqz p1, :cond_7c .line 489 invoke-interface {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener;->onPreviewReleased()V .line 491 :cond_7c iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I .line 492 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I .line 493 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sOrientation:I .line 494 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect; .line 495 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect; .line 496 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->readySent:Z .line 497 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->imageLoadedSent:Z .line 498 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; .line 499 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z .line 500 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z .line 502 :cond_90 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; if-eqz p1, :cond_d4 .line 503 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_9c invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_d2 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/util/Map$Entry; .line 504 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_b2 :goto_b2 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_9c invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile; .line 505 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->visible:Z invoke-static {v3, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$402(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Z)Z .line 506 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v4 if-eqz v4, :cond_b2 .line 507 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v4 invoke-virtual {v4}, Landroid/graphics/Bitmap;->recycle()V .line 508 # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$502(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap; goto :goto_b2 .line 512 :cond_d2 iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; .line 514 :cond_d4 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getContext()Landroid/content/Context; move-result-object p1 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setGestureDetector(Landroid/content/Context;)V return-void .end method .method private restoreState(Lcom/luck/picture/lib/widget/longimage/ImageViewState;)V .registers 4 if-eqz p1, :cond_31 .line 1881 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageViewState;->getCenter()Landroid/graphics/PointF; move-result-object v0 if-eqz v0, :cond_31 sget-object v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->VALID_ORIENTATIONS:Ljava/util/List; invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/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 1882 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageViewState;->getOrientation()I move-result v0 iput v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->orientation:I .line 1883 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float; .line 1884 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageViewState;->getCenter()Landroid/graphics/PointF; move-result-object p1 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; .line 1885 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V :cond_31 return-void .end method .method private sHeight()I .registers 3 .line 1945 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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 1949 :cond_d iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I return v0 .line 1947 :cond_10 :goto_10 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I return v0 .end method .method private sWidth()I .registers 3 .line 1932 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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 1936 :cond_d iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I return v0 .line 1934 :cond_10 :goto_10 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I return v0 .end method .method private sendStateChanged(FLandroid/graphics/PointF;I)V .registers 6 .line 2658 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onStateChangedListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnStateChangedListener; if-eqz v0, :cond_1e .line 2659 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F cmpl-float p1, v1, p1 if-eqz p1, :cond_d .line 2660 invoke-interface {v0, v1, p3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnStateChangedListener;->onScaleChanged(FI)V .line 2662 :cond_d iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p1, p2}, Landroid/graphics/PointF;->equals(Ljava/lang/Object;)Z move-result p1 if-nez p1, :cond_1e .line 2663 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onStateChangedListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnStateChangedListener; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getCenter()Landroid/graphics/PointF; move-result-object p2 invoke-interface {p1, p2, p3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnStateChangedListener;->onCenterChanged(Landroid/graphics/PointF;I)V :cond_1e return-void .end method .method private setGestureDetector(Landroid/content/Context;)V .registers 4 .line 518 new-instance v0, Landroid/view/GestureDetector; new-instance v1, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$2; invoke-direct {v1, p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$2;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/content/Context;)V invoke-direct {v0, p1, v1}, Landroid/view/GestureDetector;->(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->detector:Landroid/view/GestureDetector; return-void .end method .method private setMatrixArray([FFFFFFFFF)V .registers 11 const/4 v0, 0x0 .line 1112 aput p2, p1, v0 const/4 p2, 0x1 .line 1113 aput p3, p1, p2 const/4 p2, 0x2 .line 1114 aput p4, p1, p2 const/4 p2, 0x3 .line 1115 aput p5, p1, p2 const/4 p2, 0x4 .line 1116 aput p6, p1, p2 const/4 p2, 0x5 .line 1117 aput p7, p1, p2 const/4 p2, 0x6 .line 1118 aput p8, p1, p2 const/4 p2, 0x7 .line 1119 aput p9, p1, p2 return-void .end method .method private sourceToViewRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/graphics/Rect; .registers 6 .line 2104 iget v0, p1, Landroid/graphics/Rect;->left:I int-to-float v0, v0 .line 2105 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/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 2106 invoke-direct {p0, v1}, Lcom/luck/picture/lib/widget/longimage/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 2107 invoke-direct {p0, v2}, Lcom/luck/picture/lib/widget/longimage/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 2108 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewY(F)F move-result p1 float-to-int p1, p1 .line 2104 invoke-virtual {p2, v0, v1, v2, p1}, Landroid/graphics/Rect;->set(IIII)V return-object p2 .end method .method private sourceToViewX(F)F .registers 4 .line 2056 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-nez v0, :cond_7 const/high16 p1, 0x7fc00000 # Float.NaN return p1 .line 2057 :cond_7 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F mul-float/2addr 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 2064 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-nez v0, :cond_7 const/high16 p1, 0x7fc00000 # Float.NaN return p1 .line 2065 :cond_7 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F mul-float/2addr p1, v1 iget v0, v0, Landroid/graphics/PointF;->y:F add-float/2addr p1, v0 return p1 .end method .method private tileVisible(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z .registers 7 const/4 v0, 0x0 .line 1285 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->viewToSourceX(F)F move-result v1 .line 1286 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v2 int-to-float v2, v2 invoke-direct {p0, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->viewToSourceX(F)F move-result v2 .line 1287 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->viewToSourceY(F)F move-result v0 .line 1288 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v3 int-to-float v3, v3 invoke-direct {p0, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->viewToSourceY(F)F move-result v3 .line 1289 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/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: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/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: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/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: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/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 2119 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingLeft()I move-result v0 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingRight()I move-result v2 sub-int/2addr v1, v2 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingLeft()I move-result v2 sub-int/2addr v1, v2 div-int/lit8 v1, v1, 0x2 add-int/2addr v0, v1 .line 2120 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingTop()I move-result v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v2 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingBottom()I move-result v3 sub-int/2addr v2, v3 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getPaddingTop()I move-result v3 sub-int/2addr v2, v3 div-int/lit8 v2, v2, 0x2 add-int/2addr v1, v2 .line 2121 iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; if-nez v2, :cond_3c .line 2122 new-instance v2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; new-instance v3, Landroid/graphics/PointF; const/4 v4, 0x0 invoke-direct {v3, v4, v4}, Landroid/graphics/PointF;->(FF)V const/4 v5, 0x0 invoke-direct {v2, v4, v3, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->(FLandroid/graphics/PointF;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V iput-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; .line 2124 :cond_3c iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; # setter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->scale:F invoke-static {v2, p3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4702(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;F)F .line 2125 iget-object v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF; invoke-static {v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF; move-result-object v2 int-to-float v0, v0 mul-float/2addr p1, p3 sub-float/2addr v0, p1 int-to-float p1, v1 mul-float/2addr p2, p3 sub-float/2addr p1, p2 invoke-virtual {v2, v0, p1}, Landroid/graphics/PointF;->set(FF)V const/4 p1, 0x1 .line 2126 iget-object p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; invoke-direct {p0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(ZLcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)V .line 2127 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->satTemp:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->vTranslate:Landroid/graphics/PointF; invoke-static {p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;->access$4800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$ScaleAndTranslate;)Landroid/graphics/PointF; move-result-object p1 return-object p1 .end method .method private viewToSourceX(F)F .registers 3 .line 2008 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-nez v0, :cond_7 const/high16 p1, 0x7fc00000 # Float.NaN return p1 .line 2009 :cond_7 iget v0, v0, Landroid/graphics/PointF;->x:F sub-float/2addr p1, v0 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F div-float/2addr p1, v0 return p1 .end method .method private viewToSourceY(F)F .registers 3 .line 2016 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-nez v0, :cond_7 const/high16 p1, 0x7fc00000 # Float.NaN return p1 .line 2017 :cond_7 iget v0, v0, Landroid/graphics/PointF;->y:F sub-float/2addr p1, v0 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F div-float/2addr p1, v0 return p1 .end method # virtual methods .method public animateCenter(Landroid/graphics/PointF;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; .registers 4 .line 2677 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_8 return-object v1 .line 2680 :cond_8 new-instance v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; invoke-direct {v0, p0, p1, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/graphics/PointF;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V return-object v0 .end method .method public animateScale(F)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; .registers 4 .line 2690 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_8 return-object v1 .line 2693 :cond_8 new-instance v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; invoke-direct {v0, p0, p1, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;FLcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V return-object v0 .end method .method public animateScaleAndCenter(FLandroid/graphics/PointF;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; .registers 5 .line 2703 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_8 return-object v1 .line 2706 :cond_8 new-instance v0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder; invoke-direct {v0, p0, p1, p2, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$AnimationBuilder;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;FLandroid/graphics/PointF;Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$1;)V return-object v0 .end method .method public final getAppliedOrientation()I .registers 2 .line 2489 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v0 return v0 .end method .method public final getCenter()Landroid/graphics/PointF; .registers 3 .line 2385 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 div-int/lit8 v0, v0, 0x2 .line 2386 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v1 div-int/lit8 v1, v1, 0x2 int-to-float v0, v0 int-to-float v1, v1 .line 2387 invoke-virtual {p0, v0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->viewToSourceCoord(FF)Landroid/graphics/PointF; move-result-object v0 return-object v0 .end method .method public getMaxScale()F .registers 2 .line 2353 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxScale:F return v0 .end method .method public final getMinScale()F .registers 2 .line 2360 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale()F move-result v0 return v0 .end method .method public final getOrientation()I .registers 2 .line 2481 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->orientation:I return v0 .end method .method public final getSHeight()I .registers 2 .line 2473 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I return v0 .end method .method public final getSWidth()I .registers 2 .line 2465 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I return v0 .end method .method public final getScale()F .registers 2 .line 2394 iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F return v0 .end method .method public final getState()Lcom/luck/picture/lib/widget/longimage/ImageViewState; .registers 5 .line 2497 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-eqz v0, :cond_1e iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I if-lez v0, :cond_1e iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I if-lez v0, :cond_1e .line 2498 new-instance v0, Lcom/luck/picture/lib/widget/longimage/ImageViewState; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getScale()F move-result v1 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getCenter()Landroid/graphics/PointF; move-result-object v2 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getOrientation()I move-result v3 invoke-direct {v0, v1, v2, v3}, Lcom/luck/picture/lib/widget/longimage/ImageViewState;->(FLandroid/graphics/PointF;I)V return-object v0 :cond_1e const/4 v0, 0x0 return-object v0 .end method .method public hasImage()Z .registers 2 .line 2632 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->uri:Landroid/net/Uri; if-nez v0, :cond_b iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/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 2450 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->imageLoadedSent:Z return v0 .end method .method public final isPanEnabled()Z .registers 2 .line 2535 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z return v0 .end method .method public final isQuickScaleEnabled()Z .registers 2 .line 2521 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleEnabled:Z return v0 .end method .method public final isReady()Z .registers 2 .line 2433 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->readySent:Z return v0 .end method .method public final isZoomEnabled()Z .registers 2 .line 2507 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->zoomEnabled:Z return v0 .end method .method protected onDraw(Landroid/graphics/Canvas;)V .registers 29 move-object/from16 v11, p0 move-object/from16 v12, p1 .line 929 invoke-super/range {p0 .. p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V .line 930 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->createPaints()V .line 933 iget v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I if-eqz v0, :cond_6ba iget v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I if-eqz v0, :cond_6ba invoke-virtual/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 if-eqz v0, :cond_6ba invoke-virtual/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v0 if-nez v0, :cond_20 goto/16 :goto_6ba .line 938 :cond_20 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; if-nez v0, :cond_2f iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->decoder:Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder; if-eqz v0, :cond_2f .line 939 invoke-direct/range {p0 .. p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getMaxBitmapDimensions(Landroid/graphics/Canvas;)Landroid/graphics/Point; move-result-object v0 invoke-direct {v11, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->initialiseBaseLayer(Landroid/graphics/Point;)V .line 945 :cond_2f invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->checkReady()Z move-result v0 if-nez v0, :cond_36 return-void .line 950 :cond_36 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->preDraw()V .line 953 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; const/4 v9, 0x1 const/4 v10, 0x0 const/4 v13, 0x0 if-eqz v0, :cond_16b .line 955 iget v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 956 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; if-nez v1, :cond_4d new-instance v1, Landroid/graphics/PointF; invoke-direct {v1, v13, v13}, Landroid/graphics/PointF;->(FF)V iput-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; .line 957 :cond_4d iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {v1, v2}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V .line 959 invoke-static {}, Ljava/lang/System;->currentTimeMillis()J move-result-wide v1 iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->time:J invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3100(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)J move-result-wide v3 sub-long/2addr v1, v3 .line 960 iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->duration:J invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)J move-result-wide v3 cmp-long v3, v1, v3 if-lez v3, :cond_6b move v14, v9 goto :goto_6c :cond_6b move v14, v10 .line 961 :goto_6c iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->duration:J invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)J move-result-wide v3 invoke-static {v1, v2, v3, v4}, Ljava/lang/Math;->min(JJ)J move-result-wide v15 .line 962 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->easing:I invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)I move-result v2 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->scaleStart:F invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3400(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)F move-result v5 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->scaleEnd:F invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)F move-result v1 iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->scaleStart:F invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3400(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)F move-result v3 sub-float v6, v1, v3 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->duration:J invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)J move-result-wide v7 move-object/from16 v1, p0 move-wide v3, v15 invoke-direct/range {v1 .. v8}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->ease(IJFFJ)F move-result v1 iput v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 965 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->easing:I invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)I move-result v2 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF; invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3600(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v1 iget v5, v1, Landroid/graphics/PointF;->x:F iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->vFocusEnd:Landroid/graphics/PointF; invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v1 iget v1, v1, Landroid/graphics/PointF;->x:F iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3600(Lcom/luck/picture/lib/widget/longimage/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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->duration:J invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)J move-result-wide v7 move-object/from16 v1, p0 move-wide v3, v15 invoke-direct/range {v1 .. v8}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->ease(IJFFJ)F move-result v17 .line 966 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->easing:I invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)I move-result v2 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF; invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3600(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v1 iget v5, v1, Landroid/graphics/PointF;->y:F iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->vFocusEnd:Landroid/graphics/PointF; invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v1 iget v1, v1, Landroid/graphics/PointF;->y:F iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->vFocusStart:Landroid/graphics/PointF; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3600(Lcom/luck/picture/lib/widget/longimage/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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->duration:J invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)J move-result-wide v7 move-object/from16 v1, p0 move-wide v3, v15 invoke-direct/range {v1 .. v8}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->ease(IJFFJ)F move-result v1 .line 968 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v3, v2, Landroid/graphics/PointF;->x:F iget-object v4, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->sCenterEnd:Landroid/graphics/PointF; invoke-static {v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v4 iget v4, v4, Landroid/graphics/PointF;->x:F invoke-direct {v11, v4}, Lcom/luck/picture/lib/widget/longimage/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 969 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v3, v2, Landroid/graphics/PointF;->y:F iget-object v4, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->sCenterEnd:Landroid/graphics/PointF; invoke-static {v4}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v4 iget v4, v4, Landroid/graphics/PointF;->y:F invoke-direct {v11, v4}, Lcom/luck/picture/lib/widget/longimage/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 v14, :cond_137 .line 972 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->scaleStart:F invoke-static {v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3400(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)F move-result v1 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->scaleEnd:F invoke-static {v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)F move-result v2 cmpl-float v1, v1, v2 if-nez v1, :cond_135 goto :goto_137 :cond_135 move v1, v10 goto :goto_138 :cond_137 :goto_137 move v1, v9 :goto_138 invoke-direct {v11, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 973 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->origin:I invoke-static {v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3900(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)I move-result v2 invoke-direct {v11, v0, v1, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sendStateChanged(FLandroid/graphics/PointF;I)V .line 974 invoke-direct {v11, v14}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V if-eqz v14, :cond_168 .line 976 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->listener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener; invoke-static {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$2800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener; move-result-object v0 if-eqz v0, :cond_165 .line 978 :try_start_153 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->listener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener; invoke-static {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$2800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener; move-result-object v0 invoke-interface {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener;->onComplete()V :try_end_15c .catch Ljava/lang/Exception; {:try_start_153 .. :try_end_15c} :catch_15d goto :goto_165 :catch_15d move-exception v0 .line 980 sget-object v1, Lcom/luck/picture/lib/widget/longimage/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_165 :goto_165 const/4 v0, 0x0 .line 983 iput-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .line 985 :cond_168 invoke-virtual/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V .line 988 :cond_16b iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileMap:Ljava/util/Map; const/16 v14, 0x10e const/16 v15, 0x5a const/16 v8, 0xb4 if-eqz v0, :cond_467 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isBaseLayerReady()Z move-result v0 if-eqz v0, :cond_467 .line 991 iget v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fullImageSampleSize:I iget v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {v11, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->calculateInSampleSize(F)I move-result v1 invoke-static {v0, v1}, Ljava/lang/Math;->min(II)I move-result v0 .line 995 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/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 move v13, v10 :cond_192 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_1d4 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/util/Map$Entry; .line 996 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_192 .line 997 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_1b4 :goto_1b4 invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z move-result v3 if-eqz v3, :cond_192 invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile; .line 998 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->visible:Z invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$400(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z move-result v4 if-eqz v4, :cond_1b4 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->loading:Z invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4000(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z move-result v4 if-nez v4, :cond_1d2 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static {v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v3 if-nez v3, :cond_1b4 :cond_1d2 move v13, v9 goto :goto_1b4 .line 1006 :cond_1d4 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/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 v16 :goto_1de invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_539 invoke-interface/range {v16 .. v16}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/util/Map$Entry; .line 1007 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_1fe if-eqz v13, :cond_1f9 goto :goto_1fe :cond_1f9 move/from16 v20, v13 move v13, v8 goto/16 :goto_462 .line 1008 :cond_1fe :goto_1fe 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 v17 :goto_208 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1f9 invoke-interface/range {v17 .. v17}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 move-object/from16 v18, v1 check-cast v18, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile; .line 1009 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v2 invoke-direct {v11, v1, v2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/graphics/Rect; .line 1010 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->loading:Z invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4000(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z move-result v1 if-nez v1, :cond_3c7 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v1 if-eqz v1, :cond_3c7 .line 1011 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint; if-eqz v1, :cond_23a .line 1012 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint; invoke-virtual {v12, v1, v2}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V .line 1014 :cond_23a iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; if-nez v1, :cond_245 new-instance v1, Landroid/graphics/Matrix; invoke-direct {v1}, Landroid/graphics/Matrix;->()V iput-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; .line 1015 :cond_245 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; invoke-virtual {v1}, Landroid/graphics/Matrix;->reset()V .line 1016 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->srcArray:[F # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/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 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/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: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/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 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v1 invoke-virtual {v1}, Landroid/graphics/Bitmap;->getHeight()I move-result v1 int-to-float v10, v1 const/4 v3, 0x0 const/4 v4, 0x0 const/4 v6, 0x0 const/16 v19, 0x0 move-object/from16 v1, p0 move/from16 v20, v13 move v13, v8 move v8, v9 move/from16 v9, v19 invoke-direct/range {v1 .. v10}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V .line 1017 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v1 if-nez v1, :cond_2c7 .line 1018 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->dstArray:[F # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v3, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->top:I int-to-float v4, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->right:I int-to-float v5, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->top:I int-to-float v6, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->right:I int-to-float v7, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->bottom:I int-to-float v8, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v9, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/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}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V goto/16 :goto_399 .line 1019 :cond_2c7 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v1 if-ne v1, v15, :cond_30e .line 1020 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->dstArray:[F # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->right:I int-to-float v3, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->top:I int-to-float v4, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->right:I int-to-float v5, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->bottom:I int-to-float v6, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v7, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->bottom:I int-to-float v8, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v9, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/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}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V goto/16 :goto_399 .line 1021 :cond_30e invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v1 if-ne v1, v13, :cond_354 .line 1022 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->dstArray:[F # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->right:I int-to-float v3, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->bottom:I int-to-float v4, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v5, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->bottom:I int-to-float v6, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v7, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->top:I int-to-float v8, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->right:I int-to-float v9, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/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}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V goto :goto_399 .line 1023 :cond_354 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v1 if-ne v1, v14, :cond_399 .line 1024 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->dstArray:[F # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v3, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->bottom:I int-to-float v4, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I int-to-float v5, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->top:I int-to-float v6, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->right:I int-to-float v7, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->top:I int-to-float v8, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->right:I int-to-float v9, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/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}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMatrixArray([FFFFFFFFF)V .line 1026 :cond_399 :goto_399 iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->srcArray:[F iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->dstArray:[F const/16 v25, 0x0 const/16 v26, 0x4 const/16 v23, 0x0 move-object/from16 v21, v1 move-object/from16 v22, v2 move-object/from16 v24, v3 invoke-virtual/range {v21 .. v26}, Landroid/graphics/Matrix;->setPolyToPoly([FI[FII)Z .line 1027 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->bitmap:Landroid/graphics/Bitmap; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Bitmap; move-result-object v1 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/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 1028 iget-boolean v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug:Z if-eqz v1, :cond_3ed .line 1029 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v1, v2}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V goto :goto_3ed :cond_3c7 move/from16 v20, v13 move v13, v8 .line 1031 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->loading:Z invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4000(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z move-result v1 if-eqz v1, :cond_3ed iget-boolean v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug:Z if-eqz v1, :cond_3ed .line 1032 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v1 iget v1, v1, Landroid/graphics/Rect;->left:I add-int/lit8 v1, v1, 0x5 int-to-float v1, v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v2 iget v2, v2, Landroid/graphics/Rect;->top:I add-int/lit8 v2, v2, 0x23 int-to-float v2, v2 iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint: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 1034 :cond_3ed :goto_3ed # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->visible:Z invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$400(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Z move-result v1 if-eqz v1, :cond_45d iget-boolean v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug:Z if-eqz v1, :cond_45d .line 1035 new-instance v1, Ljava/lang/StringBuilder; const-string v2, "ISS " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sampleSize:I invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4300(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)I move-result v2 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object v1 const-string v2, " RECT " invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/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; move-result-object v1 const-string v2, "," invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/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; move-result-object v1 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/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; move-result-object v1 invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->sRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4100(Lcom/luck/picture/lib/widget/longimage/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; move-result-object v1 invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v2 iget v2, v2, Landroid/graphics/Rect;->left:I add-int/lit8 v2, v2, 0x5 int-to-float v2, v2 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->vRect:Landroid/graphics/Rect; invoke-static/range {v18 .. v18}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;->access$4200(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Tile;)Landroid/graphics/Rect; move-result-object v3 iget v3, v3, Landroid/graphics/Rect;->top:I add-int/lit8 v3, v3, 0xf int-to-float v3, v3 iget-object v4, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v1, v2, v3, v4}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V :cond_45d move v8, v13 move/from16 v13, v20 goto/16 :goto_208 :goto_462 move v8, v13 move/from16 v13, v20 goto/16 :goto_1de :cond_467 move v1, v13 move v13, v8 .line 1041 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; if-eqz v0, :cond_539 .line 1043 iget v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 1044 iget-boolean v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z if-eqz v3, :cond_48c .line 1045 iget v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I int-to-float v3, v3 invoke-virtual {v0}, Landroid/graphics/Bitmap;->getWidth()I move-result v0 int-to-float v0, v0 div-float/2addr v3, v0 mul-float/2addr v2, v3 .line 1046 iget v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I int-to-float v3, v3 iget-object v4, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; invoke-virtual {v4}, Landroid/graphics/Bitmap;->getHeight()I move-result v4 int-to-float v4, v4 div-float/2addr v3, v4 mul-float/2addr v0, v3 goto :goto_48d :cond_48c move v0, v2 .line 1049 :goto_48d iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; if-nez v3, :cond_498 new-instance v3, Landroid/graphics/Matrix; invoke-direct {v3}, Landroid/graphics/Matrix;->()V iput-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; .line 1050 :cond_498 iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; invoke-virtual {v3}, Landroid/graphics/Matrix;->reset()V .line 1051 iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; invoke-virtual {v3, v2, v0}, Landroid/graphics/Matrix;->postScale(FF)Z .line 1052 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v2 int-to-float v2, v2 invoke-virtual {v0, v2}, Landroid/graphics/Matrix;->postRotate(F)Z .line 1053 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->x:F iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->y:F invoke-virtual {v0, v2, v3}, Landroid/graphics/Matrix;->postTranslate(FF)Z .line 1055 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v0 if-ne v0, v13, :cond_4cf .line 1056 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; iget v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I int-to-float v3, v3 mul-float/2addr v3, v2 iget v4, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I int-to-float v4, v4 mul-float/2addr v2, v4 invoke-virtual {v0, v3, v2}, Landroid/graphics/Matrix;->postTranslate(FF)Z goto :goto_4f2 .line 1057 :cond_4cf invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v0 if-ne v0, v15, :cond_4e1 .line 1058 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; iget v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I int-to-float v3, v3 mul-float/2addr v2, v3 invoke-virtual {v0, v2, v1}, Landroid/graphics/Matrix;->postTranslate(FF)Z goto :goto_4f2 .line 1059 :cond_4e1 invoke-direct/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getRequiredRotation()I move-result v0 if-ne v0, v14, :cond_4f2 .line 1060 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; iget v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F iget v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I int-to-float v3, v3 mul-float/2addr v2, v3 invoke-virtual {v0, v1, v2}, Landroid/graphics/Matrix;->postTranslate(FF)Z .line 1063 :cond_4f2 :goto_4f2 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint; if-eqz v0, :cond_530 .line 1064 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF; if-nez v0, :cond_501 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF; .line 1065 :cond_501 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF; iget-boolean v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z if-eqz v2, :cond_50e iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; invoke-virtual {v2}, Landroid/graphics/Bitmap;->getWidth()I move-result v2 goto :goto_510 :cond_50e iget v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I :goto_510 int-to-float v2, v2 iget-boolean v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsPreview:Z if-eqz v3, :cond_51c iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; invoke-virtual {v3}, Landroid/graphics/Bitmap;->getHeight()I move-result v3 goto :goto_51e :cond_51c iget v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I :goto_51e int-to-float v3, v3 invoke-virtual {v0, v1, v1, v2, v3}, Landroid/graphics/RectF;->set(FFFF)V .line 1066 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF; invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z .line 1067 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRect:Landroid/graphics/RectF; iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint; invoke-virtual {v12, v0, v1}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V .line 1069 :cond_530 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmap:Landroid/graphics/Bitmap; iget-object v1, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->matrix:Landroid/graphics/Matrix; iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/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 1073 :cond_539 iget-boolean v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug:Z if-eqz v0, :cond_6ba .line 1074 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Scale: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; iget v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v2 filled-new-array {v2}, [Ljava/lang/Object; move-result-object v2 const-string v3, "%.2f" invoke-static {v1, v3, v2}, 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; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const/high16 v1, 0x41700000 # 15.0f iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; const/high16 v4, 0x40a00000 # 5.0f invoke-virtual {v12, v0, v4, v1, v2}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V .line 1075 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Translate: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V sget-object v1, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->x:F invoke-static {v2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v2 filled-new-array {v2}, [Ljava/lang/Object; move-result-object v2 invoke-static {v1, v3, v2}, 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; move-result-object v0 const-string v1, ":" invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 sget-object v2, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; iget-object v5, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; iget v5, v5, Landroid/graphics/PointF;->y:F invoke-static {v5}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v5 filled-new-array {v5}, [Ljava/lang/Object; move-result-object v5 invoke-static {v2, v3, 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; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; const/high16 v5, 0x420c0000 # 35.0f invoke-virtual {v12, v0, v4, v5, v2}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V .line 1076 invoke-virtual/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getCenter()Landroid/graphics/PointF; move-result-object v0 .line 1077 new-instance v2, Ljava/lang/StringBuilder; const-string v6, "Source center: " invoke-direct {v2, v6}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V sget-object v6, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; iget v7, v0, Landroid/graphics/PointF;->x:F invoke-static {v7}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v7 filled-new-array {v7}, [Ljava/lang/Object; move-result-object v7 invoke-static {v6, v3, v7}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v6 invoke-virtual {v2, v6}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 sget-object v2, Ljava/util/Locale;->ENGLISH:Ljava/util/Locale; iget v0, v0, Landroid/graphics/PointF;->y:F invoke-static {v0}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object v0 filled-new-array {v0}, [Ljava/lang/Object; move-result-object v0 invoke-static {v2, v3, v0}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v0 invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const/high16 v1, 0x425c0000 # 55.0f iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v0, v4, v1, v2}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V .line 1078 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; const/high16 v1, 0x40000000 # 2.0f invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeWidth(F)V .line 1079 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; const/high16 v1, 0x41f00000 # 30.0f const v2, -0xff0001 const v3, -0xffff01 const/high16 v4, 0x41a00000 # 20.0f const/high16 v6, -0x10000 if-eqz v0, :cond_661 .line 1080 # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->sCenterStart:Landroid/graphics/PointF; invoke-static {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$4400(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v0 invoke-virtual {v11, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF; move-result-object v0 .line 1081 iget-object v7, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->sCenterEndRequested:Landroid/graphics/PointF; invoke-static {v7}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$4500(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v7 invoke-virtual {v11, v7}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF; move-result-object v7 .line 1082 iget-object v8, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->sCenterEnd:Landroid/graphics/PointF; invoke-static {v8}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$3800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Landroid/graphics/PointF; move-result-object v8 invoke-virtual {v11, v8}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewCoord(Landroid/graphics/PointF;)Landroid/graphics/PointF; move-result-object v8 .line 1083 iget v9, v0, Landroid/graphics/PointF;->x:F iget v0, v0, Landroid/graphics/PointF;->y:F const/high16 v10, 0x41200000 # 10.0f iget-object v13, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v9, v0, v10, v13}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V .line 1084 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v0, v6}, Landroid/graphics/Paint;->setColor(I)V .line 1085 iget v0, v7, Landroid/graphics/PointF;->x:F iget v7, v7, Landroid/graphics/PointF;->y:F iget-object v9, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v0, v7, v4, v9}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V .line 1086 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setColor(I)V .line 1087 iget v0, v8, Landroid/graphics/PointF;->x:F iget v7, v8, Landroid/graphics/PointF;->y:F const/high16 v8, 0x41c80000 # 25.0f iget-object v9, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v0, v7, v8, v9}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V .line 1088 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V .line 1089 invoke-virtual/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 div-int/lit8 v0, v0, 0x2 int-to-float v0, v0 invoke-virtual/range {p0 .. p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v7 div-int/lit8 v7, v7, 0x2 int-to-float v7, v7 iget-object v8, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v0, v7, v1, v8}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V .line 1091 :cond_661 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; if-eqz v0, :cond_677 .line 1092 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v0, v6}, Landroid/graphics/Paint;->setColor(I)V .line 1093 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v0, v0, Landroid/graphics/PointF;->x:F iget-object v6, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; iget v6, v6, Landroid/graphics/PointF;->y:F iget-object v7, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v0, v6, v4, v7}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V .line 1095 :cond_677 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF; if-eqz v0, :cond_695 .line 1096 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v0, v3}, Landroid/graphics/Paint;->setColor(I)V .line 1097 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF; iget v0, v0, Landroid/graphics/PointF;->x:F invoke-direct {v11, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewX(F)F move-result v0 iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleSCenter:Landroid/graphics/PointF; iget v3, v3, Landroid/graphics/PointF;->y:F invoke-direct {v11, v3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewY(F)F move-result v3 iget-object v4, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v0, v3, v5, v4}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V .line 1099 :cond_695 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF; if-eqz v0, :cond_6ab .line 1100 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v0, v2}, Landroid/graphics/Paint;->setColor(I)V .line 1101 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF; iget v0, v0, Landroid/graphics/PointF;->x:F iget-object v2, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->quickScaleVStart:Landroid/graphics/PointF; iget v2, v2, Landroid/graphics/PointF;->y:F iget-object v3, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; invoke-virtual {v12, v0, v2, v1, v3}, Landroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V .line 1103 :cond_6ab iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; const v1, -0xff01 invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setColor(I)V .line 1104 iget-object v0, v11, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; const/high16 v1, 0x3f800000 # 1.0f invoke-virtual {v0, v1}, Landroid/graphics/Paint;->setStrokeWidth(F)V :cond_6ba :goto_6ba return-void .end method .method protected onImageLoaded()V .registers 1 return-void .end method .method protected onMeasure(II)V .registers 8 .line 590 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v0 .line 591 invoke-static {p2}, Landroid/view/View$MeasureSpec;->getMode(I)I move-result v1 .line 592 invoke-static {p1}, Landroid/view/View$MeasureSpec;->getSize(I)I move-result p1 .line 593 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 move v0, v2 goto :goto_19 :cond_18 move v0, v3 :goto_19 if-eq v1, v4, :cond_1c goto :goto_1d :cond_1c move v2, v3 .line 598 :goto_1d iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I if-lez v1, :cond_53 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I if-lez v1, :cond_53 if-eqz v0, :cond_32 if-eqz v2, :cond_32 .line 600 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result p1 .line 601 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result p2 goto :goto_53 :cond_32 if-eqz v2, :cond_43 .line 603 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result p2 int-to-double v0, p2 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result p2 int-to-double v2, p2 div-double/2addr v0, v2 int-to-double v2, p1 mul-double/2addr v0, v2 double-to-int p2, v0 goto :goto_53 :cond_43 if-eqz v0, :cond_53 .line 605 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result p1 int-to-double v0, p1 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result p1 int-to-double v2, p1 div-double/2addr v0, v2 int-to-double v2, p2 mul-double/2addr v0, v2 double-to-int p1, v0 .line 608 :cond_53 :goto_53 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getSuggestedMinimumWidth()I move-result v0 invoke-static {p1, v0}, Ljava/lang/Math;->max(II)I move-result p1 .line 609 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getSuggestedMinimumHeight()I move-result v0 invoke-static {p2, v0}, Ljava/lang/Math;->max(II)I move-result p2 .line 610 invoke-virtual {p0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMeasuredDimension(II)V return-void .end method .method protected onReady()V .registers 1 return-void .end method .method protected onSizeChanged(IIII)V .registers 5 .line 575 invoke-static {p3}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p3 invoke-static {p4}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p4 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p2 filled-new-array {p3, p4, p1, p2}, [Ljava/lang/Object; move-result-object p1 const-string p2, "onSizeChanged %dx%d -> %dx%d" invoke-direct {p0, p2, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug(Ljava/lang/String;[Ljava/lang/Object;)V .line 576 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getCenter()Landroid/graphics/PointF; move-result-object p1 .line 577 iget-boolean p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->readySent:Z if-eqz p2, :cond_30 if-eqz p1, :cond_30 const/4 p2, 0x0 .line 578 iput-object p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .line 579 iget p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-static {p2}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object p2 iput-object p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float; .line 580 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; :cond_30 return-void .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .registers 8 .line 619 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; const/4 v1, 0x1 if-eqz v0, :cond_f # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->interruptible:Z invoke-static {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$2700(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Z move-result v0 if-nez v0, :cond_f .line 620 invoke-direct {p0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->requestDisallowInterceptTouchEvent(Z)V return v1 .line 623 :cond_f iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; if-eqz v0, :cond_2b # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->listener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener; invoke-static {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$2800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener; move-result-object v0 if-eqz v0, :cond_2b .line 625 :try_start_19 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; # getter for: Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->listener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener; invoke-static {v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;->access$2800(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim;)Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnAnimationEventListener; move-result-object v0 invoke-interface {v0}, Lcom/luck/picture/lib/widget/longimage/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 627 sget-object v2, Lcom/luck/picture/lib/widget/longimage/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 630 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .line 634 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-nez v0, :cond_33 return v1 .line 638 :cond_33 iget-boolean v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isQuickScaling:Z const/4 v2, 0x0 if-nez v0, :cond_49 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->detector:Landroid/view/GestureDetector; if-eqz v0, :cond_42 invoke-virtual {v0, p1}, Landroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result v0 if-eqz v0, :cond_49 .line 639 :cond_42 iput-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isZooming:Z .line 640 iput-boolean v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isPanning:Z .line 641 iput v2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTouchCount:I return v1 .line 645 :cond_49 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; const/4 v3, 0x0 if-nez v0, :cond_55 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0, v3, v3}, Landroid/graphics/PointF;->(FF)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateStart:Landroid/graphics/PointF; .line 646 :cond_55 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; if-nez v0, :cond_60 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0, v3, v3}, Landroid/graphics/PointF;->(FF)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; .line 647 :cond_60 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; if-nez v0, :cond_6b new-instance v0, Landroid/graphics/PointF; invoke-direct {v0, v3, v3}, Landroid/graphics/PointF;->(FF)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vCenterStart:Landroid/graphics/PointF; .line 650 :cond_6b iget v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F .line 651 iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; iget-object v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {v3, v4}, Landroid/graphics/PointF;->set(Landroid/graphics/PointF;)V .line 653 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onTouchEventInternal(Landroid/view/MotionEvent;)Z move-result v3 .line 654 iget-object v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslateBefore:Landroid/graphics/PointF; const/4 v5, 0x2 invoke-direct {p0, v0, v4, v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sendStateChanged(FLandroid/graphics/PointF;I)V if-nez v3, :cond_88 .line 655 invoke-super {p0, p1}, Landroid/view/View;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p1 if-eqz p1, :cond_87 goto :goto_88 :cond_87 move v1, v2 :cond_88 :goto_88 return v1 .end method .method public recycle()V .registers 2 const/4 v0, 0x1 .line 1998 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->reset(Z)V const/4 v0, 0x0 .line 1999 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapPaint:Landroid/graphics/Paint; .line 2000 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debugPaint:Landroid/graphics/Paint; .line 2001 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint; return-void .end method .method public final resetScaleAndCenter()V .registers 4 const/4 v0, 0x0 .line 2416 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; const/4 v0, 0x0 .line 2417 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float; .line 2418 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result v1 if-eqz v1, :cond_2a .line 2419 new-instance v0, Landroid/graphics/PointF; invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v1 div-int/lit8 v1, v1, 0x2 int-to-float v1, v1 invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/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;->(FF)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; goto :goto_31 .line 2421 :cond_2a new-instance v1, Landroid/graphics/PointF; invoke-direct {v1, v0, v0}, Landroid/graphics/PointF;->(FF)V iput-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; .line 2423 :goto_31 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V return-void .end method .method public final setBitmapDecoderClass(Ljava/lang/Class;)V .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/lang/Class<", "+", "Lcom/luck/picture/lib/widget/longimage/ImageDecoder;", ">;)V" } .end annotation if-eqz p1, :cond_a .line 2266 new-instance v0, Lcom/luck/picture/lib/widget/longimage/CompatDecoderFactory; invoke-direct {v0, p1}, Lcom/luck/picture/lib/widget/longimage/CompatDecoderFactory;->(Ljava/lang/Class;)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; return-void .line 2264 :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;->(Ljava/lang/String;)V throw p1 .end method .method public final setBitmapDecoderFactory(Lcom/luck/picture/lib/widget/longimage/DecoderFactory;)V .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/luck/picture/lib/widget/longimage/DecoderFactory<", "+", "Lcom/luck/picture/lib/widget/longimage/ImageDecoder;", ">;)V" } .end annotation if-eqz p1, :cond_5 .line 2278 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; return-void .line 2276 :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;->(Ljava/lang/String;)V throw p1 .end method .method public final setDebug(Z)V .registers 2 .line 2624 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->debug:Z return-void .end method .method public final setDoubleTapZoomDpi(I)V .registers 4 .line 2585 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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 2586 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 2587 invoke-virtual {p0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setDoubleTapZoomScale(F)V return-void .end method .method public final setDoubleTapZoomDuration(I)V .registers 3 const/4 v0, 0x0 .line 2606 invoke-static {v0, p1}, Ljava/lang/Math;->max(II)I move-result p1 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomDuration:I return-void .end method .method public final setDoubleTapZoomScale(F)V .registers 2 .line 2575 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomScale:F return-void .end method .method public final setDoubleTapZoomStyle(I)V .registers 5 .line 2595 sget-object v0, Lcom/luck/picture/lib/widget/longimage/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 2598 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->doubleTapZoomStyle:I return-void .line 2596 :cond_f new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Invalid zoom style: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public final setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;)V .registers 3 const/4 v0, 0x0 .line 354 invoke-virtual {p0, p1, v0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageViewState;)V return-void .end method .method public final setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageSource;)V .registers 4 const/4 v0, 0x0 .line 379 invoke-virtual {p0, p1, p2, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageViewState;)V return-void .end method .method public final setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageViewState;)V .registers 12 if-eqz p1, :cond_150 const/4 v0, 0x1 .line 400 invoke-direct {p0, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->reset(Z)V if-eqz p3, :cond_b .line 401 invoke-direct {p0, p3}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->restoreState(Lcom/luck/picture/lib/widget/longimage/ImageViewState;)V .line 403 :cond_b const-string p3, "/" const-string v0, "android.resource://" if-eqz p2, :cond_9d .line 404 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getBitmap()Landroid/graphics/Bitmap; move-result-object v1 if-nez v1, :cond_95 .line 407 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSWidth()I move-result v1 if-lez v1, :cond_8d invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSHeight()I move-result v1 if-lez v1, :cond_8d .line 410 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSWidth()I move-result v1 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth:I .line 411 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSHeight()I move-result v1 iput v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight:I .line 412 invoke-virtual {p2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSRegion()Landroid/graphics/Rect; move-result-object v1 iput-object v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pRegion:Landroid/graphics/Rect; .line 413 invoke-virtual {p2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getBitmap()Landroid/graphics/Bitmap; move-result-object v1 if-eqz v1, :cond_49 .line 414 invoke-virtual {p2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->isCached()Z move-result v1 iput-boolean v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapIsCached:Z .line 415 invoke-virtual {p2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getBitmap()Landroid/graphics/Bitmap; move-result-object p2 invoke-direct {p0, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onPreviewLoaded(Landroid/graphics/Bitmap;)V goto :goto_9d .line 417 :cond_49 invoke-virtual {p2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getUri()Landroid/net/Uri; move-result-object v1 if-nez v1, :cond_7a .line 418 invoke-virtual {p2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getResource()Ljava/lang/Integer; move-result-object v2 if-eqz v2, :cond_7a .line 419 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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; move-result-object v1 invoke-virtual {v1, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v1 invoke-virtual {p2}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getResource()Ljava/lang/Integer; move-result-object p2 invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 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 v1 :cond_7a move-object v6, v1 .line 421 new-instance p2, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$BitmapLoadTask; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getContext()Landroid/content/Context; move-result-object v4 iget-object v5, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; const/4 v7, 0x1 move-object v2, p2 move-object v3, p0 invoke-direct/range {v2 .. v7}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$BitmapLoadTask;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/content/Context;Lcom/luck/picture/lib/widget/longimage/DecoderFactory;Landroid/net/Uri;Z)V .line 422 invoke-direct {p0, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V goto :goto_9d .line 408 :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;->(Ljava/lang/String;)V throw p1 .line 405 :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;->(Ljava/lang/String;)V throw p1 .line 426 :cond_9d :goto_9d invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getBitmap()Landroid/graphics/Bitmap; move-result-object p2 const/4 v1, 0x0 if-eqz p2, :cond_d3 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSRegion()Landroid/graphics/Rect; move-result-object p2 if-eqz p2, :cond_d3 .line 427 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getBitmap()Landroid/graphics/Bitmap; move-result-object p2 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSRegion()Landroid/graphics/Rect; move-result-object p3 iget p3, p3, Landroid/graphics/Rect;->left:I invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSRegion()Landroid/graphics/Rect; move-result-object v0 iget v0, v0, Landroid/graphics/Rect;->top:I invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSRegion()Landroid/graphics/Rect; move-result-object v2 invoke-virtual {v2}, Landroid/graphics/Rect;->width()I move-result v2 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/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}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageLoaded(Landroid/graphics/Bitmap;IZ)V goto/16 :goto_14f .line 428 :cond_d3 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getBitmap()Landroid/graphics/Bitmap; move-result-object p2 if-eqz p2, :cond_e5 .line 429 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getBitmap()Landroid/graphics/Bitmap; move-result-object p2 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->isCached()Z move-result p1 invoke-direct {p0, p2, v1, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageLoaded(Landroid/graphics/Bitmap;IZ)V goto :goto_14f .line 431 :cond_e5 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getSRegion()Landroid/graphics/Rect; move-result-object p2 iput-object p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect; .line 432 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getUri()Landroid/net/Uri; move-result-object p2 iput-object p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->uri:Landroid/net/Uri; if-nez p2, :cond_120 .line 433 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getResource()Ljava/lang/Integer; move-result-object p2 if-eqz p2, :cond_120 .line 434 new-instance p2, Ljava/lang/StringBuilder; invoke-direct {p2, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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; move-result-object p2 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p2 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getResource()Ljava/lang/Integer; move-result-object p3 invoke-virtual {p2, p3}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p2 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, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->uri:Landroid/net/Uri; .line 436 :cond_120 invoke-virtual {p1}, Lcom/luck/picture/lib/widget/longimage/ImageSource;->getTile()Z move-result p1 if-nez p1, :cond_13f iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRegion:Landroid/graphics/Rect; if-eqz p1, :cond_12b goto :goto_13f .line 442 :cond_12b new-instance p1, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$BitmapLoadTask; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getContext()Landroid/content/Context; move-result-object v2 iget-object v3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->bitmapDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; iget-object v4, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->uri:Landroid/net/Uri; const/4 v5, 0x0 move-object v0, p1 move-object v1, p0 invoke-direct/range {v0 .. v5}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$BitmapLoadTask;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/content/Context;Lcom/luck/picture/lib/widget/longimage/DecoderFactory;Landroid/net/Uri;Z)V .line 443 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V goto :goto_14f .line 438 :cond_13f :goto_13f new-instance p1, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$TilesInitTask; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getContext()Landroid/content/Context; move-result-object p2 iget-object p3, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->regionDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->uri:Landroid/net/Uri; invoke-direct {p1, p0, p2, p3, v0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$TilesInitTask;->(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;Landroid/content/Context;Lcom/luck/picture/lib/widget/longimage/DecoderFactory;Landroid/net/Uri;)V .line 439 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->execute(Landroid/os/AsyncTask;)V :goto_14f return-void .line 397 :cond_150 new-instance p1, Ljava/lang/NullPointerException; const-string p2, "imageSource must not be null" invoke-direct {p1, p2}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw p1 .end method .method public final setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageViewState;)V .registers 4 const/4 v0, 0x0 .line 365 invoke-virtual {p0, p1, v0, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setImage(Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageSource;Lcom/luck/picture/lib/widget/longimage/ImageViewState;)V return-void .end method .method public final setMaxScale(F)V .registers 2 .line 2315 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxScale:F return-void .end method .method public setMaxTileSize(I)V .registers 2 .line 1895 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileWidth:I .line 1896 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileHeight:I return-void .end method .method public setMaxTileSize(II)V .registers 3 .line 1906 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileWidth:I .line 1907 iput p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->maxTileHeight:I return-void .end method .method public final setMaximumDpi(I)V .registers 4 .line 2344 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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 2345 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 2346 invoke-virtual {p0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMinScale(F)V return-void .end method .method public final setMinScale(F)V .registers 2 .line 2323 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minScale:F return-void .end method .method public final setMinimumDpi(I)V .registers 4 .line 2333 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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 2334 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 2335 invoke-virtual {p0, v1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->setMaxScale(F)V return-void .end method .method public final setMinimumScaleType(I)V .registers 5 .line 2299 sget-object v0, Lcom/luck/picture/lib/widget/longimage/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 2302 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minimumScaleType:I .line 2303 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result p1 if-eqz p1, :cond_1b const/4 p1, 0x1 .line 2304 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 2305 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V :cond_1b return-void .line 2300 :cond_1c new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Invalid scale type: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public setMinimumTileDpi(I)V .registers 4 .line 2372 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->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 2373 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 2374 invoke-static {v1, p1}, Ljava/lang/Math;->min(FF)F move-result p1 float-to-int p1, p1 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->minimumTileDpi:I .line 2375 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result p1 if-eqz p1, :cond_25 const/4 p1, 0x0 .line 2376 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->reset(Z)V .line 2377 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V :cond_25 return-void .end method .method public setOnImageEventListener(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener;)V .registers 2 .line 2647 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onImageEventListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnImageEventListener; return-void .end method .method public setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V .registers 2 .line 2640 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onLongClickListener:Landroid/view/View$OnLongClickListener; return-void .end method .method public setOnStateChangedListener(Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnStateChangedListener;)V .registers 2 .line 2654 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->onStateChangedListener:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$OnStateChangedListener; return-void .end method .method public final setOrientation(I)V .registers 5 .line 340 sget-object v0, Lcom/luck/picture/lib/widget/longimage/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 343 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->orientation:I const/4 p1, 0x0 .line 344 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->reset(Z)V .line 345 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V .line 346 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->requestLayout()V return-void .line 341 :cond_19 new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Invalid orientation: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public final setPanEnabled(Z)V .registers 5 .line 2542 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panEnabled:Z if-nez p1, :cond_3f .line 2543 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-eqz p1, :cond_3f .line 2544 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getWidth()I move-result v0 div-int/lit8 v0, v0, 0x2 int-to-float v0, v0 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sWidth()I move-result v2 div-int/lit8 v2, v2, 0x2 int-to-float v2, v2 mul-float/2addr v1, v2 sub-float/2addr v0, v1 iput v0, p1, Landroid/graphics/PointF;->x:F .line 2545 iget-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->getHeight()I move-result v0 div-int/lit8 v0, v0, 0x2 int-to-float v0, v0 iget v1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->scale:F invoke-direct {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sHeight()I move-result v2 div-int/lit8 v2, v2, 0x2 int-to-float v2, v2 mul-float/2addr v1, v2 sub-float/2addr v0, v1 iput v0, p1, Landroid/graphics/PointF;->y:F .line 2546 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result p1 if-eqz p1, :cond_3f const/4 p1, 0x1 .line 2547 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->refreshRequiredTiles(Z)V .line 2548 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V :cond_3f return-void .end method .method public final setPanLimit(I)V .registers 5 .line 2285 sget-object v0, Lcom/luck/picture/lib/widget/longimage/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 2288 iput p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->panLimit:I .line 2289 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->isReady()Z move-result p1 if-eqz p1, :cond_1b const/4 p1, 0x1 .line 2290 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->fitToBounds(Z)V .line 2291 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V :cond_1b return-void .line 2286 :cond_1c new-instance v0, Ljava/lang/IllegalArgumentException; new-instance v1, Ljava/lang/StringBuilder; const-string v2, "Invalid pan limit: " invoke-direct {v1, v2}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {v0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v0 .end method .method public setParallelLoadingEnabled(Z)V .registers 2 .line 2617 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->parallelLoadingEnabled:Z return-void .end method .method public final setQuickScaleEnabled(Z)V .registers 2 .line 2528 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/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<", "+", "Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;", ">;)V" } .end annotation if-eqz p1, :cond_a .line 2240 new-instance v0, Lcom/luck/picture/lib/widget/longimage/CompatDecoderFactory; invoke-direct {v0, p1}, Lcom/luck/picture/lib/widget/longimage/CompatDecoderFactory;->(Ljava/lang/Class;)V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->regionDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; return-void .line 2238 :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;->(Ljava/lang/String;)V throw p1 .end method .method public final setRegionDecoderFactory(Lcom/luck/picture/lib/widget/longimage/DecoderFactory;)V .registers 3 .annotation system Ldalvik/annotation/Signature; value = { "(", "Lcom/luck/picture/lib/widget/longimage/DecoderFactory<", "+", "Lcom/luck/picture/lib/widget/longimage/ImageRegionDecoder;", ">;)V" } .end annotation if-eqz p1, :cond_5 .line 2253 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->regionDecoderFactory:Lcom/luck/picture/lib/widget/longimage/DecoderFactory; return-void .line 2251 :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;->(Ljava/lang/String;)V throw p1 .end method .method public final setScaleAndCenter(FLandroid/graphics/PointF;)V .registers 4 const/4 v0, 0x0 .line 2404 iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->anim:Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView$Anim; .line 2405 invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object p1 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->pendingScale:Ljava/lang/Float; .line 2406 iput-object p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sPendingCenter:Landroid/graphics/PointF; .line 2407 iput-object p2, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sRequestedCenter:Landroid/graphics/PointF; .line 2408 invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V return-void .end method .method public final setTileBackgroundColor(I)V .registers 4 .line 2558 invoke-static {p1}, Landroid/graphics/Color;->alpha(I)I move-result v0 if-nez v0, :cond_a const/4 p1, 0x0 .line 2559 iput-object p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint; goto :goto_1b .line 2561 :cond_a new-instance v0, Landroid/graphics/Paint; invoke-direct {v0}, Landroid/graphics/Paint;->()V iput-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint; .line 2562 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 2563 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->tileBgPaint:Landroid/graphics/Paint; invoke-virtual {v0, p1}, Landroid/graphics/Paint;->setColor(I)V .line 2565 :goto_1b invoke-virtual {p0}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->invalidate()V return-void .end method .method public final setZoomEnabled(Z)V .registers 2 .line 2514 iput-boolean p1, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->zoomEnabled:Z return-void .end method .method public final sourceToViewCoord(FF)Landroid/graphics/PointF; .registers 4 .line 2079 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0}, Landroid/graphics/PointF;->()V invoke-virtual {p0, p1, p2, v0}, Lcom/luck/picture/lib/widget/longimage/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 2093 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-nez v0, :cond_6 const/4 p1, 0x0 return-object p1 .line 2096 :cond_6 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewX(F)F move-result p1 invoke-direct {p0, p2}, Lcom/luck/picture/lib/widget/longimage/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 2072 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;->()V invoke-virtual {p0, v0, p1, v1}, Lcom/luck/picture/lib/widget/longimage/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 2086 iget v0, p1, Landroid/graphics/PointF;->x:F iget p1, p1, Landroid/graphics/PointF;->y:F invoke-virtual {p0, v0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->sourceToViewCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF; move-result-object p1 return-object p1 .end method .method public final viewToSourceCoord(FF)Landroid/graphics/PointF; .registers 4 .line 2031 new-instance v0, Landroid/graphics/PointF; invoke-direct {v0}, Landroid/graphics/PointF;->()V invoke-virtual {p0, p1, p2, v0}, Lcom/luck/picture/lib/widget/longimage/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 2045 iget-object v0, p0, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->vTranslate:Landroid/graphics/PointF; if-nez v0, :cond_6 const/4 p1, 0x0 return-object p1 .line 2048 :cond_6 invoke-direct {p0, p1}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->viewToSourceX(F)F move-result p1 invoke-direct {p0, p2}, Lcom/luck/picture/lib/widget/longimage/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 2024 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;->()V invoke-virtual {p0, v0, p1, v1}, Lcom/luck/picture/lib/widget/longimage/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 2038 iget v0, p1, Landroid/graphics/PointF;->x:F iget p1, p1, Landroid/graphics/PointF;->y:F invoke-virtual {p0, v0, p1, p2}, Lcom/luck/picture/lib/widget/longimage/SubsamplingScaleImageView;->viewToSourceCoord(FFLandroid/graphics/PointF;)Landroid/graphics/PointF; move-result-object p1 return-object p1 .end method