.class public Lcom/yalantis/ucrop/UCropActivity; .super Landroidx/appcompat/app/AppCompatActivity; .source "UCropActivity.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/yalantis/ucrop/UCropActivity$GestureTypes; } .end annotation # static fields .field public static final ALL:I = 0x3 .field public static final DEFAULT_COMPRESS_FORMAT:Landroid/graphics/Bitmap$CompressFormat; .field public static final DEFAULT_COMPRESS_QUALITY:I = 0x64 .field public static final NONE:I = 0x0 .field public static final ROTATE:I = 0x2 .field private static final ROTATE_WIDGET_SENSITIVITY_COEFFICIENT:I = 0x2a .field public static final SCALE:I = 0x1 .field private static final SCALE_WIDGET_SENSITIVITY_COEFFICIENT:I = 0x3a98 .field private static final TABS_COUNT:I = 0x3 .field private static final TAG:Ljava/lang/String; = "UCropActivity" # instance fields .field private isDragFrame:Z .field private mActiveWidgetColor:I .field private mAllowedGestures:[I .field private mBlockingView:Landroid/view/View; .field private mCompressFormat:Landroid/graphics/Bitmap$CompressFormat; .field private mCompressQuality:I .field private mCropAspectRatioViews:Ljava/util/List; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/List<", "Landroid/view/ViewGroup;", ">;" } .end annotation .end field .field private mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; .field private mImageListener:Lcom/yalantis/ucrop/view/TransformImageView$TransformImageListener; .field private mLayoutAspectRatio:Landroid/view/ViewGroup; .field private mLayoutRotate:Landroid/view/ViewGroup; .field private mLayoutScale:Landroid/view/ViewGroup; .field private mLogoColor:I .field private mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; .field private mRootViewBackgroundColor:I .field private mShowBottomControls:Z .field private mShowLoader:Z .field private final mStateClickListener:Landroid/view/View$OnClickListener; .field private mStatusBarColor:I .field private mTextViewRotateAngle:Landroid/widget/TextView; .field private mTextViewScalePercent:Landroid/widget/TextView; .field private mToolbarCancelDrawable:I .field private mToolbarColor:I .field private mToolbarCropDrawable:I .field private mToolbarTitle:Ljava/lang/String; .field private mToolbarWidgetColor:I .field private mUCropView:Lcom/yalantis/ucrop/view/UCropView; .field private mWrapperStateAspectRatio:Landroid/view/ViewGroup; .field private mWrapperStateRotate:Landroid/view/ViewGroup; .field private mWrapperStateScale:Landroid/view/ViewGroup; .field private openWhiteStatusBar:Z .field private rotateEnabled:Z .field private scaleEnabled:Z # direct methods .method static constructor ()V .registers 1 .line 67 sget-object v0, Landroid/graphics/Bitmap$CompressFormat;->PNG:Landroid/graphics/Bitmap$CompressFormat; sput-object v0, Lcom/yalantis/ucrop/UCropActivity;->DEFAULT_COMPRESS_FORMAT:Landroid/graphics/Bitmap$CompressFormat; return-void .end method .method public constructor ()V .registers 4 .line 64 invoke-direct {p0}, Landroidx/appcompat/app/AppCompatActivity;->()V const/4 v0, 0x1 .line 102 iput-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowLoader:Z .line 109 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V iput-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mCropAspectRatioViews:Ljava/util/List; .line 113 sget-object v1, Lcom/yalantis/ucrop/UCropActivity;->DEFAULT_COMPRESS_FORMAT:Landroid/graphics/Bitmap$CompressFormat; iput-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mCompressFormat:Landroid/graphics/Bitmap$CompressFormat; const/16 v1, 0x64 .line 114 iput v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mCompressQuality:I const/4 v1, 0x2 const/4 v2, 0x3 .line 115 filled-new-array {v0, v1, v2}, [I move-result-object v0 iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mAllowedGestures:[I .line 436 new-instance v0, Lcom/yalantis/ucrop/UCropActivity$1; invoke-direct {v0, p0}, Lcom/yalantis/ucrop/UCropActivity$1;->(Lcom/yalantis/ucrop/UCropActivity;)V iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mImageListener:Lcom/yalantis/ucrop/view/TransformImageView$TransformImageListener; .line 633 new-instance v0, Lcom/yalantis/ucrop/UCropActivity$7; invoke-direct {v0, p0}, Lcom/yalantis/ucrop/UCropActivity$7;->(Lcom/yalantis/ucrop/UCropActivity;)V iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mStateClickListener:Landroid/view/View$OnClickListener; return-void .end method .method static synthetic access$000(Lcom/yalantis/ucrop/UCropActivity;F)V .registers 2 .line 64 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setAngleText(F)V return-void .end method .method static synthetic access$100(Lcom/yalantis/ucrop/UCropActivity;F)V .registers 2 .line 64 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setScaleText(F)V return-void .end method .method static synthetic access$200(Lcom/yalantis/ucrop/UCropActivity;)Lcom/yalantis/ucrop/view/UCropView; .registers 1 .line 64 iget-object p0, p0, Lcom/yalantis/ucrop/UCropActivity;->mUCropView:Lcom/yalantis/ucrop/view/UCropView; return-object p0 .end method .method static synthetic access$300(Lcom/yalantis/ucrop/UCropActivity;)Landroid/view/View; .registers 1 .line 64 iget-object p0, p0, Lcom/yalantis/ucrop/UCropActivity;->mBlockingView:Landroid/view/View; return-object p0 .end method .method static synthetic access$402(Lcom/yalantis/ucrop/UCropActivity;Z)Z .registers 2 .line 64 iput-boolean p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowLoader:Z return p1 .end method .method static synthetic access$500(Lcom/yalantis/ucrop/UCropActivity;)Lcom/yalantis/ucrop/view/GestureCropImageView; .registers 1 .line 64 iget-object p0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; return-object p0 .end method .method static synthetic access$600(Lcom/yalantis/ucrop/UCropActivity;)Ljava/util/List; .registers 1 .line 64 iget-object p0, p0, Lcom/yalantis/ucrop/UCropActivity;->mCropAspectRatioViews:Ljava/util/List; return-object p0 .end method .method static synthetic access$700(Lcom/yalantis/ucrop/UCropActivity;)V .registers 1 .line 64 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->resetRotation()V return-void .end method .method static synthetic access$800(Lcom/yalantis/ucrop/UCropActivity;I)V .registers 2 .line 64 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->rotateByAngle(I)V return-void .end method .method static synthetic access$900(Lcom/yalantis/ucrop/UCropActivity;I)V .registers 2 .line 64 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setWidgetState(I)V return-void .end method .method private addBlockingView()V .registers 4 .line 687 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mBlockingView:Landroid/view/View; if-nez v0, :cond_22 .line 688 new-instance v0, Landroid/view/View; invoke-direct {v0, p0}, Landroid/view/View;->(Landroid/content/Context;)V iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mBlockingView:Landroid/view/View; .line 689 new-instance v0, Landroid/widget/RelativeLayout$LayoutParams; const/4 v1, -0x1 invoke-direct {v0, v1, v1}, Landroid/widget/RelativeLayout$LayoutParams;->(II)V const/4 v1, 0x3 .line 690 sget v2, Lcom/yalantis/ucrop/R$id;->toolbar:I invoke-virtual {v0, v1, v2}, Landroid/widget/RelativeLayout$LayoutParams;->addRule(II)V .line 691 iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mBlockingView:Landroid/view/View; invoke-virtual {v1, v0}, Landroid/view/View;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V .line 692 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mBlockingView:Landroid/view/View; const/4 v1, 0x1 invoke-virtual {v0, v1}, Landroid/view/View;->setClickable(Z)V .line 695 :cond_22 sget v0, Lcom/yalantis/ucrop/R$id;->ucrop_photobox:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/RelativeLayout; iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mBlockingView:Landroid/view/View; invoke-virtual {v0, v1}, Landroid/widget/RelativeLayout;->addView(Landroid/view/View;)V return-void .end method .method private getIntentData(Landroid/content/Intent;)V .registers 4 .line 326 const-string v0, ".openWhiteStatusBar" const/4 v1, 0x0 invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v0 iput-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->openWhiteStatusBar:Z .line 327 sget v0, Lcom/yalantis/ucrop/R$color;->ucrop_color_statusbar:I invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result v0 const-string v1, ".StatusBarColor" invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mStatusBarColor:I .line 328 sget v0, Lcom/yalantis/ucrop/R$color;->ucrop_color_toolbar:I invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result v0 const-string v1, ".ToolbarColor" invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result p1 iput p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarColor:I if-nez p1, :cond_2f .line 330 sget p1, Lcom/yalantis/ucrop/R$color;->ucrop_color_toolbar:I invoke-static {p0, p1}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result p1 iput p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarColor:I .line 332 :cond_2f iget p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mStatusBarColor:I if-nez p1, :cond_3b .line 333 sget p1, Lcom/yalantis/ucrop/R$color;->ucrop_color_statusbar:I invoke-static {p0, p1}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result p1 iput p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mStatusBarColor:I :cond_3b return-void .end method .method private initiateRootViews()V .registers 3 .line 425 sget v0, Lcom/yalantis/ucrop/R$id;->ucrop:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Lcom/yalantis/ucrop/view/UCropView; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mUCropView:Lcom/yalantis/ucrop/view/UCropView; .line 426 invoke-virtual {v0}, Lcom/yalantis/ucrop/view/UCropView;->getCropImageView()Lcom/yalantis/ucrop/view/GestureCropImageView; move-result-object v0 iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; .line 427 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mUCropView:Lcom/yalantis/ucrop/view/UCropView; invoke-virtual {v0}, Lcom/yalantis/ucrop/view/UCropView;->getOverlayView()Lcom/yalantis/ucrop/view/OverlayView; move-result-object v0 iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; .line 429 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mImageListener:Lcom/yalantis/ucrop/view/TransformImageView$TransformImageListener; invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setTransformImageListener(Lcom/yalantis/ucrop/view/TransformImageView$TransformImageListener;)V return-void .end method .method private processOptions(Landroid/content/Intent;)V .registers 9 .line 257 const-string v0, ".CompressionFormatName" invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 .line 259 invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z move-result v1 if-nez v1, :cond_11 .line 260 invoke-static {v0}, Landroid/graphics/Bitmap$CompressFormat;->valueOf(Ljava/lang/String;)Landroid/graphics/Bitmap$CompressFormat; move-result-object v0 goto :goto_12 :cond_11 const/4 v0, 0x0 :goto_12 if-nez v0, :cond_16 .line 262 sget-object v0, Lcom/yalantis/ucrop/UCropActivity;->DEFAULT_COMPRESS_FORMAT:Landroid/graphics/Bitmap$CompressFormat; :cond_16 iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mCompressFormat:Landroid/graphics/Bitmap$CompressFormat; .line 264 const-string v0, ".CompressionQuality" const/16 v1, 0x64 invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mCompressQuality:I .line 267 const-string v0, ".AllowedGestures" invoke-virtual {p1, v0}, Landroid/content/Intent;->getIntArrayExtra(Ljava/lang/String;)[I move-result-object v0 if-eqz v0, :cond_30 .line 268 array-length v1, v0 const/4 v2, 0x3 if-ne v1, v2, :cond_30 .line 269 iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mAllowedGestures:[I .line 273 :cond_30 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; const-string v1, ".MaxBitmapSize" const/4 v2, 0x0 invoke-virtual {p1, v1, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setMaxBitmapSize(I)V .line 274 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; const-string v1, ".MaxScaleMultiplier" const/high16 v3, 0x41200000 # 10.0f invoke-virtual {p1, v1, v3}, Landroid/content/Intent;->getFloatExtra(Ljava/lang/String;F)F move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setMaxScaleMultiplier(F)V .line 275 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; const-string v1, ".ImageToCropBoundsAnimDuration" const/16 v3, 0x1f4 invoke-virtual {p1, v1, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 int-to-long v3, v1 invoke-virtual {v0, v3, v4}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setImageToWrapCropBoundsAnimDuration(J)V .line 278 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; const-string v1, ".FreeStyleCrop" invoke-virtual {p1, v1, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setFreestyleCropEnabled(Z)V .line 280 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; iget-boolean v1, p0, Lcom/yalantis/ucrop/UCropActivity;->isDragFrame:Z invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setDragFrame(Z)V .line 282 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getResources()Landroid/content/res/Resources; move-result-object v1 sget v3, Lcom/yalantis/ucrop/R$color;->ucrop_color_default_dimmed:I invoke-virtual {v1, v3}, Landroid/content/res/Resources;->getColor(I)I move-result v1 const-string v3, ".DimmedLayerColor" invoke-virtual {p1, v3, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setDimmedColor(I)V .line 283 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; const-string v1, ".CircleDimmedLayer" invoke-virtual {p1, v1, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setCircleDimmedLayer(Z)V .line 285 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; const-string v1, ".ShowCropFrame" const/4 v3, 0x1 invoke-virtual {p1, v1, v3}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setShowCropFrame(Z)V .line 286 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getResources()Landroid/content/res/Resources; move-result-object v1 sget v4, Lcom/yalantis/ucrop/R$color;->ucrop_color_default_crop_frame:I invoke-virtual {v1, v4}, Landroid/content/res/Resources;->getColor(I)I move-result v1 const-string v4, ".CropFrameColor" invoke-virtual {p1, v4, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setCropFrameColor(I)V .line 287 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getResources()Landroid/content/res/Resources; move-result-object v1 sget v4, Lcom/yalantis/ucrop/R$dimen;->ucrop_default_crop_frame_stoke_width:I invoke-virtual {v1, v4}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v1 const-string v4, ".CropFrameStrokeWidth" invoke-virtual {p1, v4, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setCropFrameStrokeWidth(I)V .line 289 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; const-string v1, ".ShowCropGrid" invoke-virtual {p1, v1, v3}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setShowCropGrid(Z)V .line 290 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; const-string v1, ".CropGridRowCount" const/4 v3, 0x2 invoke-virtual {p1, v1, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setCropGridRowCount(I)V .line 291 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; const-string v1, ".CropGridColumnCount" invoke-virtual {p1, v1, v3}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setCropGridColumnCount(I)V .line 292 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getResources()Landroid/content/res/Resources; move-result-object v1 sget v3, Lcom/yalantis/ucrop/R$color;->ucrop_color_default_crop_grid:I invoke-virtual {v1, v3}, Landroid/content/res/Resources;->getColor(I)I move-result v1 const-string v3, ".CropGridColor" invoke-virtual {p1, v3, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setCropGridColor(I)V .line 293 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mOverlayView:Lcom/yalantis/ucrop/view/OverlayView; invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getResources()Landroid/content/res/Resources; move-result-object v1 sget v3, Lcom/yalantis/ucrop/R$dimen;->ucrop_default_crop_grid_stoke_width:I invoke-virtual {v1, v3}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I move-result v1 const-string v3, ".CropGridStrokeWidth" invoke-virtual {p1, v3, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/OverlayView;->setCropGridStrokeWidth(I)V .line 296 const-string v0, ".AspectRatioX" const/4 v1, 0x0 invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getFloatExtra(Ljava/lang/String;F)F move-result v0 .line 297 const-string v3, ".AspectRatioY" invoke-virtual {p1, v3, v1}, Landroid/content/Intent;->getFloatExtra(Ljava/lang/String;F)F move-result v3 .line 299 const-string v4, ".AspectRatioSelectedByDefault" invoke-virtual {p1, v4, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v4 .line 300 const-string v5, ".AspectRatioOptions" invoke-virtual {p1, v5}, Landroid/content/Intent;->getParcelableArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList; move-result-object v5 cmpl-float v6, v0, v1 if-lez v6, :cond_13c cmpl-float v6, v3, v1 if-lez v6, :cond_13c .line 303 iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mWrapperStateAspectRatio:Landroid/view/ViewGroup; if-eqz v1, :cond_135 const/16 v4, 0x8 .line 304 invoke-virtual {v1, v4}, Landroid/view/ViewGroup;->setVisibility(I)V .line 306 :cond_135 iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; div-float/2addr v0, v3 invoke-virtual {v1, v0}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setTargetAspectRatio(F)V goto :goto_164 :cond_13c if-eqz v5, :cond_15f .line 307 invoke-virtual {v5}, Ljava/util/ArrayList;->size()I move-result v0 if-ge v4, v0, :cond_15f .line 308 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/yalantis/ucrop/model/AspectRatio; invoke-virtual {v1}, Lcom/yalantis/ucrop/model/AspectRatio;->getAspectRatioX()F move-result v1 .line 309 invoke-virtual {v5, v4}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Lcom/yalantis/ucrop/model/AspectRatio; invoke-virtual {v3}, Lcom/yalantis/ucrop/model/AspectRatio;->getAspectRatioY()F move-result v3 div-float/2addr v1, v3 .line 308 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setTargetAspectRatio(F)V goto :goto_164 .line 311 :cond_15f iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setTargetAspectRatio(F)V .line 315 :goto_164 const-string v0, ".MaxSizeX" invoke-virtual {p1, v0, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 .line 316 const-string v1, ".MaxSizeY" invoke-virtual {p1, v1, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result p1 if-lez v0, :cond_17e if-lez p1, :cond_17e .line 319 iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; invoke-virtual {v1, v0}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setMaxResultImageSizeX(I)V .line 320 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; invoke-virtual {v0, p1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setMaxResultImageSizeY(I)V :cond_17e return-void .end method .method private resetRotation()V .registers 3 .line 624 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; invoke-virtual {v0}, Lcom/yalantis/ucrop/view/GestureCropImageView;->getCurrentAngle()F move-result v1 neg-float v1, v1 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->postRotate(F)V .line 625 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; invoke-virtual {v0}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setImageToWrapCropBounds()V return-void .end method .method private rotateByAngle(I)V .registers 3 .line 629 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; int-to-float p1, p1 invoke-virtual {v0, p1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->postRotate(F)V .line 630 iget-object p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; invoke-virtual {p1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setImageToWrapCropBounds()V return-void .end method .method private setAllowedGestures(I)V .registers 7 .line 675 iget-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowBottomControls:Z if-eqz v0, :cond_27 .line 676 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mAllowedGestures:[I aget v1, v1, p1 const/4 v2, 0x0 const/4 v3, 0x3 const/4 v4, 0x1 if-eq v1, v3, :cond_14 if-ne v1, v4, :cond_12 goto :goto_14 :cond_12 move v1, v2 goto :goto_15 :cond_14 :goto_14 move v1, v4 :goto_15 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setScaleEnabled(Z)V .line 677 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mAllowedGestures:[I aget p1, v1, p1 if-eq p1, v3, :cond_23 const/4 v1, 0x2 if-ne p1, v1, :cond_24 :cond_23 move v2, v4 :cond_24 invoke-virtual {v0, v2}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setRotateEnabled(Z)V :cond_27 return-void .end method .method private setAngleText(F)V .registers 5 .line 612 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mTextViewRotateAngle:Landroid/widget/TextView; if-eqz v0, :cond_19 .line 613 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v1 invoke-static {p1}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string v2, "%.1f\u00b0" invoke-static {v1, v2, p1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V :cond_19 return-void .end method .method private setImageData(Landroid/content/Intent;)V .registers 7 .line 227 const-string v0, ".InputUri" invoke-virtual {p1, v0}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable; move-result-object v0 check-cast v0, Landroid/net/Uri; .line 228 const-string v1, ".OutputUri" invoke-virtual {p1, v1}, Landroid/content/Intent;->getParcelableExtra(Ljava/lang/String;)Landroid/os/Parcelable; move-result-object v1 check-cast v1, Landroid/net/Uri; .line 229 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->processOptions(Landroid/content/Intent;)V if-eqz v0, :cond_56 if-eqz v1, :cond_56 .line 233 :try_start_17 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getContentResolver()Landroid/content/ContentResolver; move-result-object p1 const-string v2, "r" invoke-virtual {p1, v0, v2}, Landroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor; move-result-object p1 .line 234 new-instance v2, Ljava/io/FileInputStream; invoke-virtual {p1}, Landroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor; move-result-object p1 invoke-direct {v2, p1}, Ljava/io/FileInputStream;->(Ljava/io/FileDescriptor;)V .line 235 invoke-static {v2}, Lcom/yalantis/ucrop/util/FileUtils;->extSuffix(Ljava/io/InputStream;)Ljava/lang/String; move-result-object p1 .line 236 invoke-static {p1}, Lcom/yalantis/ucrop/util/FileUtils;->isGifForSuffix(Ljava/lang/String;)Z move-result p1 .line 237 iget-object v2, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; const/4 v3, 0x0 if-eqz p1, :cond_39 move v4, v3 goto :goto_3b :cond_39 iget-boolean v4, p0, Lcom/yalantis/ucrop/UCropActivity;->rotateEnabled:Z :goto_3b invoke-virtual {v2, v4}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setRotateEnabled(Z)V .line 238 iget-object v2, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; if-eqz p1, :cond_43 goto :goto_45 :cond_43 iget-boolean v3, p0, Lcom/yalantis/ucrop/UCropActivity;->scaleEnabled:Z :goto_45 invoke-virtual {v2, v3}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setScaleEnabled(Z)V .line 239 iget-object p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; invoke-virtual {p1, v0, v1}, Lcom/yalantis/ucrop/view/GestureCropImageView;->setImageUri(Landroid/net/Uri;Landroid/net/Uri;)V :try_end_4d .catch Ljava/lang/Exception; {:try_start_17 .. :try_end_4d} :catch_4e goto :goto_67 :catch_4e move-exception p1 .line 241 invoke-virtual {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setResultError(Ljava/lang/Throwable;)V .line 242 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->closeActivity()V goto :goto_67 .line 245 :cond_56 new-instance p1, Ljava/lang/NullPointerException; sget v0, Lcom/yalantis/ucrop/R$string;->ucrop_error_input_data_is_absent:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->getString(I)Ljava/lang/String; move-result-object v0 invoke-direct {p1, v0}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V invoke-virtual {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setResultError(Ljava/lang/Throwable;)V .line 246 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->closeActivity()V :goto_67 return-void .end method .method private setInitialState()V .registers 2 .line 643 iget-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowBottomControls:Z if-eqz v0, :cond_18 .line 644 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mWrapperStateAspectRatio:Landroid/view/ViewGroup; invoke-virtual {v0}, Landroid/view/ViewGroup;->getVisibility()I move-result v0 if-nez v0, :cond_12 .line 645 sget v0, Lcom/yalantis/ucrop/R$id;->state_aspect_ratio:I invoke-direct {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->setWidgetState(I)V goto :goto_1c .line 647 :cond_12 sget v0, Lcom/yalantis/ucrop/R$id;->state_scale:I invoke-direct {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->setWidgetState(I)V goto :goto_1c :cond_18 const/4 v0, 0x0 .line 650 invoke-direct {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->setAllowedGestures(I)V :goto_1c return-void .end method .method private setNavBar()V .registers 4 .line 389 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getIntent()Landroid/content/Intent; move-result-object v0 const-string v1, ".navBarColor" const/4 v2, 0x0 invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 if-eqz v0, :cond_14 .line 391 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getWindow()Landroid/view/Window; move-result-object v1 invoke-virtual {v1, v0}, Landroid/view/Window;->setNavigationBarColor(I)V :cond_14 return-void .end method .method private setScaleText(F)V .registers 5 .line 618 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mTextViewScalePercent:Landroid/widget/TextView; if-eqz v0, :cond_1d .line 619 invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale; move-result-object v1 const/high16 v2, 0x42c80000 # 100.0f mul-float/2addr p1, v2 float-to-int p1, p1 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 filled-new-array {p1}, [Ljava/lang/Object; move-result-object p1 const-string v2, "%d%%" invoke-static {v1, v2, p1}, Ljava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object p1 invoke-virtual {v0, p1}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V :cond_1d return-void .end method .method private setStatusBarColor(I)V .registers 4 .line 485 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getWindow()Landroid/view/Window; move-result-object v0 if-eqz v0, :cond_e const/high16 v1, -0x80000000 .line 487 invoke-virtual {v0, v1}, Landroid/view/Window;->addFlags(I)V .line 488 invoke-virtual {v0, p1}, Landroid/view/Window;->setStatusBarColor(I)V :cond_e return-void .end method .method private setWidgetState(I)V .registers 7 .line 655 iget-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowBottomControls:Z if-nez v0, :cond_5 return-void .line 657 :cond_5 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mWrapperStateAspectRatio:Landroid/view/ViewGroup; sget v1, Lcom/yalantis/ucrop/R$id;->state_aspect_ratio:I const/4 v2, 0x1 const/4 v3, 0x0 if-ne p1, v1, :cond_f move v1, v2 goto :goto_10 :cond_f move v1, v3 :goto_10 invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setSelected(Z)V .line 658 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mWrapperStateRotate:Landroid/view/ViewGroup; sget v1, Lcom/yalantis/ucrop/R$id;->state_rotate:I if-ne p1, v1, :cond_1b move v1, v2 goto :goto_1c :cond_1b move v1, v3 :goto_1c invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setSelected(Z)V .line 659 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mWrapperStateScale:Landroid/view/ViewGroup; sget v1, Lcom/yalantis/ucrop/R$id;->state_scale:I if-ne p1, v1, :cond_27 move v1, v2 goto :goto_28 :cond_27 move v1, v3 :goto_28 invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setSelected(Z)V .line 661 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mLayoutAspectRatio:Landroid/view/ViewGroup; sget v1, Lcom/yalantis/ucrop/R$id;->state_aspect_ratio:I const/16 v4, 0x8 if-ne p1, v1, :cond_35 move v1, v3 goto :goto_36 :cond_35 move v1, v4 :goto_36 invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setVisibility(I)V .line 662 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mLayoutRotate:Landroid/view/ViewGroup; sget v1, Lcom/yalantis/ucrop/R$id;->state_rotate:I if-ne p1, v1, :cond_41 move v1, v3 goto :goto_42 :cond_41 move v1, v4 :goto_42 invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setVisibility(I)V .line 663 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mLayoutScale:Landroid/view/ViewGroup; sget v1, Lcom/yalantis/ucrop/R$id;->state_scale:I if-ne p1, v1, :cond_4c move v4, v3 :cond_4c invoke-virtual {v0, v4}, Landroid/view/ViewGroup;->setVisibility(I)V .line 665 sget v0, Lcom/yalantis/ucrop/R$id;->state_scale:I if-ne p1, v0, :cond_57 .line 666 invoke-direct {p0, v3}, Lcom/yalantis/ucrop/UCropActivity;->setAllowedGestures(I)V goto :goto_63 .line 667 :cond_57 sget v0, Lcom/yalantis/ucrop/R$id;->state_rotate:I if-ne p1, v0, :cond_5f .line 668 invoke-direct {p0, v2}, Lcom/yalantis/ucrop/UCropActivity;->setAllowedGestures(I)V goto :goto_63 :cond_5f const/4 p1, 0x2 .line 670 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setAllowedGestures(I)V :goto_63 return-void .end method .method private setupAppBar()V .registers 5 .line 400 iget v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mStatusBarColor:I invoke-direct {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->setStatusBarColor(I)V .line 402 sget v0, Lcom/yalantis/ucrop/R$id;->toolbar:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroidx/appcompat/widget/Toolbar; .line 405 iget v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarColor:I invoke-virtual {v0, v1}, Landroidx/appcompat/widget/Toolbar;->setBackgroundColor(I)V .line 406 iget v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarWidgetColor:I invoke-virtual {v0, v1}, Landroidx/appcompat/widget/Toolbar;->setTitleTextColor(I)V .line 408 sget v1, Lcom/yalantis/ucrop/R$id;->toolbar_title:I invoke-virtual {v0, v1}, Landroidx/appcompat/widget/Toolbar;->findViewById(I)Landroid/view/View; move-result-object v1 check-cast v1, Landroid/widget/TextView; .line 409 iget v2, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarWidgetColor:I invoke-virtual {v1, v2}, Landroid/widget/TextView;->setTextColor(I)V .line 410 iget-object v2, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarTitle:Ljava/lang/String; invoke-virtual {v1, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V .line 413 iget v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarCancelDrawable:I invoke-static {p0, v1}, Landroidx/core/content/ContextCompat;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; move-result-object v1 invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; move-result-object v1 .line 414 iget v2, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarWidgetColor:I sget-object v3, Landroid/graphics/PorterDuff$Mode;->SRC_ATOP:Landroid/graphics/PorterDuff$Mode; invoke-virtual {v1, v2, v3}, Landroid/graphics/drawable/Drawable;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V .line 415 invoke-virtual {v0, v1}, Landroidx/appcompat/widget/Toolbar;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V .line 417 invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->setSupportActionBar(Landroidx/appcompat/widget/Toolbar;)V .line 418 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getSupportActionBar()Landroidx/appcompat/app/ActionBar; move-result-object v0 if-eqz v0, :cond_4a const/4 v1, 0x0 .line 420 invoke-virtual {v0, v1}, Landroidx/appcompat/app/ActionBar;->setDisplayShowTitleEnabled(Z)V :cond_4a return-void .end method .method private setupAspectRatioWidget(Landroid/content/Intent;)V .registers 11 .line 495 const-string v0, ".AspectRatioSelectedByDefault" const/4 v1, 0x0 invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 .line 496 const-string v2, ".AspectRatioOptions" invoke-virtual {p1, v2}, Landroid/content/Intent;->getParcelableArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList; move-result-object p1 const/high16 v2, 0x3f800000 # 1.0f const/4 v3, 0x0 if-eqz p1, :cond_18 .line 498 invoke-virtual {p1}, Ljava/util/ArrayList;->isEmpty()Z move-result v4 if-eqz v4, :cond_5b .line 501 :cond_18 new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V .line 502 new-instance v0, Lcom/yalantis/ucrop/model/AspectRatio; invoke-direct {v0, v3, v2, v2}, Lcom/yalantis/ucrop/model/AspectRatio;->(Ljava/lang/String;FF)V invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 503 new-instance v0, Lcom/yalantis/ucrop/model/AspectRatio; const/high16 v4, 0x40800000 # 4.0f const/high16 v5, 0x40400000 # 3.0f invoke-direct {v0, v3, v5, v4}, Lcom/yalantis/ucrop/model/AspectRatio;->(Ljava/lang/String;FF)V invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 504 new-instance v0, Lcom/yalantis/ucrop/model/AspectRatio; sget v4, Lcom/yalantis/ucrop/R$string;->ucrop_label_original:I invoke-virtual {p0, v4}, Lcom/yalantis/ucrop/UCropActivity;->getString(I)Ljava/lang/String; move-result-object v4 invoke-virtual {v4}, Ljava/lang/String;->toUpperCase()Ljava/lang/String; move-result-object v4 const/4 v6, 0x0 invoke-direct {v0, v4, v6, v6}, Lcom/yalantis/ucrop/model/AspectRatio;->(Ljava/lang/String;FF)V invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 506 new-instance v0, Lcom/yalantis/ucrop/model/AspectRatio; const/high16 v4, 0x40000000 # 2.0f invoke-direct {v0, v3, v5, v4}, Lcom/yalantis/ucrop/model/AspectRatio;->(Ljava/lang/String;FF)V invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 507 new-instance v0, Lcom/yalantis/ucrop/model/AspectRatio; const/high16 v4, 0x41800000 # 16.0f const/high16 v5, 0x41100000 # 9.0f invoke-direct {v0, v3, v4, v5}, Lcom/yalantis/ucrop/model/AspectRatio;->(Ljava/lang/String;FF)V invoke-virtual {p1, v0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z const/4 v0, 0x2 .line 510 :cond_5b sget v4, Lcom/yalantis/ucrop/R$id;->layout_aspect_ratio:I invoke-virtual {p0, v4}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v4 check-cast v4, Landroid/widget/LinearLayout; .line 514 new-instance v5, Landroid/widget/LinearLayout$LayoutParams; const/4 v6, -0x1 invoke-direct {v5, v1, v6}, Landroid/widget/LinearLayout$LayoutParams;->(II)V .line 515 iput v2, v5, Landroid/widget/LinearLayout$LayoutParams;->weight:F .line 516 invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_6f invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_a1 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Lcom/yalantis/ucrop/model/AspectRatio; .line 517 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getLayoutInflater()Landroid/view/LayoutInflater; move-result-object v6 sget v7, Lcom/yalantis/ucrop/R$layout;->ucrop_aspect_ratio:I invoke-virtual {v6, v7, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View; move-result-object v6 check-cast v6, Landroid/widget/FrameLayout; .line 518 invoke-virtual {v6, v5}, Landroid/widget/FrameLayout;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V .line 519 invoke-virtual {v6, v1}, Landroid/widget/FrameLayout;->getChildAt(I)Landroid/view/View; move-result-object v7 check-cast v7, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView; .line 520 iget v8, p0, Lcom/yalantis/ucrop/UCropActivity;->mActiveWidgetColor:I invoke-virtual {v7, v8}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setActiveColor(I)V .line 521 invoke-virtual {v7, v2}, Lcom/yalantis/ucrop/view/widget/AspectRatioTextView;->setAspectRatio(Lcom/yalantis/ucrop/model/AspectRatio;)V .line 523 invoke-virtual {v4, v6}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V .line 524 iget-object v2, p0, Lcom/yalantis/ucrop/UCropActivity;->mCropAspectRatioViews:Ljava/util/List; invoke-interface {v2, v6}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_6f .line 527 :cond_a1 iget-object p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mCropAspectRatioViews:Ljava/util/List; invoke-interface {p1, v0}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroid/view/ViewGroup; const/4 v0, 0x1 invoke-virtual {p1, v0}, Landroid/view/ViewGroup;->setSelected(Z)V .line 529 iget-object p1, p0, Lcom/yalantis/ucrop/UCropActivity;->mCropAspectRatioViews:Ljava/util/List; invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_b3 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_c8 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; .line 530 new-instance v1, Lcom/yalantis/ucrop/UCropActivity$2; invoke-direct {v1, p0}, Lcom/yalantis/ucrop/UCropActivity$2;->(Lcom/yalantis/ucrop/UCropActivity;)V invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setOnClickListener(Landroid/view/View$OnClickListener;)V goto :goto_b3 :cond_c8 return-void .end method .method private setupRotateWidget()V .registers 3 .line 547 sget v0, Lcom/yalantis/ucrop/R$id;->text_view_rotate:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/TextView; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mTextViewRotateAngle:Landroid/widget/TextView; .line 548 sget v0, Lcom/yalantis/ucrop/R$id;->rotate_scroll_wheel:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView; new-instance v1, Lcom/yalantis/ucrop/UCropActivity$3; invoke-direct {v1, p0}, Lcom/yalantis/ucrop/UCropActivity$3;->(Lcom/yalantis/ucrop/UCropActivity;)V .line 549 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView;->setScrollingListener(Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView$ScrollingListener;)V .line 566 sget v0, Lcom/yalantis/ucrop/R$id;->rotate_scroll_wheel:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView; iget v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mActiveWidgetColor:I invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView;->setMiddleLineColor(I)V .line 569 sget v0, Lcom/yalantis/ucrop/R$id;->wrapper_reset_rotate:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 new-instance v1, Lcom/yalantis/ucrop/UCropActivity$4; invoke-direct {v1, p0}, Lcom/yalantis/ucrop/UCropActivity$4;->(Lcom/yalantis/ucrop/UCropActivity;)V invoke-virtual {v0, v1}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 575 sget v0, Lcom/yalantis/ucrop/R$id;->wrapper_rotate_by_angle:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 new-instance v1, Lcom/yalantis/ucrop/UCropActivity$5; invoke-direct {v1, p0}, Lcom/yalantis/ucrop/UCropActivity$5;->(Lcom/yalantis/ucrop/UCropActivity;)V invoke-virtual {v0, v1}, Landroid/view/View;->setOnClickListener(Landroid/view/View$OnClickListener;)V return-void .end method .method private setupScaleWidget()V .registers 3 .line 584 sget v0, Lcom/yalantis/ucrop/R$id;->text_view_scale:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/TextView; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mTextViewScalePercent:Landroid/widget/TextView; .line 585 sget v0, Lcom/yalantis/ucrop/R$id;->scale_scroll_wheel:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView; new-instance v1, Lcom/yalantis/ucrop/UCropActivity$6; invoke-direct {v1, p0}, Lcom/yalantis/ucrop/UCropActivity$6;->(Lcom/yalantis/ucrop/UCropActivity;)V .line 586 invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView;->setScrollingListener(Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView$ScrollingListener;)V .line 608 sget v0, Lcom/yalantis/ucrop/R$id;->scale_scroll_wheel:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView; iget v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mActiveWidgetColor:I invoke-virtual {v0, v1}, Lcom/yalantis/ucrop/view/widget/HorizontalProgressWheelView;->setMiddleLineColor(I)V return-void .end method .method private setupStatesWrapper()V .registers 7 .line 467 sget v0, Lcom/yalantis/ucrop/R$id;->image_view_state_scale:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/ImageView; .line 468 sget v1, Lcom/yalantis/ucrop/R$id;->image_view_state_rotate:I invoke-virtual {p0, v1}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v1 check-cast v1, Landroid/widget/ImageView; .line 469 sget v2, Lcom/yalantis/ucrop/R$id;->image_view_state_aspect_ratio:I invoke-virtual {p0, v2}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v2 check-cast v2, Landroid/widget/ImageView; .line 471 new-instance v3, Lcom/yalantis/ucrop/util/SelectedStateListDrawable; invoke-virtual {v0}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v4 iget v5, p0, Lcom/yalantis/ucrop/UCropActivity;->mActiveWidgetColor:I invoke-direct {v3, v4, v5}, Lcom/yalantis/ucrop/util/SelectedStateListDrawable;->(Landroid/graphics/drawable/Drawable;I)V invoke-virtual {v0, v3}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V .line 472 new-instance v0, Lcom/yalantis/ucrop/util/SelectedStateListDrawable; invoke-virtual {v1}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v3 iget v4, p0, Lcom/yalantis/ucrop/UCropActivity;->mActiveWidgetColor:I invoke-direct {v0, v3, v4}, Lcom/yalantis/ucrop/util/SelectedStateListDrawable;->(Landroid/graphics/drawable/Drawable;I)V invoke-virtual {v1, v0}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V .line 473 new-instance v0, Lcom/yalantis/ucrop/util/SelectedStateListDrawable; invoke-virtual {v2}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v1 iget v3, p0, Lcom/yalantis/ucrop/UCropActivity;->mActiveWidgetColor:I invoke-direct {v0, v1, v3}, Lcom/yalantis/ucrop/util/SelectedStateListDrawable;->(Landroid/graphics/drawable/Drawable;I)V invoke-virtual {v2, v0}, Landroid/widget/ImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V return-void .end method .method private setupViews(Landroid/content/Intent;)V .registers 5 .line 339 const-string v0, ".scale" const/4 v1, 0x1 invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v0 iput-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->scaleEnabled:Z .line 341 const-string v0, ".rotate" invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v0 iput-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->rotateEnabled:Z .line 344 const-string v0, ".DragCropFrame" invoke-virtual {p1, v0, v1}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v0 iput-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->isDragFrame:Z .line 346 sget v0, Lcom/yalantis/ucrop/R$color;->ucrop_color_widget_active:I invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result v0 const-string v2, ".UcropColorWidgetActive" invoke-virtual {p1, v2, v0}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mActiveWidgetColor:I .line 347 sget v0, Lcom/yalantis/ucrop/R$color;->ucrop_color_toolbar_widget:I invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result v0 const-string v2, ".UcropToolbarWidgetColor" invoke-virtual {p1, v2, v0}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarWidgetColor:I if-nez v0, :cond_3f .line 349 sget v0, Lcom/yalantis/ucrop/R$color;->ucrop_color_toolbar_widget:I invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarWidgetColor:I .line 351 :cond_3f const-string v0, ".UcropToolbarCancelDrawable" sget v2, Lcom/yalantis/ucrop/R$drawable;->ucrop_ic_cross:I invoke-virtual {p1, v0, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarCancelDrawable:I .line 352 const-string v0, ".UcropToolbarCropDrawable" sget v2, Lcom/yalantis/ucrop/R$drawable;->ucrop_ic_done:I invoke-virtual {p1, v0, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarCropDrawable:I .line 353 const-string v0, ".UcropToolbarTitleText" invoke-virtual {p1, v0}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String; move-result-object v0 iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarTitle:Ljava/lang/String; if-eqz v0, :cond_5e goto :goto_68 .line 354 :cond_5e invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getResources()Landroid/content/res/Resources; move-result-object v0 sget v2, Lcom/yalantis/ucrop/R$string;->ucrop_label_edit_photo:I invoke-virtual {v0, v2}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; move-result-object v0 :goto_68 iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarTitle:Ljava/lang/String; .line 355 sget v0, Lcom/yalantis/ucrop/R$color;->ucrop_color_default_logo:I invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result v0 const-string v2, ".UcropLogoColor" invoke-virtual {p1, v2, v0}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mLogoColor:I .line 356 const-string v0, ".HideBottomControls" const/4 v2, 0x0 invoke-virtual {p1, v0, v2}, Landroid/content/Intent;->getBooleanExtra(Ljava/lang/String;Z)Z move-result v0 xor-int/2addr v0, v1 iput-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowBottomControls:Z .line 357 sget v0, Lcom/yalantis/ucrop/R$color;->ucrop_color_crop_background:I invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->getColor(Landroid/content/Context;I)I move-result v0 const-string v1, ".UcropRootViewBackgroundColor" invoke-virtual {p1, v1, v0}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 iput v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mRootViewBackgroundColor:I .line 358 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->setNavBar()V .line 359 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->setupAppBar()V .line 360 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->initiateRootViews()V .line 362 iget-boolean v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowBottomControls:Z if-eqz v0, :cond_101 .line 363 sget v0, Lcom/yalantis/ucrop/R$id;->ucrop_photobox:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; .line 364 sget v1, Lcom/yalantis/ucrop/R$layout;->ucrop_controls:I invoke-static {p0, v1, v0}, Landroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View; .line 366 sget v0, Lcom/yalantis/ucrop/R$id;->state_aspect_ratio:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mWrapperStateAspectRatio:Landroid/view/ViewGroup; .line 367 iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mStateClickListener:Landroid/view/View$OnClickListener; invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 368 sget v0, Lcom/yalantis/ucrop/R$id;->state_rotate:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mWrapperStateRotate:Landroid/view/ViewGroup; .line 369 iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mStateClickListener:Landroid/view/View$OnClickListener; invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 370 sget v0, Lcom/yalantis/ucrop/R$id;->state_scale:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mWrapperStateScale:Landroid/view/ViewGroup; .line 371 iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mStateClickListener:Landroid/view/View$OnClickListener; invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 373 sget v0, Lcom/yalantis/ucrop/R$id;->layout_aspect_ratio:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mLayoutAspectRatio:Landroid/view/ViewGroup; .line 374 sget v0, Lcom/yalantis/ucrop/R$id;->layout_rotate_wheel:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mLayoutRotate:Landroid/view/ViewGroup; .line 375 sget v0, Lcom/yalantis/ucrop/R$id;->layout_scale_wheel:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/view/ViewGroup; iput-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mLayoutScale:Landroid/view/ViewGroup; .line 377 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setupAspectRatioWidget(Landroid/content/Intent;)V .line 378 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->setupRotateWidget()V .line 379 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->setupScaleWidget()V .line 380 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->setupStatesWrapper()V :cond_101 return-void .end method # virtual methods .method protected closeActivity()V .registers 1 .line 737 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->finish()V .line 738 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->exitAnimation()V return-void .end method .method protected cropAndSaveImage()V .registers 5 .line 699 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mBlockingView:Landroid/view/View; const/4 v1, 0x1 invoke-virtual {v0, v1}, Landroid/view/View;->setClickable(Z)V .line 700 iput-boolean v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowLoader:Z .line 701 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->supportInvalidateOptionsMenu()V .line 702 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; iget-object v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mCompressFormat:Landroid/graphics/Bitmap$CompressFormat; iget v2, p0, Lcom/yalantis/ucrop/UCropActivity;->mCompressQuality:I new-instance v3, Lcom/yalantis/ucrop/UCropActivity$8; invoke-direct {v3, p0}, Lcom/yalantis/ucrop/UCropActivity$8;->(Lcom/yalantis/ucrop/UCropActivity;)V invoke-virtual {v0, v1, v2, v3}, Lcom/yalantis/ucrop/view/GestureCropImageView;->cropAndSaveImage(Landroid/graphics/Bitmap$CompressFormat;ILcom/yalantis/ucrop/callback/BitmapCropCallback;)V return-void .end method .method protected exitAnimation()V .registers 4 .line 742 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getIntent()Landroid/content/Intent; move-result-object v0 const-string v1, ".WindowAnimation" const/4 v2, 0x0 invoke-virtual {v0, v1, v2}, Landroid/content/Intent;->getIntExtra(Ljava/lang/String;I)I move-result v0 .line 743 sget v1, Lcom/yalantis/ucrop/R$anim;->ucrop_anim_fade_in:I if-eqz v0, :cond_10 goto :goto_12 :cond_10 sget v0, Lcom/yalantis/ucrop/R$anim;->ucrop_close:I :goto_12 invoke-virtual {p0, v1, v0}, Lcom/yalantis/ucrop/UCropActivity;->overridePendingTransition(II)V return-void .end method .method public immersive()V .registers 4 .line 141 iget v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mStatusBarColor:I iget v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarColor:I iget-boolean v2, p0, Lcom/yalantis/ucrop/UCropActivity;->openWhiteStatusBar:Z invoke-static {p0, v0, v1, v2}, Lcom/yalantis/ucrop/immersion/CropImmersiveManage;->immersiveAboveAPI23(Landroidx/appcompat/app/AppCompatActivity;IIZ)V return-void .end method .method public isImmersive()Z .registers 2 const/4 v0, 0x1 return v0 .end method .method public onBackPressed()V .registers 1 .line 211 invoke-super {p0}, Landroidx/appcompat/app/AppCompatActivity;->onBackPressed()V .line 212 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->exitAnimation()V return-void .end method .method public onCreate(Landroid/os/Bundle;)V .registers 3 .line 149 invoke-super {p0, p1}, Landroidx/appcompat/app/AppCompatActivity;->onCreate(Landroid/os/Bundle;)V .line 150 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getIntent()Landroid/content/Intent; move-result-object p1 .line 151 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->getIntentData(Landroid/content/Intent;)V .line 152 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->isImmersive()Z move-result v0 if-eqz v0, :cond_13 .line 153 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->immersive()V .line 155 :cond_13 sget v0, Lcom/yalantis/ucrop/R$layout;->ucrop_activity_photobox:I invoke-virtual {p0, v0}, Lcom/yalantis/ucrop/UCropActivity;->setContentView(I)V .line 156 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setupViews(Landroid/content/Intent;)V .line 157 invoke-direct {p0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setImageData(Landroid/content/Intent;)V .line 158 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->setInitialState()V .line 159 invoke-direct {p0}, Lcom/yalantis/ucrop/UCropActivity;->addBlockingView()V return-void .end method .method public onCreateOptionsMenu(Landroid/view/Menu;)Z .registers 6 .line 164 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->getMenuInflater()Landroid/view/MenuInflater; move-result-object v0 sget v1, Lcom/yalantis/ucrop/R$menu;->ucrop_menu_activity:I invoke-virtual {v0, v1, p1}, Landroid/view/MenuInflater;->inflate(ILandroid/view/Menu;)V .line 168 sget v0, Lcom/yalantis/ucrop/R$id;->menu_loader:I invoke-interface {p1, v0}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem; move-result-object v0 .line 169 invoke-interface {v0}, Landroid/view/MenuItem;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v1 if-eqz v1, :cond_46 .line 172 :try_start_15 invoke-virtual {v1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; .line 173 iget v2, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarWidgetColor:I sget-object v3, Landroid/graphics/PorterDuff$Mode;->SRC_ATOP:Landroid/graphics/PorterDuff$Mode; invoke-virtual {v1, v2, v3}, Landroid/graphics/drawable/Drawable;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V .line 174 invoke-interface {v0, v1}, Landroid/view/MenuItem;->setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem; :try_end_22 .catch Ljava/lang/IllegalStateException; {:try_start_15 .. :try_end_22} :catch_23 goto :goto_3d :catch_23 move-exception v1 .line 176 invoke-virtual {v1}, Ljava/lang/IllegalStateException;->getMessage()Ljava/lang/String; move-result-object v1 sget v2, Lcom/yalantis/ucrop/R$string;->ucrop_mutate_exception_hint:I invoke-virtual {p0, v2}, Lcom/yalantis/ucrop/UCropActivity;->getString(I)Ljava/lang/String; move-result-object v2 filled-new-array {v1, v2}, [Ljava/lang/Object; move-result-object v1 const-string v2, "%s - %s" invoke-static {v2, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 const-string v2, "UCropActivity" invoke-static {v2, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I .line 178 :goto_3d invoke-interface {v0}, Landroid/view/MenuItem;->getIcon()Landroid/graphics/drawable/Drawable; move-result-object v0 check-cast v0, Landroid/graphics/drawable/Animatable; invoke-interface {v0}, Landroid/graphics/drawable/Animatable;->start()V .line 181 :cond_46 sget v0, Lcom/yalantis/ucrop/R$id;->menu_crop:I invoke-interface {p1, v0}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem; move-result-object p1 .line 182 iget v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarCropDrawable:I invoke-static {p0, v0}, Landroidx/core/content/ContextCompat;->getDrawable(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_61 .line 184 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; .line 185 iget v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mToolbarWidgetColor:I sget-object v2, Landroid/graphics/PorterDuff$Mode;->SRC_ATOP:Landroid/graphics/PorterDuff$Mode; invoke-virtual {v0, v1, v2}, Landroid/graphics/drawable/Drawable;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V .line 186 invoke-interface {p1, v0}, Landroid/view/MenuItem;->setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem; :cond_61 const/4 p1, 0x1 return p1 .end method .method public onOptionsItemSelected(Landroid/view/MenuItem;)Z .registers 4 .line 201 invoke-interface {p1}, Landroid/view/MenuItem;->getItemId()I move-result v0 sget v1, Lcom/yalantis/ucrop/R$id;->menu_crop:I if-ne v0, v1, :cond_c .line 202 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->cropAndSaveImage()V goto :goto_18 .line 203 :cond_c invoke-interface {p1}, Landroid/view/MenuItem;->getItemId()I move-result v0 const v1, 0x102002c if-ne v0, v1, :cond_18 .line 204 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->onBackPressed()V .line 206 :cond_18 :goto_18 invoke-super {p0, p1}, Landroidx/appcompat/app/AppCompatActivity;->onOptionsItemSelected(Landroid/view/MenuItem;)Z move-result p1 return p1 .end method .method public onPrepareOptionsMenu(Landroid/view/Menu;)Z .registers 4 .line 194 sget v0, Lcom/yalantis/ucrop/R$id;->menu_crop:I invoke-interface {p1, v0}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem; move-result-object v0 iget-boolean v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowLoader:Z xor-int/lit8 v1, v1, 0x1 invoke-interface {v0, v1}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem; .line 195 sget v0, Lcom/yalantis/ucrop/R$id;->menu_loader:I invoke-interface {p1, v0}, Landroid/view/Menu;->findItem(I)Landroid/view/MenuItem; move-result-object v0 iget-boolean v1, p0, Lcom/yalantis/ucrop/UCropActivity;->mShowLoader:Z invoke-interface {v0, v1}, Landroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem; .line 196 invoke-super {p0, p1}, Landroidx/appcompat/app/AppCompatActivity;->onPrepareOptionsMenu(Landroid/view/Menu;)Z move-result p1 return p1 .end method .method protected onStop()V .registers 2 .line 217 invoke-super {p0}, Landroidx/appcompat/app/AppCompatActivity;->onStop()V .line 218 iget-object v0, p0, Lcom/yalantis/ucrop/UCropActivity;->mGestureCropImageView:Lcom/yalantis/ucrop/view/GestureCropImageView; if-eqz v0, :cond_a .line 219 invoke-virtual {v0}, Lcom/yalantis/ucrop/view/GestureCropImageView;->cancelAllAnimations()V :cond_a return-void .end method .method protected setResultError(Ljava/lang/Throwable;)V .registers 4 .line 730 new-instance v0, Landroid/content/Intent; invoke-direct {v0}, Landroid/content/Intent;->()V const-string v1, ".Error" invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/io/Serializable;)Landroid/content/Intent; move-result-object p1 const/16 v0, 0x60 invoke-virtual {p0, v0, p1}, Lcom/yalantis/ucrop/UCropActivity;->setResult(ILandroid/content/Intent;)V return-void .end method .method protected setResultUri(Landroid/net/Uri;FIIII)V .registers 9 .line 718 new-instance v0, Landroid/content/Intent; invoke-direct {v0}, Landroid/content/Intent;->()V const-string v1, ".OutputUri" .line 719 invoke-virtual {v0, v1, p1}, Landroid/content/Intent;->putExtra(Ljava/lang/String;Landroid/os/Parcelable;)Landroid/content/Intent; move-result-object p1 const-string v0, ".CropAspectRatio" .line 720 invoke-virtual {p1, v0, p2}, Landroid/content/Intent;->putExtra(Ljava/lang/String;F)Landroid/content/Intent; move-result-object p1 const-string p2, ".ImageWidth" .line 721 invoke-virtual {p1, p2, p5}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent; move-result-object p1 const-string p2, ".ImageHeight" .line 722 invoke-virtual {p1, p2, p6}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent; move-result-object p1 const-string p2, ".OffsetX" .line 723 invoke-virtual {p1, p2, p3}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent; move-result-object p1 const-string p2, ".OffsetY" .line 724 invoke-virtual {p1, p2, p4}, Landroid/content/Intent;->putExtra(Ljava/lang/String;I)Landroid/content/Intent; move-result-object p1 const/4 p2, -0x1 .line 718 invoke-virtual {p0, p2, p1}, Lcom/yalantis/ucrop/UCropActivity;->setResult(ILandroid/content/Intent;)V .line 726 invoke-virtual {p0}, Lcom/yalantis/ucrop/UCropActivity;->closeActivity()V return-void .end method