Changes of com.discord v1325
This commit is contained in:
parent
d9d9f382c9
commit
3cb9e1231d
28086 changed files with 4880345 additions and 0 deletions
|
@ -0,0 +1,76 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/ImageFilterButton$1;
|
||||
.super Landroid/view/ViewOutlineProvider;
|
||||
.source "ImageFilterButton.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setRoundPercent(F)V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x1
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public final synthetic this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Landroidx/constraintlayout/utils/widget/ImageFilterButton;)V
|
||||
.locals 0
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton$1;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
invoke-direct {p0}, Landroid/view/ViewOutlineProvider;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
|
||||
.locals 6
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton$1;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
invoke-virtual {p1}, Landroid/widget/ImageButton;->getWidth()I
|
||||
|
||||
move-result v3
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton$1;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
invoke-virtual {p1}, Landroid/widget/ImageButton;->getHeight()I
|
||||
|
||||
move-result v4
|
||||
|
||||
invoke-static {v3, v4}, Ljava/lang/Math;->min(II)I
|
||||
|
||||
move-result p1
|
||||
|
||||
int-to-float p1, p1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton$1;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
invoke-static {v0}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->access$000(Landroidx/constraintlayout/utils/widget/ImageFilterButton;)F
|
||||
|
||||
move-result v0
|
||||
|
||||
mul-float v0, v0, p1
|
||||
|
||||
const/high16 p1, 0x40000000 # 2.0f
|
||||
|
||||
div-float v5, v0, p1
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
move-object v0, p2
|
||||
|
||||
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Outline;->setRoundRect(IIIIF)V
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,64 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/ImageFilterButton$2;
|
||||
.super Landroid/view/ViewOutlineProvider;
|
||||
.source "ImageFilterButton.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setRound(F)V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x1
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public final synthetic this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Landroidx/constraintlayout/utils/widget/ImageFilterButton;)V
|
||||
.locals 0
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton$2;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
invoke-direct {p0}, Landroid/view/ViewOutlineProvider;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
|
||||
.locals 6
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton$2;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
invoke-virtual {p1}, Landroid/widget/ImageButton;->getWidth()I
|
||||
|
||||
move-result v3
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton$2;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
invoke-virtual {p1}, Landroid/widget/ImageButton;->getHeight()I
|
||||
|
||||
move-result v4
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton$2;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
|
||||
invoke-static {p1}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->access$100(Landroidx/constraintlayout/utils/widget/ImageFilterButton;)F
|
||||
|
||||
move-result v5
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
move-object v0, p2
|
||||
|
||||
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Outline;->setRoundRect(IIIIF)V
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,768 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/ImageFilterButton;
|
||||
.super Landroidx/appcompat/widget/AppCompatImageButton;
|
||||
.source "ImageFilterButton.java"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mCrossfade:F
|
||||
|
||||
.field public mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
.field public mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
.field public mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
.field public mOverlay:Z
|
||||
|
||||
.field public mPath:Landroid/graphics/Path;
|
||||
|
||||
.field public mRect:Landroid/graphics/RectF;
|
||||
|
||||
.field public mRound:F
|
||||
|
||||
.field public mRoundPercent:F
|
||||
|
||||
.field public mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Landroid/content/Context;)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1}, Landroidx/appcompat/widget/AppCompatImageButton;-><init>(Landroid/content/Context;)V
|
||||
|
||||
new-instance v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
invoke-direct {v0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
const/high16 v0, 0x7fc00000 # Float.NaN
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mOverlay:Z
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
invoke-direct {p0, p1, v0}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/appcompat/widget/AppCompatImageButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
new-instance v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
invoke-direct {v0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
const/high16 v0, 0x7fc00000 # Float.NaN
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mOverlay:Z
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0, p1, p2, p3}, Landroidx/appcompat/widget/AppCompatImageButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
||||
|
||||
new-instance p3, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
invoke-direct {p3}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;-><init>()V
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
const/4 p3, 0x0
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
const/high16 p3, 0x7fc00000 # Float.NaN
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
const/4 p3, 0x1
|
||||
|
||||
iput-boolean p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mOverlay:Z
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static synthetic access$000(Landroidx/constraintlayout/utils/widget/ImageFilterButton;)F
|
||||
.locals 0
|
||||
|
||||
iget p0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
return p0
|
||||
.end method
|
||||
|
||||
.method public static synthetic access$100(Landroidx/constraintlayout/utils/widget/ImageFilterButton;)F
|
||||
.locals 0
|
||||
|
||||
iget p0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
return p0
|
||||
.end method
|
||||
|
||||
.method private init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
.locals 6
|
||||
|
||||
const/4 p1, 0x0
|
||||
|
||||
invoke-virtual {p0, p1, p1, p1, p1}, Landroid/widget/ImageButton;->setPadding(IIII)V
|
||||
|
||||
if-eqz p2, :cond_8
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageButton;->getContext()Landroid/content/Context;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
sget-object v1, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView:[I
|
||||
|
||||
invoke-virtual {v0, p2, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-virtual {p2}, Landroid/content/res/TypedArray;->getIndexCount()I
|
||||
|
||||
move-result v0
|
||||
|
||||
sget v1, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_altSrc:I
|
||||
|
||||
invoke-virtual {p2, v1}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object v1
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge v2, v0, :cond_7
|
||||
|
||||
invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->getIndex(I)I
|
||||
|
||||
move-result v3
|
||||
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_crossfade:I
|
||||
|
||||
const/4 v5, 0x0
|
||||
|
||||
if-ne v3, v4, :cond_0
|
||||
|
||||
invoke-virtual {p2, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
iput v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_0
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_warmth:I
|
||||
|
||||
if-ne v3, v4, :cond_1
|
||||
|
||||
invoke-virtual {p2, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setWarmth(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_saturation:I
|
||||
|
||||
if-ne v3, v4, :cond_2
|
||||
|
||||
invoke-virtual {p2, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setSaturation(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_contrast:I
|
||||
|
||||
if-ne v3, v4, :cond_3
|
||||
|
||||
invoke-virtual {p2, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setContrast(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_3
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_round:I
|
||||
|
||||
if-ne v3, v4, :cond_4
|
||||
|
||||
invoke-virtual {p2, v3, v5}, Landroid/content/res/TypedArray;->getDimension(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setRound(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_4
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_roundPercent:I
|
||||
|
||||
if-ne v3, v4, :cond_5
|
||||
|
||||
invoke-virtual {p2, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setRoundPercent(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_5
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_overlay:I
|
||||
|
||||
if-ne v3, v4, :cond_6
|
||||
|
||||
iget-boolean v4, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mOverlay:Z
|
||||
|
||||
invoke-virtual {p2, v3, v4}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-direct {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setOverlay(Z)V
|
||||
|
||||
:cond_6
|
||||
:goto_1
|
||||
add-int/lit8 v2, v2, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_7
|
||||
invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V
|
||||
|
||||
if-eqz v1, :cond_8
|
||||
|
||||
const/4 p2, 0x2
|
||||
|
||||
new-array p2, p2, [Landroid/graphics/drawable/Drawable;
|
||||
|
||||
iput-object p2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageButton;->getDrawable()Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
aput-object v0, p2, p1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
const/4 p2, 0x1
|
||||
|
||||
aput-object v1, p1, p2
|
||||
|
||||
new-instance p1, Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
invoke-direct {p1, v0}, Landroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
const/high16 p2, 0x437f0000 # 255.0f
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
mul-float v0, v0, p2
|
||||
|
||||
float-to-int p2, v0
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatImageButton;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
|
||||
|
||||
:cond_8
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private setOverlay(Z)V
|
||||
.locals 0
|
||||
|
||||
iput-boolean p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mOverlay:Z
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public draw(Landroid/graphics/Canvas;)V
|
||||
.locals 1
|
||||
|
||||
invoke-super {p0, p1}, Landroid/widget/ImageButton;->draw(Landroid/graphics/Canvas;)V
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getContrast()F
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iget v0, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mContrast:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getCrossfade()F
|
||||
.locals 1
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getRound()F
|
||||
.locals 1
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getRoundPercent()F
|
||||
.locals 1
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getSaturation()F
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iget v0, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mSaturation:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getWarmth()F
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iget v0, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mWarmth:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public setBrightness(F)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iput p1, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mBrightness:F
|
||||
|
||||
invoke-virtual {v0, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->updateMatrix(Landroid/widget/ImageView;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setContrast(F)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iput p1, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mContrast:F
|
||||
|
||||
invoke-virtual {v0, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->updateMatrix(Landroid/widget/ImageView;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setCrossfade(F)V
|
||||
.locals 3
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
if-eqz p1, :cond_1
|
||||
|
||||
iget-boolean p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mOverlay:Z
|
||||
|
||||
const/high16 v0, 0x437f0000 # 255.0f
|
||||
|
||||
if-nez p1, :cond_0
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
invoke-virtual {p1, v1}, Landroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
const/high16 v1, 0x3f800000 # 1.0f
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
sub-float/2addr v1, v2
|
||||
|
||||
mul-float v1, v1, v0
|
||||
|
||||
float-to-int v1, v1
|
||||
|
||||
invoke-virtual {p1, v1}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||
|
||||
:cond_0
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
invoke-virtual {p1, v1}, Landroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mCrossfade:F
|
||||
|
||||
mul-float v1, v1, v0
|
||||
|
||||
float-to-int v0, v1
|
||||
|
||||
invoke-virtual {p1, v0}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatImageButton;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setRound(F)V
|
||||
.locals 4
|
||||
.annotation build Landroidx/annotation/RequiresApi;
|
||||
value = 0x15
|
||||
.end annotation
|
||||
|
||||
invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
iget p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
const/high16 v0, -0x40800000 # -1.0f
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
invoke-virtual {p0, p1}, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->setRoundPercent(F)V
|
||||
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
cmpl-float v0, v0, p1
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
cmpl-float p1, p1, v3
|
||||
|
||||
if-eqz p1, :cond_5
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mPath:Landroid/graphics/Path;
|
||||
|
||||
if-nez p1, :cond_2
|
||||
|
||||
new-instance p1, Landroid/graphics/Path;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/Path;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mPath:Landroid/graphics/Path;
|
||||
|
||||
:cond_2
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
if-nez p1, :cond_3
|
||||
|
||||
new-instance p1, Landroid/graphics/RectF;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/RectF;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
:cond_3
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
if-nez p1, :cond_4
|
||||
|
||||
new-instance p1, Landroidx/constraintlayout/utils/widget/ImageFilterButton$2;
|
||||
|
||||
invoke-direct {p1, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterButton$2;-><init>(Landroidx/constraintlayout/utils/widget/ImageFilterButton;)V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
invoke-virtual {p0, p1}, Landroid/widget/ImageButton;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V
|
||||
|
||||
:cond_4
|
||||
invoke-virtual {p0, v1}, Landroid/widget/ImageButton;->setClipToOutline(Z)V
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageButton;->getWidth()I
|
||||
|
||||
move-result p1
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageButton;->getHeight()I
|
||||
|
||||
move-result v1
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
int-to-float p1, p1
|
||||
|
||||
int-to-float v1, v1
|
||||
|
||||
invoke-virtual {v2, v3, v3, p1, v1}, Landroid/graphics/RectF;->set(FFFF)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mPath:Landroid/graphics/Path;
|
||||
|
||||
invoke-virtual {p1}, Landroid/graphics/Path;->reset()V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mPath:Landroid/graphics/Path;
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRound:F
|
||||
|
||||
sget-object v3, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;
|
||||
|
||||
invoke-virtual {p1, v1, v2, v2, v3}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_5
|
||||
invoke-virtual {p0, v2}, Landroid/widget/ImageButton;->setClipToOutline(Z)V
|
||||
|
||||
:goto_1
|
||||
if-eqz v0, :cond_6
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageButton;->invalidateOutline()V
|
||||
|
||||
:cond_6
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setRoundPercent(F)V
|
||||
.locals 5
|
||||
.annotation build Landroidx/annotation/RequiresApi;
|
||||
value = 0x15
|
||||
.end annotation
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
cmpl-float v0, v0, p1
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
cmpl-float p1, p1, v3
|
||||
|
||||
if-eqz p1, :cond_4
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mPath:Landroid/graphics/Path;
|
||||
|
||||
if-nez p1, :cond_1
|
||||
|
||||
new-instance p1, Landroid/graphics/Path;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/Path;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mPath:Landroid/graphics/Path;
|
||||
|
||||
:cond_1
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
if-nez p1, :cond_2
|
||||
|
||||
new-instance p1, Landroid/graphics/RectF;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/RectF;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
:cond_2
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
if-nez p1, :cond_3
|
||||
|
||||
new-instance p1, Landroidx/constraintlayout/utils/widget/ImageFilterButton$1;
|
||||
|
||||
invoke-direct {p1, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterButton$1;-><init>(Landroidx/constraintlayout/utils/widget/ImageFilterButton;)V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
invoke-virtual {p0, p1}, Landroid/widget/ImageButton;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V
|
||||
|
||||
:cond_3
|
||||
invoke-virtual {p0, v1}, Landroid/widget/ImageButton;->setClipToOutline(Z)V
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageButton;->getWidth()I
|
||||
|
||||
move-result p1
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageButton;->getHeight()I
|
||||
|
||||
move-result v1
|
||||
|
||||
invoke-static {p1, v1}, Ljava/lang/Math;->min(II)I
|
||||
|
||||
move-result v2
|
||||
|
||||
int-to-float v2, v2
|
||||
|
||||
iget v4, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRoundPercent:F
|
||||
|
||||
mul-float v2, v2, v4
|
||||
|
||||
const/high16 v4, 0x40000000 # 2.0f
|
||||
|
||||
div-float/2addr v2, v4
|
||||
|
||||
iget-object v4, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
int-to-float p1, p1
|
||||
|
||||
int-to-float v1, v1
|
||||
|
||||
invoke-virtual {v4, v3, v3, p1, v1}, Landroid/graphics/RectF;->set(FFFF)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mPath:Landroid/graphics/Path;
|
||||
|
||||
invoke-virtual {p1}, Landroid/graphics/Path;->reset()V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mPath:Landroid/graphics/Path;
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
sget-object v3, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;
|
||||
|
||||
invoke-virtual {p1, v1, v2, v2, v3}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_4
|
||||
invoke-virtual {p0, v2}, Landroid/widget/ImageButton;->setClipToOutline(Z)V
|
||||
|
||||
:goto_1
|
||||
if-eqz v0, :cond_5
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageButton;->invalidateOutline()V
|
||||
|
||||
:cond_5
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setSaturation(F)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iput p1, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mSaturation:F
|
||||
|
||||
invoke-virtual {v0, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->updateMatrix(Landroid/widget/ImageView;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setWarmth(F)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterButton;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iput p1, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mWarmth:F
|
||||
|
||||
invoke-virtual {v0, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->updateMatrix(Landroid/widget/ImageView;)V
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,76 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/ImageFilterView$1;
|
||||
.super Landroid/view/ViewOutlineProvider;
|
||||
.source "ImageFilterView.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Landroidx/constraintlayout/utils/widget/ImageFilterView;->setRoundPercent(F)V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x1
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public final synthetic this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Landroidx/constraintlayout/utils/widget/ImageFilterView;)V
|
||||
.locals 0
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$1;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
invoke-direct {p0}, Landroid/view/ViewOutlineProvider;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
|
||||
.locals 6
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$1;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
invoke-virtual {p1}, Landroid/widget/ImageView;->getWidth()I
|
||||
|
||||
move-result v3
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$1;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
invoke-virtual {p1}, Landroid/widget/ImageView;->getHeight()I
|
||||
|
||||
move-result v4
|
||||
|
||||
invoke-static {v3, v4}, Ljava/lang/Math;->min(II)I
|
||||
|
||||
move-result p1
|
||||
|
||||
int-to-float p1, p1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$1;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
invoke-static {v0}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->access$000(Landroidx/constraintlayout/utils/widget/ImageFilterView;)F
|
||||
|
||||
move-result v0
|
||||
|
||||
mul-float v0, v0, p1
|
||||
|
||||
const/high16 p1, 0x40000000 # 2.0f
|
||||
|
||||
div-float v5, v0, p1
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
move-object v0, p2
|
||||
|
||||
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Outline;->setRoundRect(IIIIF)V
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,64 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/ImageFilterView$2;
|
||||
.super Landroid/view/ViewOutlineProvider;
|
||||
.source "ImageFilterView.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingMethod;
|
||||
value = Landroidx/constraintlayout/utils/widget/ImageFilterView;->setRound(F)V
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x1
|
||||
name = null
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public final synthetic this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Landroidx/constraintlayout/utils/widget/ImageFilterView;)V
|
||||
.locals 0
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$2;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
invoke-direct {p0}, Landroid/view/ViewOutlineProvider;-><init>()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
|
||||
.locals 6
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$2;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
invoke-virtual {p1}, Landroid/widget/ImageView;->getWidth()I
|
||||
|
||||
move-result v3
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$2;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
invoke-virtual {p1}, Landroid/widget/ImageView;->getHeight()I
|
||||
|
||||
move-result v4
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$2;->this$0:Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
|
||||
invoke-static {p1}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->access$100(Landroidx/constraintlayout/utils/widget/ImageFilterView;)F
|
||||
|
||||
move-result v5
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
move-object v0, p2
|
||||
|
||||
invoke-virtual/range {v0 .. v5}, Landroid/graphics/Outline;->setRoundRect(IIIIF)V
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,684 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
.super Ljava/lang/Object;
|
||||
.source "ImageFilterView.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/EnclosingClass;
|
||||
value = Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
.end annotation
|
||||
|
||||
.annotation system Ldalvik/annotation/InnerClass;
|
||||
accessFlags = 0x9
|
||||
name = "ImageMatrix"
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public m:[F
|
||||
|
||||
.field public mBrightness:F
|
||||
|
||||
.field public mColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
.field public mContrast:F
|
||||
|
||||
.field public mSaturation:F
|
||||
|
||||
.field public mTmpColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
.field public mWarmth:F
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>()V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
||||
|
||||
const/16 v0, 0x14
|
||||
|
||||
new-array v0, v0, [F
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->m:[F
|
||||
|
||||
new-instance v0, Landroid/graphics/ColorMatrix;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/ColorMatrix;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
new-instance v0, Landroid/graphics/ColorMatrix;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/ColorMatrix;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mTmpColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
const/high16 v0, 0x3f800000 # 1.0f
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mBrightness:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mSaturation:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mContrast:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mWarmth:F
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private brightness(F)V
|
||||
.locals 3
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->m:[F
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
aput p1, v0, v1
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/4 v1, 0x2
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/4 v1, 0x3
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/4 v1, 0x4
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/4 v1, 0x5
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/4 v1, 0x6
|
||||
|
||||
aput p1, v0, v1
|
||||
|
||||
const/4 v1, 0x7
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/16 v1, 0x8
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/16 v1, 0x9
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/16 v1, 0xa
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/16 v1, 0xb
|
||||
|
||||
aput v2, v0, v1
|
||||
|
||||
const/16 v1, 0xc
|
||||
|
||||
aput p1, v0, v1
|
||||
|
||||
const/16 p1, 0xd
|
||||
|
||||
aput v2, v0, p1
|
||||
|
||||
const/16 p1, 0xe
|
||||
|
||||
aput v2, v0, p1
|
||||
|
||||
const/16 p1, 0xf
|
||||
|
||||
aput v2, v0, p1
|
||||
|
||||
const/16 p1, 0x10
|
||||
|
||||
aput v2, v0, p1
|
||||
|
||||
const/16 p1, 0x11
|
||||
|
||||
aput v2, v0, p1
|
||||
|
||||
const/16 p1, 0x12
|
||||
|
||||
const/high16 v1, 0x3f800000 # 1.0f
|
||||
|
||||
aput v1, v0, p1
|
||||
|
||||
const/16 p1, 0x13
|
||||
|
||||
aput v2, v0, p1
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private saturation(F)V
|
||||
.locals 8
|
||||
|
||||
const/high16 v0, 0x3f800000 # 1.0f
|
||||
|
||||
sub-float v1, v0, p1
|
||||
|
||||
const v2, 0x3e998c7e # 0.2999f
|
||||
|
||||
mul-float v2, v2, v1
|
||||
|
||||
const v3, 0x3f1645a2 # 0.587f
|
||||
|
||||
mul-float v3, v3, v1
|
||||
|
||||
const v4, 0x3de978d5 # 0.114f
|
||||
|
||||
mul-float v1, v1, v4
|
||||
|
||||
iget-object v4, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->m:[F
|
||||
|
||||
add-float v5, v2, p1
|
||||
|
||||
const/4 v6, 0x0
|
||||
|
||||
aput v5, v4, v6
|
||||
|
||||
const/4 v5, 0x1
|
||||
|
||||
aput v3, v4, v5
|
||||
|
||||
const/4 v5, 0x2
|
||||
|
||||
aput v1, v4, v5
|
||||
|
||||
const/4 v5, 0x3
|
||||
|
||||
const/4 v6, 0x0
|
||||
|
||||
aput v6, v4, v5
|
||||
|
||||
const/4 v5, 0x4
|
||||
|
||||
aput v6, v4, v5
|
||||
|
||||
const/4 v5, 0x5
|
||||
|
||||
aput v2, v4, v5
|
||||
|
||||
add-float v5, v3, p1
|
||||
|
||||
const/4 v7, 0x6
|
||||
|
||||
aput v5, v4, v7
|
||||
|
||||
const/4 v5, 0x7
|
||||
|
||||
aput v1, v4, v5
|
||||
|
||||
const/16 v5, 0x8
|
||||
|
||||
aput v6, v4, v5
|
||||
|
||||
const/16 v5, 0x9
|
||||
|
||||
aput v6, v4, v5
|
||||
|
||||
const/16 v5, 0xa
|
||||
|
||||
aput v2, v4, v5
|
||||
|
||||
const/16 v2, 0xb
|
||||
|
||||
aput v3, v4, v2
|
||||
|
||||
add-float/2addr v1, p1
|
||||
|
||||
const/16 p1, 0xc
|
||||
|
||||
aput v1, v4, p1
|
||||
|
||||
const/16 p1, 0xd
|
||||
|
||||
aput v6, v4, p1
|
||||
|
||||
const/16 p1, 0xe
|
||||
|
||||
aput v6, v4, p1
|
||||
|
||||
const/16 p1, 0xf
|
||||
|
||||
aput v6, v4, p1
|
||||
|
||||
const/16 p1, 0x10
|
||||
|
||||
aput v6, v4, p1
|
||||
|
||||
const/16 p1, 0x11
|
||||
|
||||
aput v6, v4, p1
|
||||
|
||||
const/16 p1, 0x12
|
||||
|
||||
aput v0, v4, p1
|
||||
|
||||
const/16 p1, 0x13
|
||||
|
||||
aput v6, v4, p1
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private warmth(F)V
|
||||
.locals 11
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
cmpg-float v1, p1, v0
|
||||
|
||||
if-gtz v1, :cond_0
|
||||
|
||||
const p1, 0x3c23d70a # 0.01f
|
||||
|
||||
:cond_0
|
||||
const v1, 0x459c4000 # 5000.0f
|
||||
|
||||
div-float/2addr v1, p1
|
||||
|
||||
const/high16 p1, 0x42c80000 # 100.0f
|
||||
|
||||
div-float/2addr v1, p1
|
||||
|
||||
const p1, 0x43211e9c
|
||||
|
||||
const v2, 0x42c6f10d
|
||||
|
||||
const/high16 v3, 0x42840000 # 66.0f
|
||||
|
||||
const/high16 v4, 0x437f0000 # 255.0f
|
||||
|
||||
cmpl-float v5, v1, v3
|
||||
|
||||
if-lez v5, :cond_1
|
||||
|
||||
const/high16 v5, 0x42700000 # 60.0f
|
||||
|
||||
sub-float v5, v1, v5
|
||||
|
||||
const v6, 0x43a4d970
|
||||
|
||||
float-to-double v7, v5
|
||||
|
||||
const-wide v9, -0x403ef32580000000L # -0.13320475816726685
|
||||
|
||||
invoke-static {v7, v8, v9, v10}, Ljava/lang/Math;->pow(DD)D
|
||||
|
||||
move-result-wide v9
|
||||
|
||||
double-to-float v5, v9
|
||||
|
||||
mul-float v5, v5, v6
|
||||
|
||||
const v6, 0x43900fa3
|
||||
|
||||
const-wide v9, 0x3fb354f0e0000000L
|
||||
|
||||
invoke-static {v7, v8, v9, v10}, Ljava/lang/Math;->pow(DD)D
|
||||
|
||||
move-result-wide v7
|
||||
|
||||
double-to-float v7, v7
|
||||
|
||||
mul-float v7, v7, v6
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
float-to-double v5, v1
|
||||
|
||||
invoke-static {v5, v6}, Ljava/lang/Math;->log(D)D
|
||||
|
||||
move-result-wide v5
|
||||
|
||||
double-to-float v5, v5
|
||||
|
||||
mul-float v5, v5, v2
|
||||
|
||||
sub-float v7, v5, p1
|
||||
|
||||
const/high16 v5, 0x437f0000 # 255.0f
|
||||
|
||||
:goto_0
|
||||
const v6, 0x439885bc
|
||||
|
||||
const v8, 0x430a848a
|
||||
|
||||
cmpg-float v3, v1, v3
|
||||
|
||||
if-gez v3, :cond_3
|
||||
|
||||
const/high16 v3, 0x41980000 # 19.0f
|
||||
|
||||
cmpl-float v3, v1, v3
|
||||
|
||||
if-lez v3, :cond_2
|
||||
|
||||
const/high16 v3, 0x41200000 # 10.0f
|
||||
|
||||
sub-float/2addr v1, v3
|
||||
|
||||
float-to-double v9, v1
|
||||
|
||||
invoke-static {v9, v10}, Ljava/lang/Math;->log(D)D
|
||||
|
||||
move-result-wide v9
|
||||
|
||||
double-to-float v1, v9
|
||||
|
||||
mul-float v1, v1, v8
|
||||
|
||||
sub-float/2addr v1, v6
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
const/4 v1, 0x0
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_3
|
||||
const/high16 v1, 0x437f0000 # 255.0f
|
||||
|
||||
:goto_1
|
||||
invoke-static {v5, v0}, Ljava/lang/Math;->max(FF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-static {v4, v3}, Ljava/lang/Math;->min(FF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-static {v7, v0}, Ljava/lang/Math;->max(FF)F
|
||||
|
||||
move-result v5
|
||||
|
||||
invoke-static {v4, v5}, Ljava/lang/Math;->min(FF)F
|
||||
|
||||
move-result v5
|
||||
|
||||
invoke-static {v1, v0}, Ljava/lang/Math;->max(FF)F
|
||||
|
||||
move-result v1
|
||||
|
||||
invoke-static {v4, v1}, Ljava/lang/Math;->min(FF)F
|
||||
|
||||
move-result v1
|
||||
|
||||
const/high16 v7, 0x42480000 # 50.0f
|
||||
|
||||
float-to-double v9, v7
|
||||
|
||||
invoke-static {v9, v10}, Ljava/lang/Math;->log(D)D
|
||||
|
||||
move-result-wide v9
|
||||
|
||||
double-to-float v7, v9
|
||||
|
||||
mul-float v7, v7, v2
|
||||
|
||||
sub-float/2addr v7, p1
|
||||
|
||||
const/high16 p1, 0x42200000 # 40.0f
|
||||
|
||||
float-to-double v9, p1
|
||||
|
||||
invoke-static {v9, v10}, Ljava/lang/Math;->log(D)D
|
||||
|
||||
move-result-wide v9
|
||||
|
||||
double-to-float p1, v9
|
||||
|
||||
mul-float p1, p1, v8
|
||||
|
||||
sub-float/2addr p1, v6
|
||||
|
||||
invoke-static {v4, v0}, Ljava/lang/Math;->max(FF)F
|
||||
|
||||
move-result v2
|
||||
|
||||
invoke-static {v4, v2}, Ljava/lang/Math;->min(FF)F
|
||||
|
||||
move-result v2
|
||||
|
||||
invoke-static {v7, v0}, Ljava/lang/Math;->max(FF)F
|
||||
|
||||
move-result v6
|
||||
|
||||
invoke-static {v4, v6}, Ljava/lang/Math;->min(FF)F
|
||||
|
||||
move-result v6
|
||||
|
||||
invoke-static {p1, v0}, Ljava/lang/Math;->max(FF)F
|
||||
|
||||
move-result p1
|
||||
|
||||
invoke-static {v4, p1}, Ljava/lang/Math;->min(FF)F
|
||||
|
||||
move-result p1
|
||||
|
||||
div-float/2addr v3, v2
|
||||
|
||||
div-float/2addr v5, v6
|
||||
|
||||
div-float/2addr v1, p1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->m:[F
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
aput v3, p1, v2
|
||||
|
||||
const/4 v2, 0x1
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/4 v2, 0x2
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/4 v2, 0x3
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/4 v2, 0x4
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/4 v2, 0x5
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/4 v2, 0x6
|
||||
|
||||
aput v5, p1, v2
|
||||
|
||||
const/4 v2, 0x7
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/16 v2, 0x8
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/16 v2, 0x9
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/16 v2, 0xa
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/16 v2, 0xb
|
||||
|
||||
aput v0, p1, v2
|
||||
|
||||
const/16 v2, 0xc
|
||||
|
||||
aput v1, p1, v2
|
||||
|
||||
const/16 v1, 0xd
|
||||
|
||||
aput v0, p1, v1
|
||||
|
||||
const/16 v1, 0xe
|
||||
|
||||
aput v0, p1, v1
|
||||
|
||||
const/16 v1, 0xf
|
||||
|
||||
aput v0, p1, v1
|
||||
|
||||
const/16 v1, 0x10
|
||||
|
||||
aput v0, p1, v1
|
||||
|
||||
const/16 v1, 0x11
|
||||
|
||||
aput v0, p1, v1
|
||||
|
||||
const/16 v1, 0x12
|
||||
|
||||
const/high16 v2, 0x3f800000 # 1.0f
|
||||
|
||||
aput v2, p1, v1
|
||||
|
||||
const/16 v1, 0x13
|
||||
|
||||
aput v0, p1, v1
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public updateMatrix(Landroid/widget/ImageView;)V
|
||||
.locals 5
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
invoke-virtual {v0}, Landroid/graphics/ColorMatrix;->reset()V
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mSaturation:F
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
const/high16 v2, 0x3f800000 # 1.0f
|
||||
|
||||
cmpl-float v3, v0, v2
|
||||
|
||||
if-eqz v3, :cond_0
|
||||
|
||||
invoke-direct {p0, v0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->saturation(F)V
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->m:[F
|
||||
|
||||
invoke-virtual {v0, v3}, Landroid/graphics/ColorMatrix;->set([F)V
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
iget v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mContrast:F
|
||||
|
||||
cmpl-float v4, v3, v2
|
||||
|
||||
if-eqz v4, :cond_1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mTmpColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
invoke-virtual {v0, v3, v3, v3, v2}, Landroid/graphics/ColorMatrix;->setScale(FFFF)V
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mTmpColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
invoke-virtual {v0, v3}, Landroid/graphics/ColorMatrix;->postConcat(Landroid/graphics/ColorMatrix;)V
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
:cond_1
|
||||
iget v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mWarmth:F
|
||||
|
||||
cmpl-float v4, v3, v2
|
||||
|
||||
if-eqz v4, :cond_2
|
||||
|
||||
invoke-direct {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->warmth(F)V
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mTmpColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->m:[F
|
||||
|
||||
invoke-virtual {v0, v3}, Landroid/graphics/ColorMatrix;->set([F)V
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mTmpColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
invoke-virtual {v0, v3}, Landroid/graphics/ColorMatrix;->postConcat(Landroid/graphics/ColorMatrix;)V
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
:cond_2
|
||||
iget v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mBrightness:F
|
||||
|
||||
cmpl-float v2, v3, v2
|
||||
|
||||
if-eqz v2, :cond_3
|
||||
|
||||
invoke-direct {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->brightness(F)V
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mTmpColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->m:[F
|
||||
|
||||
invoke-virtual {v0, v2}, Landroid/graphics/ColorMatrix;->set([F)V
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mTmpColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
invoke-virtual {v0, v2}, Landroid/graphics/ColorMatrix;->postConcat(Landroid/graphics/ColorMatrix;)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_3
|
||||
move v1, v0
|
||||
|
||||
:goto_1
|
||||
if-eqz v1, :cond_4
|
||||
|
||||
new-instance v0, Landroid/graphics/ColorMatrixColorFilter;
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mColorMatrix:Landroid/graphics/ColorMatrix;
|
||||
|
||||
invoke-direct {v0, v1}, Landroid/graphics/ColorMatrixColorFilter;-><init>(Landroid/graphics/ColorMatrix;)V
|
||||
|
||||
invoke-virtual {p1, v0}, Landroid/widget/ImageView;->setColorFilter(Landroid/graphics/ColorFilter;)V
|
||||
|
||||
goto :goto_2
|
||||
|
||||
:cond_4
|
||||
invoke-virtual {p1}, Landroid/widget/ImageView;->clearColorFilter()V
|
||||
|
||||
:goto_2
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,784 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/ImageFilterView;
|
||||
.super Landroidx/appcompat/widget/AppCompatImageView;
|
||||
.source "ImageFilterView.java"
|
||||
|
||||
|
||||
# annotations
|
||||
.annotation system Ldalvik/annotation/MemberClasses;
|
||||
value = {
|
||||
Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
}
|
||||
.end annotation
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mCrossfade:F
|
||||
|
||||
.field public mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
.field public mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
.field public mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
.field public mOverlay:Z
|
||||
|
||||
.field public mPath:Landroid/graphics/Path;
|
||||
|
||||
.field public mRect:Landroid/graphics/RectF;
|
||||
|
||||
.field public mRound:F
|
||||
|
||||
.field public mRoundPercent:F
|
||||
|
||||
.field public mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Landroid/content/Context;)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1}, Landroidx/appcompat/widget/AppCompatImageView;-><init>(Landroid/content/Context;)V
|
||||
|
||||
new-instance v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
invoke-direct {v0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mOverlay:Z
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
const/high16 v0, 0x7fc00000 # Float.NaN
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
invoke-direct {p0, p1, v0}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/appcompat/widget/AppCompatImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
new-instance v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
invoke-direct {v0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mOverlay:Z
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
const/high16 v0, 0x7fc00000 # Float.NaN
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0, p1, p2, p3}, Landroidx/appcompat/widget/AppCompatImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
||||
|
||||
new-instance p3, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
invoke-direct {p3}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;-><init>()V
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
const/4 p3, 0x1
|
||||
|
||||
iput-boolean p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mOverlay:Z
|
||||
|
||||
const/4 p3, 0x0
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
const/high16 p3, 0x7fc00000 # Float.NaN
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public static synthetic access$000(Landroidx/constraintlayout/utils/widget/ImageFilterView;)F
|
||||
.locals 0
|
||||
|
||||
iget p0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
return p0
|
||||
.end method
|
||||
|
||||
.method public static synthetic access$100(Landroidx/constraintlayout/utils/widget/ImageFilterView;)F
|
||||
.locals 0
|
||||
|
||||
iget p0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
return p0
|
||||
.end method
|
||||
|
||||
.method private init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
.locals 6
|
||||
|
||||
if-eqz p2, :cond_8
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageView;->getContext()Landroid/content/Context;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
sget-object v0, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView:[I
|
||||
|
||||
invoke-virtual {p1, p2, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-virtual {p1}, Landroid/content/res/TypedArray;->getIndexCount()I
|
||||
|
||||
move-result p2
|
||||
|
||||
sget v0, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_altSrc:I
|
||||
|
||||
invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge v2, p2, :cond_7
|
||||
|
||||
invoke-virtual {p1, v2}, Landroid/content/res/TypedArray;->getIndex(I)I
|
||||
|
||||
move-result v3
|
||||
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_crossfade:I
|
||||
|
||||
const/4 v5, 0x0
|
||||
|
||||
if-ne v3, v4, :cond_0
|
||||
|
||||
invoke-virtual {p1, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
iput v3, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_0
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_warmth:I
|
||||
|
||||
if-ne v3, v4, :cond_1
|
||||
|
||||
invoke-virtual {p1, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->setWarmth(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_saturation:I
|
||||
|
||||
if-ne v3, v4, :cond_2
|
||||
|
||||
invoke-virtual {p1, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->setSaturation(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_contrast:I
|
||||
|
||||
if-ne v3, v4, :cond_3
|
||||
|
||||
invoke-virtual {p1, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->setContrast(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_3
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_round:I
|
||||
|
||||
if-ne v3, v4, :cond_4
|
||||
|
||||
invoke-virtual {p1, v3, v5}, Landroid/content/res/TypedArray;->getDimension(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->setRound(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_4
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_roundPercent:I
|
||||
|
||||
if-ne v3, v4, :cond_5
|
||||
|
||||
invoke-virtual {p1, v3, v5}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-virtual {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->setRoundPercent(F)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_5
|
||||
sget v4, Landroidx/constraintlayout/widget/R$styleable;->ImageFilterView_overlay:I
|
||||
|
||||
if-ne v3, v4, :cond_6
|
||||
|
||||
iget-boolean v4, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mOverlay:Z
|
||||
|
||||
invoke-virtual {p1, v3, v4}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
||||
|
||||
move-result v3
|
||||
|
||||
invoke-direct {p0, v3}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->setOverlay(Z)V
|
||||
|
||||
:cond_6
|
||||
:goto_1
|
||||
add-int/lit8 v2, v2, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_7
|
||||
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
|
||||
|
||||
if-eqz v0, :cond_8
|
||||
|
||||
const/4 p1, 0x2
|
||||
|
||||
new-array p1, p1, [Landroid/graphics/drawable/Drawable;
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
aput-object p2, p1, v1
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
const/4 p2, 0x1
|
||||
|
||||
aput-object v0, p1, p2
|
||||
|
||||
new-instance p1, Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
invoke-direct {p1, v0}, Landroid/graphics/drawable/LayerDrawable;-><init>([Landroid/graphics/drawable/Drawable;)V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
const/high16 p2, 0x437f0000 # 255.0f
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
mul-float v0, v0, p2
|
||||
|
||||
float-to-int p2, v0
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
|
||||
|
||||
:cond_8
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private setOverlay(Z)V
|
||||
.locals 0
|
||||
|
||||
iput-boolean p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mOverlay:Z
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public draw(Landroid/graphics/Canvas;)V
|
||||
.locals 1
|
||||
|
||||
invoke-super {p0, p1}, Landroid/widget/ImageView;->draw(Landroid/graphics/Canvas;)V
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public getBrightness()F
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iget v0, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mBrightness:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getContrast()F
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iget v0, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mContrast:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getCrossfade()F
|
||||
.locals 1
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getRound()F
|
||||
.locals 1
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getRoundPercent()F
|
||||
.locals 1
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getSaturation()F
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iget v0, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mSaturation:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public getWarmth()F
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iget v0, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mWarmth:F
|
||||
|
||||
return v0
|
||||
.end method
|
||||
|
||||
.method public setBrightness(F)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iput p1, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mBrightness:F
|
||||
|
||||
invoke-virtual {v0, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->updateMatrix(Landroid/widget/ImageView;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setContrast(F)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iput p1, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mContrast:F
|
||||
|
||||
invoke-virtual {v0, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->updateMatrix(Landroid/widget/ImageView;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setCrossfade(F)V
|
||||
.locals 3
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayers:[Landroid/graphics/drawable/Drawable;
|
||||
|
||||
if-eqz p1, :cond_1
|
||||
|
||||
iget-boolean p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mOverlay:Z
|
||||
|
||||
const/high16 v0, 0x437f0000 # 255.0f
|
||||
|
||||
if-nez p1, :cond_0
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
invoke-virtual {p1, v1}, Landroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
const/high16 v1, 0x3f800000 # 1.0f
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
sub-float/2addr v1, v2
|
||||
|
||||
mul-float v1, v1, v0
|
||||
|
||||
float-to-int v1, v1
|
||||
|
||||
invoke-virtual {p1, v1}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||
|
||||
:cond_0
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
invoke-virtual {p1, v1}, Landroid/graphics/drawable/LayerDrawable;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
iget v1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mCrossfade:F
|
||||
|
||||
mul-float v1, v1, v0
|
||||
|
||||
float-to-int v0, v1
|
||||
|
||||
invoke-virtual {p1, v0}, Landroid/graphics/drawable/Drawable;->setAlpha(I)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mLayer:Landroid/graphics/drawable/LayerDrawable;
|
||||
|
||||
invoke-super {p0, p1}, Landroidx/appcompat/widget/AppCompatImageView;->setImageDrawable(Landroid/graphics/drawable/Drawable;)V
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setRound(F)V
|
||||
.locals 4
|
||||
.annotation build Landroidx/annotation/RequiresApi;
|
||||
value = 0x15
|
||||
.end annotation
|
||||
|
||||
invoke-static {p1}, Ljava/lang/Float;->isNaN(F)Z
|
||||
|
||||
move-result v0
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
iget p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
const/high16 v0, -0x40800000 # -1.0f
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
invoke-virtual {p0, p1}, Landroidx/constraintlayout/utils/widget/ImageFilterView;->setRoundPercent(F)V
|
||||
|
||||
return-void
|
||||
|
||||
:cond_0
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
cmpl-float v0, v0, p1
|
||||
|
||||
if-eqz v0, :cond_1
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_1
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
cmpl-float p1, p1, v3
|
||||
|
||||
if-eqz p1, :cond_5
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mPath:Landroid/graphics/Path;
|
||||
|
||||
if-nez p1, :cond_2
|
||||
|
||||
new-instance p1, Landroid/graphics/Path;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/Path;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mPath:Landroid/graphics/Path;
|
||||
|
||||
:cond_2
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
if-nez p1, :cond_3
|
||||
|
||||
new-instance p1, Landroid/graphics/RectF;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/RectF;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
:cond_3
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
if-nez p1, :cond_4
|
||||
|
||||
new-instance p1, Landroidx/constraintlayout/utils/widget/ImageFilterView$2;
|
||||
|
||||
invoke-direct {p1, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$2;-><init>(Landroidx/constraintlayout/utils/widget/ImageFilterView;)V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
invoke-virtual {p0, p1}, Landroid/widget/ImageView;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V
|
||||
|
||||
:cond_4
|
||||
invoke-virtual {p0, v1}, Landroid/widget/ImageView;->setClipToOutline(Z)V
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageView;->getWidth()I
|
||||
|
||||
move-result p1
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageView;->getHeight()I
|
||||
|
||||
move-result v1
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
int-to-float p1, p1
|
||||
|
||||
int-to-float v1, v1
|
||||
|
||||
invoke-virtual {v2, v3, v3, p1, v1}, Landroid/graphics/RectF;->set(FFFF)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mPath:Landroid/graphics/Path;
|
||||
|
||||
invoke-virtual {p1}, Landroid/graphics/Path;->reset()V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mPath:Landroid/graphics/Path;
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRound:F
|
||||
|
||||
sget-object v3, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;
|
||||
|
||||
invoke-virtual {p1, v1, v2, v2, v3}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_5
|
||||
invoke-virtual {p0, v2}, Landroid/widget/ImageView;->setClipToOutline(Z)V
|
||||
|
||||
:goto_1
|
||||
if-eqz v0, :cond_6
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageView;->invalidateOutline()V
|
||||
|
||||
:cond_6
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setRoundPercent(F)V
|
||||
.locals 5
|
||||
.annotation build Landroidx/annotation/RequiresApi;
|
||||
value = 0x15
|
||||
.end annotation
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
cmpl-float v0, v0, p1
|
||||
|
||||
if-eqz v0, :cond_0
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_0
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
cmpl-float p1, p1, v3
|
||||
|
||||
if-eqz p1, :cond_4
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mPath:Landroid/graphics/Path;
|
||||
|
||||
if-nez p1, :cond_1
|
||||
|
||||
new-instance p1, Landroid/graphics/Path;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/Path;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mPath:Landroid/graphics/Path;
|
||||
|
||||
:cond_1
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
if-nez p1, :cond_2
|
||||
|
||||
new-instance p1, Landroid/graphics/RectF;
|
||||
|
||||
invoke-direct {p1}, Landroid/graphics/RectF;-><init>()V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
:cond_2
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
if-nez p1, :cond_3
|
||||
|
||||
new-instance p1, Landroidx/constraintlayout/utils/widget/ImageFilterView$1;
|
||||
|
||||
invoke-direct {p1, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$1;-><init>(Landroidx/constraintlayout/utils/widget/ImageFilterView;)V
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mViewOutlineProvider:Landroid/view/ViewOutlineProvider;
|
||||
|
||||
invoke-virtual {p0, p1}, Landroid/widget/ImageView;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V
|
||||
|
||||
:cond_3
|
||||
invoke-virtual {p0, v1}, Landroid/widget/ImageView;->setClipToOutline(Z)V
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageView;->getWidth()I
|
||||
|
||||
move-result p1
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageView;->getHeight()I
|
||||
|
||||
move-result v1
|
||||
|
||||
invoke-static {p1, v1}, Ljava/lang/Math;->min(II)I
|
||||
|
||||
move-result v2
|
||||
|
||||
int-to-float v2, v2
|
||||
|
||||
iget v4, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRoundPercent:F
|
||||
|
||||
mul-float v2, v2, v4
|
||||
|
||||
const/high16 v4, 0x40000000 # 2.0f
|
||||
|
||||
div-float/2addr v2, v4
|
||||
|
||||
iget-object v4, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
int-to-float p1, p1
|
||||
|
||||
int-to-float v1, v1
|
||||
|
||||
invoke-virtual {v4, v3, v3, p1, v1}, Landroid/graphics/RectF;->set(FFFF)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mPath:Landroid/graphics/Path;
|
||||
|
||||
invoke-virtual {p1}, Landroid/graphics/Path;->reset()V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mPath:Landroid/graphics/Path;
|
||||
|
||||
iget-object v1, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mRect:Landroid/graphics/RectF;
|
||||
|
||||
sget-object v3, Landroid/graphics/Path$Direction;->CW:Landroid/graphics/Path$Direction;
|
||||
|
||||
invoke-virtual {p1, v1, v2, v2, v3}, Landroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_4
|
||||
invoke-virtual {p0, v2}, Landroid/widget/ImageView;->setClipToOutline(Z)V
|
||||
|
||||
:goto_1
|
||||
if-eqz v0, :cond_5
|
||||
|
||||
invoke-virtual {p0}, Landroid/widget/ImageView;->invalidateOutline()V
|
||||
|
||||
:cond_5
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setSaturation(F)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iput p1, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mSaturation:F
|
||||
|
||||
invoke-virtual {v0, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->updateMatrix(Landroid/widget/ImageView;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setWarmth(F)V
|
||||
.locals 1
|
||||
|
||||
iget-object v0, p0, Landroidx/constraintlayout/utils/widget/ImageFilterView;->mImageMatrix:Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;
|
||||
|
||||
iput p1, v0, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->mWarmth:F
|
||||
|
||||
invoke-virtual {v0, p0}, Landroidx/constraintlayout/utils/widget/ImageFilterView$ImageMatrix;->updateMatrix(Landroid/widget/ImageView;)V
|
||||
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,635 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/MockView;
|
||||
.super Landroid/view/View;
|
||||
.source "MockView.java"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mDiagonalsColor:I
|
||||
|
||||
.field public mDrawDiagonals:Z
|
||||
|
||||
.field public mDrawLabel:Z
|
||||
|
||||
.field public mMargin:I
|
||||
|
||||
.field public mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
.field public mPaintText:Landroid/graphics/Paint;
|
||||
|
||||
.field public mPaintTextBackground:Landroid/graphics/Paint;
|
||||
|
||||
.field public mText:Ljava/lang/String;
|
||||
|
||||
.field public mTextBackgroundColor:I
|
||||
|
||||
.field public mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
.field public mTextColor:I
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Landroid/content/Context;)V
|
||||
.locals 3
|
||||
|
||||
invoke-direct {p0, p1}, Landroid/view/View;-><init>(Landroid/content/Context;)V
|
||||
|
||||
new-instance v0, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
new-instance v0, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintText:Landroid/graphics/Paint;
|
||||
|
||||
new-instance v0, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintTextBackground:Landroid/graphics/Paint;
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawDiagonals:Z
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawLabel:Z
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
|
||||
new-instance v1, Landroid/graphics/Rect;
|
||||
|
||||
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
|
||||
|
||||
iput-object v1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
const/16 v1, 0xff
|
||||
|
||||
const/4 v2, 0x0
|
||||
|
||||
invoke-static {v1, v2, v2, v2}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result v2
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDiagonalsColor:I
|
||||
|
||||
const/16 v2, 0xc8
|
||||
|
||||
invoke-static {v1, v2, v2, v2}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result v2
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextColor:I
|
||||
|
||||
const/16 v2, 0x32
|
||||
|
||||
invoke-static {v1, v2, v2, v2}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result v1
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBackgroundColor:I
|
||||
|
||||
const/4 v1, 0x4
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mMargin:I
|
||||
|
||||
invoke-direct {p0, p1, v0}, Landroidx/constraintlayout/utils/widget/MockView;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
.locals 2
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
new-instance v0, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
new-instance v0, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintText:Landroid/graphics/Paint;
|
||||
|
||||
new-instance v0, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintTextBackground:Landroid/graphics/Paint;
|
||||
|
||||
const/4 v0, 0x1
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawDiagonals:Z
|
||||
|
||||
iput-boolean v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawLabel:Z
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
|
||||
new-instance v0, Landroid/graphics/Rect;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
const/16 v0, 0xff
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
invoke-static {v0, v1, v1, v1}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result v1
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDiagonalsColor:I
|
||||
|
||||
const/16 v1, 0xc8
|
||||
|
||||
invoke-static {v0, v1, v1, v1}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result v1
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextColor:I
|
||||
|
||||
const/16 v1, 0x32
|
||||
|
||||
invoke-static {v0, v1, v1, v1}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result v0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBackgroundColor:I
|
||||
|
||||
const/4 v0, 0x4
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mMargin:I
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/MockView;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1, p2, p3}, Landroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
||||
|
||||
new-instance p3, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {p3}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
new-instance p3, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {p3}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintText:Landroid/graphics/Paint;
|
||||
|
||||
new-instance p3, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {p3}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintTextBackground:Landroid/graphics/Paint;
|
||||
|
||||
const/4 p3, 0x1
|
||||
|
||||
iput-boolean p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawDiagonals:Z
|
||||
|
||||
iput-boolean p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawLabel:Z
|
||||
|
||||
const/4 p3, 0x0
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
|
||||
new-instance p3, Landroid/graphics/Rect;
|
||||
|
||||
invoke-direct {p3}, Landroid/graphics/Rect;-><init>()V
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
const/16 p3, 0xff
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
invoke-static {p3, v0, v0, v0}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result v0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDiagonalsColor:I
|
||||
|
||||
const/16 v0, 0xc8
|
||||
|
||||
invoke-static {p3, v0, v0, v0}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result v0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextColor:I
|
||||
|
||||
const/16 v0, 0x32
|
||||
|
||||
invoke-static {p3, v0, v0, v0}, Landroid/graphics/Color;->argb(IIII)I
|
||||
|
||||
move-result p3
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBackgroundColor:I
|
||||
|
||||
const/4 p3, 0x4
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mMargin:I
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/MockView;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
.locals 4
|
||||
|
||||
if-eqz p2, :cond_6
|
||||
|
||||
sget-object v0, Landroidx/constraintlayout/widget/R$styleable;->MockView:[I
|
||||
|
||||
invoke-virtual {p1, p2, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-virtual {p2}, Landroid/content/res/TypedArray;->getIndexCount()I
|
||||
|
||||
move-result v0
|
||||
|
||||
const/4 v1, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge v1, v0, :cond_6
|
||||
|
||||
invoke-virtual {p2, v1}, Landroid/content/res/TypedArray;->getIndex(I)I
|
||||
|
||||
move-result v2
|
||||
|
||||
sget v3, Landroidx/constraintlayout/widget/R$styleable;->MockView_mock_label:I
|
||||
|
||||
if-ne v2, v3, :cond_0
|
||||
|
||||
invoke-virtual {p2, v2}, Landroid/content/res/TypedArray;->getString(I)Ljava/lang/String;
|
||||
|
||||
move-result-object v2
|
||||
|
||||
iput-object v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_0
|
||||
sget v3, Landroidx/constraintlayout/widget/R$styleable;->MockView_mock_showDiagonals:I
|
||||
|
||||
if-ne v2, v3, :cond_1
|
||||
|
||||
iget-boolean v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawDiagonals:Z
|
||||
|
||||
invoke-virtual {p2, v2, v3}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
||||
|
||||
move-result v2
|
||||
|
||||
iput-boolean v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawDiagonals:Z
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
sget v3, Landroidx/constraintlayout/widget/R$styleable;->MockView_mock_diagonalsColor:I
|
||||
|
||||
if-ne v2, v3, :cond_2
|
||||
|
||||
iget v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDiagonalsColor:I
|
||||
|
||||
invoke-virtual {p2, v2, v3}, Landroid/content/res/TypedArray;->getColor(II)I
|
||||
|
||||
move-result v2
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDiagonalsColor:I
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
sget v3, Landroidx/constraintlayout/widget/R$styleable;->MockView_mock_labelBackgroundColor:I
|
||||
|
||||
if-ne v2, v3, :cond_3
|
||||
|
||||
iget v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBackgroundColor:I
|
||||
|
||||
invoke-virtual {p2, v2, v3}, Landroid/content/res/TypedArray;->getColor(II)I
|
||||
|
||||
move-result v2
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBackgroundColor:I
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_3
|
||||
sget v3, Landroidx/constraintlayout/widget/R$styleable;->MockView_mock_labelColor:I
|
||||
|
||||
if-ne v2, v3, :cond_4
|
||||
|
||||
iget v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextColor:I
|
||||
|
||||
invoke-virtual {p2, v2, v3}, Landroid/content/res/TypedArray;->getColor(II)I
|
||||
|
||||
move-result v2
|
||||
|
||||
iput v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextColor:I
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_4
|
||||
sget v3, Landroidx/constraintlayout/widget/R$styleable;->MockView_mock_showLabel:I
|
||||
|
||||
if-ne v2, v3, :cond_5
|
||||
|
||||
iget-boolean v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawLabel:Z
|
||||
|
||||
invoke-virtual {p2, v2, v3}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z
|
||||
|
||||
move-result v2
|
||||
|
||||
iput-boolean v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawLabel:Z
|
||||
|
||||
:cond_5
|
||||
:goto_1
|
||||
add-int/lit8 v1, v1, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_6
|
||||
iget-object p2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
|
||||
if-nez p2, :cond_7
|
||||
|
||||
:try_start_0
|
||||
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-virtual {p0}, Landroid/view/View;->getId()I
|
||||
|
||||
move-result p2
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/content/res/Resources;->getResourceEntryName(I)Ljava/lang/String;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
:try_end_0
|
||||
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
||||
|
||||
:catch_0
|
||||
:cond_7
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
iget p2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDiagonalsColor:I
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setColor(I)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
const/4 p2, 0x1
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setAntiAlias(Z)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintText:Landroid/graphics/Paint;
|
||||
|
||||
iget v0, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextColor:I
|
||||
|
||||
invoke-virtual {p1, v0}, Landroid/graphics/Paint;->setColor(I)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintText:Landroid/graphics/Paint;
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setAntiAlias(Z)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintTextBackground:Landroid/graphics/Paint;
|
||||
|
||||
iget p2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBackgroundColor:I
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setColor(I)V
|
||||
|
||||
iget p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mMargin:I
|
||||
|
||||
int-to-float p1, p1
|
||||
|
||||
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
invoke-virtual {p2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
|
||||
|
||||
move-result-object p2
|
||||
|
||||
iget p2, p2, Landroid/util/DisplayMetrics;->xdpi:F
|
||||
|
||||
const/high16 v0, 0x43200000 # 160.0f
|
||||
|
||||
div-float/2addr p2, v0
|
||||
|
||||
mul-float p2, p2, p1
|
||||
|
||||
invoke-static {p2}, Ljava/lang/Math;->round(F)I
|
||||
|
||||
move-result p1
|
||||
|
||||
iput p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mMargin:I
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public onDraw(Landroid/graphics/Canvas;)V
|
||||
.locals 13
|
||||
|
||||
invoke-super {p0, p1}, Landroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
|
||||
|
||||
invoke-virtual {p0}, Landroid/view/View;->getWidth()I
|
||||
|
||||
move-result v0
|
||||
|
||||
invoke-virtual {p0}, Landroid/view/View;->getHeight()I
|
||||
|
||||
move-result v1
|
||||
|
||||
iget-boolean v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawDiagonals:Z
|
||||
|
||||
if-eqz v2, :cond_0
|
||||
|
||||
add-int/lit8 v0, v0, -0x1
|
||||
|
||||
add-int/lit8 v1, v1, -0x1
|
||||
|
||||
const/4 v3, 0x0
|
||||
|
||||
const/4 v4, 0x0
|
||||
|
||||
int-to-float v11, v0
|
||||
|
||||
int-to-float v12, v1
|
||||
|
||||
iget-object v7, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
move-object v2, p1
|
||||
|
||||
move v5, v11
|
||||
|
||||
move v6, v12
|
||||
|
||||
invoke-virtual/range {v2 .. v7}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
|
||||
|
||||
const/4 v6, 0x0
|
||||
|
||||
const/4 v9, 0x0
|
||||
|
||||
iget-object v10, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
move-object v5, p1
|
||||
|
||||
move v7, v12
|
||||
|
||||
move v8, v11
|
||||
|
||||
invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
|
||||
|
||||
const/4 v7, 0x0
|
||||
|
||||
iget-object v10, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
|
||||
|
||||
iget-object v10, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
move v6, v11
|
||||
|
||||
move v9, v12
|
||||
|
||||
invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
|
||||
|
||||
const/4 v8, 0x0
|
||||
|
||||
iget-object v10, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
move v7, v12
|
||||
|
||||
invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
|
||||
|
||||
const/4 v6, 0x0
|
||||
|
||||
const/4 v9, 0x0
|
||||
|
||||
iget-object v10, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintDiagonals:Landroid/graphics/Paint;
|
||||
|
||||
invoke-virtual/range {v5 .. v10}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
|
||||
|
||||
:cond_0
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
|
||||
if-eqz v2, :cond_1
|
||||
|
||||
iget-boolean v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mDrawLabel:Z
|
||||
|
||||
if-eqz v3, :cond_1
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintText:Landroid/graphics/Paint;
|
||||
|
||||
const/4 v4, 0x0
|
||||
|
||||
invoke-virtual {v2}, Ljava/lang/String;->length()I
|
||||
|
||||
move-result v5
|
||||
|
||||
iget-object v6, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
invoke-virtual {v3, v2, v4, v5, v6}, Landroid/graphics/Paint;->getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
invoke-virtual {v2}, Landroid/graphics/Rect;->width()I
|
||||
|
||||
move-result v2
|
||||
|
||||
sub-int/2addr v0, v2
|
||||
|
||||
int-to-float v0, v0
|
||||
|
||||
const/high16 v2, 0x40000000 # 2.0f
|
||||
|
||||
div-float/2addr v0, v2
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
invoke-virtual {v3}, Landroid/graphics/Rect;->height()I
|
||||
|
||||
move-result v3
|
||||
|
||||
sub-int/2addr v1, v3
|
||||
|
||||
int-to-float v1, v1
|
||||
|
||||
div-float/2addr v1, v2
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
invoke-virtual {v2}, Landroid/graphics/Rect;->height()I
|
||||
|
||||
move-result v2
|
||||
|
||||
int-to-float v2, v2
|
||||
|
||||
add-float/2addr v1, v2
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
float-to-int v3, v0
|
||||
|
||||
float-to-int v4, v1
|
||||
|
||||
invoke-virtual {v2, v3, v4}, Landroid/graphics/Rect;->offset(II)V
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
iget v3, v2, Landroid/graphics/Rect;->left:I
|
||||
|
||||
iget v4, p0, Landroidx/constraintlayout/utils/widget/MockView;->mMargin:I
|
||||
|
||||
sub-int/2addr v3, v4
|
||||
|
||||
iget v5, v2, Landroid/graphics/Rect;->top:I
|
||||
|
||||
sub-int/2addr v5, v4
|
||||
|
||||
iget v6, v2, Landroid/graphics/Rect;->right:I
|
||||
|
||||
add-int/2addr v6, v4
|
||||
|
||||
iget v7, v2, Landroid/graphics/Rect;->bottom:I
|
||||
|
||||
add-int/2addr v7, v4
|
||||
|
||||
invoke-virtual {v2, v3, v5, v6, v7}, Landroid/graphics/Rect;->set(IIII)V
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mTextBounds:Landroid/graphics/Rect;
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintTextBackground:Landroid/graphics/Paint;
|
||||
|
||||
invoke-virtual {p1, v2, v3}, Landroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
|
||||
|
||||
iget-object v2, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
|
||||
iget-object v3, p0, Landroidx/constraintlayout/utils/widget/MockView;->mPaintText:Landroid/graphics/Paint;
|
||||
|
||||
invoke-virtual {p1, v2, v0, v1, v3}, Landroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
|
||||
|
||||
:cond_1
|
||||
return-void
|
||||
.end method
|
|
@ -0,0 +1,414 @@
|
|||
.class public Landroidx/constraintlayout/utils/widget/MotionTelltales;
|
||||
.super Landroidx/constraintlayout/utils/widget/MockView;
|
||||
.source "MotionTelltales.java"
|
||||
|
||||
|
||||
# static fields
|
||||
.field public static final TAG:Ljava/lang/String; = "MotionTelltales"
|
||||
|
||||
|
||||
# instance fields
|
||||
.field public mInvertMatrix:Landroid/graphics/Matrix;
|
||||
|
||||
.field public mMotionLayout:Landroidx/constraintlayout/motion/widget/MotionLayout;
|
||||
|
||||
.field public mPaintTelltales:Landroid/graphics/Paint;
|
||||
|
||||
.field public mTailColor:I
|
||||
|
||||
.field public mTailScale:F
|
||||
|
||||
.field public mVelocityMode:I
|
||||
|
||||
.field public velocity:[F
|
||||
|
||||
|
||||
# direct methods
|
||||
.method public constructor <init>(Landroid/content/Context;)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1}, Landroidx/constraintlayout/utils/widget/MockView;-><init>(Landroid/content/Context;)V
|
||||
|
||||
new-instance v0, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mPaintTelltales:Landroid/graphics/Paint;
|
||||
|
||||
const/4 v0, 0x2
|
||||
|
||||
new-array v0, v0, [F
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->velocity:[F
|
||||
|
||||
new-instance v0, Landroid/graphics/Matrix;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mInvertMatrix:Landroid/graphics/Matrix;
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mVelocityMode:I
|
||||
|
||||
const v0, -0xff01
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailColor:I
|
||||
|
||||
const/high16 v0, 0x3e800000 # 0.25f
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailScale:F
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
invoke-direct {p0, p1, v0}, Landroidx/constraintlayout/utils/widget/MotionTelltales;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
.locals 1
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/MockView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
new-instance v0, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mPaintTelltales:Landroid/graphics/Paint;
|
||||
|
||||
const/4 v0, 0x2
|
||||
|
||||
new-array v0, v0, [F
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->velocity:[F
|
||||
|
||||
new-instance v0, Landroid/graphics/Matrix;
|
||||
|
||||
invoke-direct {v0}, Landroid/graphics/Matrix;-><init>()V
|
||||
|
||||
iput-object v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mInvertMatrix:Landroid/graphics/Matrix;
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mVelocityMode:I
|
||||
|
||||
const v0, -0xff01
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailColor:I
|
||||
|
||||
const/high16 v0, 0x3e800000 # 0.25f
|
||||
|
||||
iput v0, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailScale:F
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/MotionTelltales;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
||||
.locals 0
|
||||
|
||||
invoke-direct {p0, p1, p2, p3}, Landroidx/constraintlayout/utils/widget/MockView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
||||
|
||||
new-instance p3, Landroid/graphics/Paint;
|
||||
|
||||
invoke-direct {p3}, Landroid/graphics/Paint;-><init>()V
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mPaintTelltales:Landroid/graphics/Paint;
|
||||
|
||||
const/4 p3, 0x2
|
||||
|
||||
new-array p3, p3, [F
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->velocity:[F
|
||||
|
||||
new-instance p3, Landroid/graphics/Matrix;
|
||||
|
||||
invoke-direct {p3}, Landroid/graphics/Matrix;-><init>()V
|
||||
|
||||
iput-object p3, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mInvertMatrix:Landroid/graphics/Matrix;
|
||||
|
||||
const/4 p3, 0x0
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mVelocityMode:I
|
||||
|
||||
const p3, -0xff01
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailColor:I
|
||||
|
||||
const/high16 p3, 0x3e800000 # 0.25f
|
||||
|
||||
iput p3, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailScale:F
|
||||
|
||||
invoke-direct {p0, p1, p2}, Landroidx/constraintlayout/utils/widget/MotionTelltales;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method private init(Landroid/content/Context;Landroid/util/AttributeSet;)V
|
||||
.locals 3
|
||||
|
||||
if-eqz p2, :cond_3
|
||||
|
||||
sget-object v0, Landroidx/constraintlayout/widget/R$styleable;->MotionTelltales:[I
|
||||
|
||||
invoke-virtual {p1, p2, v0}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
invoke-virtual {p1}, Landroid/content/res/TypedArray;->getIndexCount()I
|
||||
|
||||
move-result p2
|
||||
|
||||
const/4 v0, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge v0, p2, :cond_3
|
||||
|
||||
invoke-virtual {p1, v0}, Landroid/content/res/TypedArray;->getIndex(I)I
|
||||
|
||||
move-result v1
|
||||
|
||||
sget v2, Landroidx/constraintlayout/widget/R$styleable;->MotionTelltales_telltales_tailColor:I
|
||||
|
||||
if-ne v1, v2, :cond_0
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailColor:I
|
||||
|
||||
invoke-virtual {p1, v1, v2}, Landroid/content/res/TypedArray;->getColor(II)I
|
||||
|
||||
move-result v1
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailColor:I
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_0
|
||||
sget v2, Landroidx/constraintlayout/widget/R$styleable;->MotionTelltales_telltales_velocityMode:I
|
||||
|
||||
if-ne v1, v2, :cond_1
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mVelocityMode:I
|
||||
|
||||
invoke-virtual {p1, v1, v2}, Landroid/content/res/TypedArray;->getInt(II)I
|
||||
|
||||
move-result v1
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mVelocityMode:I
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_1
|
||||
sget v2, Landroidx/constraintlayout/widget/R$styleable;->MotionTelltales_telltales_tailScale:I
|
||||
|
||||
if-ne v1, v2, :cond_2
|
||||
|
||||
iget v2, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailScale:F
|
||||
|
||||
invoke-virtual {p1, v1, v2}, Landroid/content/res/TypedArray;->getFloat(IF)F
|
||||
|
||||
move-result v1
|
||||
|
||||
iput v1, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailScale:F
|
||||
|
||||
:cond_2
|
||||
:goto_1
|
||||
add-int/lit8 v0, v0, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_3
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mPaintTelltales:Landroid/graphics/Paint;
|
||||
|
||||
iget p2, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailColor:I
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setColor(I)V
|
||||
|
||||
iget-object p1, p0, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mPaintTelltales:Landroid/graphics/Paint;
|
||||
|
||||
const/high16 p2, 0x40a00000 # 5.0f
|
||||
|
||||
invoke-virtual {p1, p2}, Landroid/graphics/Paint;->setStrokeWidth(F)V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
|
||||
# virtual methods
|
||||
.method public onAttachedToWindow()V
|
||||
.locals 0
|
||||
|
||||
invoke-super {p0}, Landroid/view/View;->onAttachedToWindow()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public onDraw(Landroid/graphics/Canvas;)V
|
||||
.locals 22
|
||||
|
||||
move-object/from16 v6, p0
|
||||
|
||||
invoke-super/range {p0 .. p1}, Landroidx/constraintlayout/utils/widget/MockView;->onDraw(Landroid/graphics/Canvas;)V
|
||||
|
||||
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getMatrix()Landroid/graphics/Matrix;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
iget-object v1, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mInvertMatrix:Landroid/graphics/Matrix;
|
||||
|
||||
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z
|
||||
|
||||
iget-object v0, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mMotionLayout:Landroidx/constraintlayout/motion/widget/MotionLayout;
|
||||
|
||||
if-nez v0, :cond_1
|
||||
|
||||
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
|
||||
|
||||
move-result-object v0
|
||||
|
||||
instance-of v1, v0, Landroidx/constraintlayout/motion/widget/MotionLayout;
|
||||
|
||||
if-eqz v1, :cond_0
|
||||
|
||||
check-cast v0, Landroidx/constraintlayout/motion/widget/MotionLayout;
|
||||
|
||||
iput-object v0, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mMotionLayout:Landroidx/constraintlayout/motion/widget/MotionLayout;
|
||||
|
||||
:cond_0
|
||||
return-void
|
||||
|
||||
:cond_1
|
||||
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getWidth()I
|
||||
|
||||
move-result v7
|
||||
|
||||
invoke-virtual/range {p0 .. p0}, Landroid/view/View;->getHeight()I
|
||||
|
||||
move-result v8
|
||||
|
||||
const/4 v9, 0x5
|
||||
|
||||
new-array v10, v9, [F
|
||||
|
||||
fill-array-data v10, :array_0
|
||||
|
||||
const/4 v11, 0x0
|
||||
|
||||
const/4 v12, 0x0
|
||||
|
||||
:goto_0
|
||||
if-ge v12, v9, :cond_3
|
||||
|
||||
aget v13, v10, v12
|
||||
|
||||
const/4 v14, 0x0
|
||||
|
||||
:goto_1
|
||||
if-ge v14, v9, :cond_2
|
||||
|
||||
aget v15, v10, v14
|
||||
|
||||
iget-object v0, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mMotionLayout:Landroidx/constraintlayout/motion/widget/MotionLayout;
|
||||
|
||||
iget-object v4, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->velocity:[F
|
||||
|
||||
iget v5, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mVelocityMode:I
|
||||
|
||||
move-object/from16 v1, p0
|
||||
|
||||
move v2, v15
|
||||
|
||||
move v3, v13
|
||||
|
||||
invoke-virtual/range {v0 .. v5}, Landroidx/constraintlayout/motion/widget/MotionLayout;->getViewVelocity(Landroid/view/View;FF[FI)V
|
||||
|
||||
iget-object v0, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mInvertMatrix:Landroid/graphics/Matrix;
|
||||
|
||||
iget-object v1, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->velocity:[F
|
||||
|
||||
invoke-virtual {v0, v1}, Landroid/graphics/Matrix;->mapVectors([F)V
|
||||
|
||||
int-to-float v0, v7
|
||||
|
||||
mul-float v17, v0, v15
|
||||
|
||||
int-to-float v0, v8
|
||||
|
||||
mul-float v18, v0, v13
|
||||
|
||||
iget-object v0, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->velocity:[F
|
||||
|
||||
aget v1, v0, v11
|
||||
|
||||
iget v2, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mTailScale:F
|
||||
|
||||
mul-float v1, v1, v2
|
||||
|
||||
sub-float v19, v17, v1
|
||||
|
||||
const/4 v1, 0x1
|
||||
|
||||
aget v1, v0, v1
|
||||
|
||||
mul-float v1, v1, v2
|
||||
|
||||
sub-float v20, v18, v1
|
||||
|
||||
iget-object v1, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mInvertMatrix:Landroid/graphics/Matrix;
|
||||
|
||||
invoke-virtual {v1, v0}, Landroid/graphics/Matrix;->mapVectors([F)V
|
||||
|
||||
iget-object v0, v6, Landroidx/constraintlayout/utils/widget/MotionTelltales;->mPaintTelltales:Landroid/graphics/Paint;
|
||||
|
||||
move-object/from16 v16, p1
|
||||
|
||||
move-object/from16 v21, v0
|
||||
|
||||
invoke-virtual/range {v16 .. v21}, Landroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
|
||||
|
||||
add-int/lit8 v14, v14, 0x1
|
||||
|
||||
goto :goto_1
|
||||
|
||||
:cond_2
|
||||
add-int/lit8 v12, v12, 0x1
|
||||
|
||||
goto :goto_0
|
||||
|
||||
:cond_3
|
||||
return-void
|
||||
|
||||
:array_0
|
||||
.array-data 4
|
||||
0x3dcccccd # 0.1f
|
||||
0x3e800000 # 0.25f
|
||||
0x3f000000 # 0.5f
|
||||
0x3f400000 # 0.75f
|
||||
0x3f666666 # 0.9f
|
||||
.end array-data
|
||||
.end method
|
||||
|
||||
.method public onLayout(ZIIII)V
|
||||
.locals 0
|
||||
|
||||
invoke-super/range {p0 .. p5}, Landroid/view/View;->onLayout(ZIIII)V
|
||||
|
||||
invoke-virtual {p0}, Landroid/view/View;->postInvalidate()V
|
||||
|
||||
return-void
|
||||
.end method
|
||||
|
||||
.method public setText(Ljava/lang/CharSequence;)V
|
||||
.locals 0
|
||||
|
||||
invoke-interface {p1}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
|
||||
|
||||
move-result-object p1
|
||||
|
||||
iput-object p1, p0, Landroidx/constraintlayout/utils/widget/MockView;->mText:Ljava/lang/String;
|
||||
|
||||
invoke-virtual {p0}, Landroid/view/View;->requestLayout()V
|
||||
|
||||
return-void
|
||||
.end method
|
Loading…
Add table
Add a link
Reference in a new issue