.class Lcom/google/android/material/card/MaterialCardViewHelper; .super Ljava/lang/Object; .source "MaterialCardViewHelper.java" # static fields .field private static final CARD_VIEW_SHADOW_MULTIPLIER:F = 1.5f .field private static final CHECKED_ICON_LAYER_INDEX:I = 0x2 .field private static final CHECKED_STATE_SET:[I .field private static final COS_45:D .field private static final DEFAULT_STROKE_VALUE:I = -0x1 # instance fields .field private final bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .field private checkable:Z .field private checkedIcon:Landroid/graphics/drawable/Drawable; .field private checkedIconMargin:I .field private checkedIconSize:I .field private checkedIconTint:Landroid/content/res/ColorStateList; .field private clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; .field private compatRippleDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .field private fgDrawable:Landroid/graphics/drawable/Drawable; .field private final foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .field private foregroundShapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .field private isBackgroundOverwritten:Z .field private final materialCardView:Lcom/google/android/material/card/MaterialCardView; .field private rippleColor:Landroid/content/res/ColorStateList; .field private rippleDrawable:Landroid/graphics/drawable/Drawable; .field private shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .field private strokeColor:Landroid/content/res/ColorStateList; .field private strokeWidth:I .field private final userContentPadding:Landroid/graphics/Rect; # direct methods .method static constructor ()V .locals 3 const/4 v0, 0x1 new-array v0, v0, [I const/4 v1, 0x0 const v2, 0x10100a0 aput v2, v0, v1 .line 61 sput-object v0, Lcom/google/android/material/card/MaterialCardViewHelper;->CHECKED_STATE_SET:[I const-wide v0, 0x4046800000000000L # 45.0 .line 66 invoke-static {v0, v1}, Ljava/lang/Math;->toRadians(D)D move-result-wide v0 invoke-static {v0, v1}, Ljava/lang/Math;->cos(D)D move-result-wide v0 sput-wide v0, Lcom/google/android/material/card/MaterialCardViewHelper;->COS_45:D return-void .end method .method public constructor (Lcom/google/android/material/card/MaterialCardView;Landroid/util/AttributeSet;II)V .locals 2 .line 122 invoke-direct {p0}, Ljava/lang/Object;->()V .line 91 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->userContentPadding:Landroid/graphics/Rect; const/4 v0, 0x0 .line 115 iput-boolean v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->isBackgroundOverwritten:Z .line 123 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 124 new-instance v0, Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {p1}, Lcom/google/android/material/card/MaterialCardView;->getContext()Landroid/content/Context; move-result-object v1 invoke-direct {v0, v1, p2, p3, p4}, Lcom/google/android/material/shape/MaterialShapeDrawable;->(Landroid/content/Context;Landroid/util/AttributeSet;II)V iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 125 invoke-virtual {p1}, Lcom/google/android/material/card/MaterialCardView;->getContext()Landroid/content/Context; move-result-object p4 invoke-virtual {v0, p4}, Lcom/google/android/material/shape/MaterialShapeDrawable;->initializeElevationOverlay(Landroid/content/Context;)V const p4, -0xbbbbbc .line 126 invoke-virtual {v0, p4}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShadowColor(I)V .line 128 invoke-virtual {v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getShapeAppearanceModel()Lcom/google/android/material/shape/ShapeAppearanceModel; move-result-object p4 invoke-virtual {p4}, Lcom/google/android/material/shape/ShapeAppearanceModel;->toBuilder()Lcom/google/android/material/shape/ShapeAppearanceModel$Builder; move-result-object p4 .line 131 invoke-virtual {p1}, Lcom/google/android/material/card/MaterialCardView;->getContext()Landroid/content/Context; move-result-object p1 sget-object v0, Lcom/google/android/material/R$styleable;->CardView:[I sget v1, Lcom/google/android/material/R$style;->CardView:I .line 132 invoke-virtual {p1, p2, v0, p3, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object p1 .line 133 sget p2, Lcom/google/android/material/R$styleable;->CardView_cardCornerRadius:I invoke-virtual {p1, p2}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result p2 if-eqz p2, :cond_0 .line 135 sget p2, Lcom/google/android/material/R$styleable;->CardView_cardCornerRadius:I const/4 p3, 0x0 .line 136 invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getDimension(IF)F move-result p2 .line 135 invoke-virtual {p4, p2}, Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;->setAllCornerSizes(F)Lcom/google/android/material/shape/ShapeAppearanceModel$Builder; .line 139 :cond_0 new-instance p2, Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-direct {p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->()V iput-object p2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 140 invoke-virtual {p4}, Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;->build()Lcom/google/android/material/shape/ShapeAppearanceModel; move-result-object p2 invoke-virtual {p0, p2}, Lcom/google/android/material/card/MaterialCardViewHelper;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 142 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V return-void .end method .method private calculateActualCornerPadding()F .locals 4 .line 581 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 584 invoke-virtual {v0}, Lcom/google/android/material/shape/ShapeAppearanceModel;->getTopLeftCorner()Lcom/google/android/material/shape/CornerTreatment; move-result-object v0 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getTopLeftCornerResolvedSize()F move-result v1 .line 583 invoke-direct {p0, v0, v1}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateCornerPaddingForCornerTreatment(Lcom/google/android/material/shape/CornerTreatment;F)F move-result v0 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 586 invoke-virtual {v1}, Lcom/google/android/material/shape/ShapeAppearanceModel;->getTopRightCorner()Lcom/google/android/material/shape/CornerTreatment; move-result-object v1 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 587 invoke-virtual {v2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getTopRightCornerResolvedSize()F move-result v2 .line 585 invoke-direct {p0, v1, v2}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateCornerPaddingForCornerTreatment(Lcom/google/android/material/shape/CornerTreatment;F)F move-result v1 .line 582 invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F move-result v0 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 590 invoke-virtual {v1}, Lcom/google/android/material/shape/ShapeAppearanceModel;->getBottomRightCorner()Lcom/google/android/material/shape/CornerTreatment; move-result-object v1 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 591 invoke-virtual {v2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getBottomRightCornerResolvedSize()F move-result v2 .line 589 invoke-direct {p0, v1, v2}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateCornerPaddingForCornerTreatment(Lcom/google/android/material/shape/CornerTreatment;F)F move-result v1 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 593 invoke-virtual {v2}, Lcom/google/android/material/shape/ShapeAppearanceModel;->getBottomLeftCorner()Lcom/google/android/material/shape/CornerTreatment; move-result-object v2 iget-object v3, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 594 invoke-virtual {v3}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getBottomLeftCornerResolvedSize()F move-result v3 .line 592 invoke-direct {p0, v2, v3}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateCornerPaddingForCornerTreatment(Lcom/google/android/material/shape/CornerTreatment;F)F move-result v2 .line 588 invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F move-result v1 .line 581 invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F move-result v0 return v0 .end method .method private calculateCornerPaddingForCornerTreatment(Lcom/google/android/material/shape/CornerTreatment;F)F .locals 4 .line 598 instance-of v0, p1, Lcom/google/android/material/shape/RoundedCornerTreatment; if-eqz v0, :cond_0 const-wide/high16 v0, 0x3ff0000000000000L # 1.0 .line 599 sget-wide v2, Lcom/google/android/material/card/MaterialCardViewHelper;->COS_45:D sub-double/2addr v0, v2 float-to-double p1, p2 mul-double/2addr v0, p1 double-to-float p1, v0 return p1 .line 600 :cond_0 instance-of p1, p1, Lcom/google/android/material/shape/CutCornerTreatment; if-eqz p1, :cond_1 const/high16 p1, 0x40000000 # 2.0f div-float/2addr p2, p1 return p2 :cond_1 const/4 p1, 0x0 return p1 .end method .method private calculateHorizontalBackgroundPadding()F .locals 2 .line 546 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getMaxCardElevation()F move-result v0 .line 547 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingOutsideCardBackground()Z move-result v1 if-eqz v1, :cond_0 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateActualCornerPadding()F move-result v1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 add-float/2addr v0, v1 return v0 .end method .method private calculateVerticalBackgroundPadding()F .locals 2 .line 536 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getMaxCardElevation()F move-result v0 const/high16 v1, 0x3fc00000 # 1.5f mul-float/2addr v0, v1 .line 537 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingOutsideCardBackground()Z move-result v1 if-eqz v1, :cond_0 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateActualCornerPadding()F move-result v1 goto :goto_0 :cond_0 const/4 v1, 0x0 :goto_0 add-float/2addr v0, v1 return v0 .end method .method private canClipToOutline()Z .locals 2 .line 551 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x15 if-lt v0, v1, :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->isRoundRect()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private createCheckedIconLayer()Landroid/graphics/drawable/Drawable; .locals 3 .line 654 new-instance v0, Landroid/graphics/drawable/StateListDrawable; invoke-direct {v0}, Landroid/graphics/drawable/StateListDrawable;->()V .line 655 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_0 .line 656 sget-object v2, Lcom/google/android/material/card/MaterialCardViewHelper;->CHECKED_STATE_SET:[I invoke-virtual {v0, v2, v1}, Landroid/graphics/drawable/StateListDrawable;->addState([ILandroid/graphics/drawable/Drawable;)V :cond_0 return-object v0 .end method .method private createCompatRippleDrawable()Landroid/graphics/drawable/Drawable; .locals 4 .line 636 new-instance v0, Landroid/graphics/drawable/StateListDrawable; invoke-direct {v0}, Landroid/graphics/drawable/StateListDrawable;->()V .line 637 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->createForegroundShapeDrawable()Lcom/google/android/material/shape/MaterialShapeDrawable; move-result-object v1 iput-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->compatRippleDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 638 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; invoke-virtual {v1, v2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setFillColor(Landroid/content/res/ColorStateList;)V const/4 v1, 0x1 new-array v1, v1, [I const/4 v2, 0x0 const v3, 0x10100a7 aput v3, v1, v2 .line 639 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->compatRippleDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0, v1, v2}, Landroid/graphics/drawable/StateListDrawable;->addState([ILandroid/graphics/drawable/Drawable;)V return-object v0 .end method .method private createForegroundRippleDrawable()Landroid/graphics/drawable/Drawable; .locals 4 .line 625 sget-boolean v0, Lcom/google/android/material/ripple/RippleUtils;->USE_FRAMEWORK_RIPPLE:Z if-eqz v0, :cond_0 .line 626 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->createForegroundShapeDrawable()Lcom/google/android/material/shape/MaterialShapeDrawable; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundShapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 628 new-instance v0, Landroid/graphics/drawable/RippleDrawable; iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; const/4 v2, 0x0 iget-object v3, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundShapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-direct {v0, v1, v2, v3}, Landroid/graphics/drawable/RippleDrawable;->(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V return-object v0 .line 631 :cond_0 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->createCompatRippleDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 return-object v0 .end method .method private createForegroundShapeDrawable()Lcom/google/android/material/shape/MaterialShapeDrawable; .locals 2 .line 663 new-instance v0, Lcom/google/android/material/shape/MaterialShapeDrawable; iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; invoke-direct {v0, v1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->(Lcom/google/android/material/shape/ShapeAppearanceModel;)V return-object v0 .end method .method private getClickableForeground()Landroid/graphics/drawable/Drawable; .locals 5 .line 608 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; if-nez v0, :cond_0 .line 609 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->createForegroundRippleDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; .line 612 :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; if-nez v0, :cond_1 .line 613 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->createCheckedIconLayer()Landroid/graphics/drawable/Drawable; move-result-object v0 .line 614 new-instance v1, Landroid/graphics/drawable/LayerDrawable; const/4 v2, 0x3 new-array v2, v2, [Landroid/graphics/drawable/Drawable; const/4 v3, 0x0 iget-object v4, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; aput-object v4, v2, v3 const/4 v3, 0x1 iget-object v4, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; aput-object v4, v2, v3 const/4 v3, 0x2 aput-object v0, v2, v3 invoke-direct {v1, v2}, Landroid/graphics/drawable/LayerDrawable;->([Landroid/graphics/drawable/Drawable;)V iput-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; .line 617 sget v0, Lcom/google/android/material/R$id;->mtrl_card_checked_layer_id:I invoke-virtual {v1, v3, v0}, Landroid/graphics/drawable/LayerDrawable;->setId(II)V .line 620 :cond_1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; return-object v0 .end method .method private getParentCardViewCalculatedCornerPadding()F .locals 4 .line 555 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getPreventCornerOverlap()Z move-result v0 if-eqz v0, :cond_1 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x15 if-lt v0, v1, :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 556 invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getUseCompatPadding()Z move-result v0 if-eqz v0, :cond_1 :cond_0 const-wide/high16 v0, 0x3ff0000000000000L # 1.0 .line 557 sget-wide v2, Lcom/google/android/material/card/MaterialCardViewHelper;->COS_45:D sub-double/2addr v0, v2 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v2}, Lcom/google/android/material/card/MaterialCardView;->getCardViewRadius()F move-result v2 float-to-double v2, v2 mul-double/2addr v0, v2 double-to-float v0, v0 return v0 :cond_1 const/4 v0, 0x0 return v0 .end method .method private insetDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; .locals 9 .line 501 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/4 v1, 0x0 const/16 v2, 0x15 if-ge v0, v2, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 move v0, v1 :goto_0 if-nez v0, :cond_2 .line 502 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getUseCompatPadding()Z move-result v0 if-eqz v0, :cond_1 goto :goto_1 :cond_1 move v7, v1 move v8, v7 goto :goto_2 .line 504 :cond_2 :goto_1 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateVerticalBackgroundPadding()F move-result v0 float-to-double v0, v0 invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D move-result-wide v0 double-to-int v1, v0 .line 505 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateHorizontalBackgroundPadding()F move-result v0 float-to-double v2, v0 invoke-static {v2, v3}, Ljava/lang/Math;->ceil(D)D move-result-wide v2 double-to-int v0, v2 move v7, v0 move v8, v1 .line 507 :goto_2 new-instance v0, Lcom/google/android/material/card/MaterialCardViewHelper$1; move-object v2, v0 move-object v3, p0 move-object v4, p1 move v5, v7 move v6, v8 invoke-direct/range {v2 .. v8}, Lcom/google/android/material/card/MaterialCardViewHelper$1;->(Lcom/google/android/material/card/MaterialCardViewHelper;Landroid/graphics/drawable/Drawable;IIII)V return-object v0 .end method .method private shouldAddCornerPaddingInsideCardBackground()Z .locals 1 .line 563 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getPreventCornerOverlap()Z move-result v0 if-eqz v0, :cond_0 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->canClipToOutline()Z move-result v0 if-nez v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private shouldAddCornerPaddingOutsideCardBackground()Z .locals 1 .line 567 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getPreventCornerOverlap()Z move-result v0 if-eqz v0, :cond_0 .line 568 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->canClipToOutline()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 569 invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getUseCompatPadding()Z move-result v0 if-eqz v0, :cond_0 const/4 v0, 0x1 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 return v0 .end method .method private updateInsetForeground(Landroid/graphics/drawable/Drawable;)V .locals 2 .line 479 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x17 if-lt v0, v1, :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 480 invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getForeground()Landroid/graphics/drawable/Drawable; move-result-object v0 instance-of v0, v0, Landroid/graphics/drawable/InsetDrawable; if-eqz v0, :cond_0 .line 481 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getForeground()Landroid/graphics/drawable/Drawable; move-result-object v0 check-cast v0, Landroid/graphics/drawable/InsetDrawable; invoke-virtual {v0, p1}, Landroid/graphics/drawable/InsetDrawable;->setDrawable(Landroid/graphics/drawable/Drawable;)V goto :goto_0 .line 483 :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-direct {p0, p1}, Lcom/google/android/material/card/MaterialCardViewHelper;->insetDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object p1 invoke-virtual {v0, p1}, Lcom/google/android/material/card/MaterialCardView;->setForeground(Landroid/graphics/drawable/Drawable;)V :goto_0 return-void .end method .method private updateRippleColor()V .locals 2 .line 645 sget-boolean v0, Lcom/google/android/material/ripple/RippleUtils;->USE_FRAMEWORK_RIPPLE:Z if-eqz v0, :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 646 check-cast v0, Landroid/graphics/drawable/RippleDrawable; iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; invoke-virtual {v0, v1}, Landroid/graphics/drawable/RippleDrawable;->setColor(Landroid/content/res/ColorStateList;)V goto :goto_0 .line 647 :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->compatRippleDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_1 .line 648 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; invoke-virtual {v0, v1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setFillColor(Landroid/content/res/ColorStateList;)V :cond_1 :goto_0 return-void .end method # virtual methods .method forceRippleRedraw()V .locals 7 .line 441 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 442 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; move-result-object v0 .line 446 iget v1, v0, Landroid/graphics/Rect;->bottom:I .line 447 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; iget v3, v0, Landroid/graphics/Rect;->left:I iget v4, v0, Landroid/graphics/Rect;->top:I iget v5, v0, Landroid/graphics/Rect;->right:I add-int/lit8 v6, v1, -0x1 invoke-virtual {v2, v3, v4, v5, v6}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V .line 448 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; iget v3, v0, Landroid/graphics/Rect;->left:I iget v4, v0, Landroid/graphics/Rect;->top:I iget v0, v0, Landroid/graphics/Rect;->right:I invoke-virtual {v2, v3, v4, v0, v1}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V :cond_0 return-void .end method .method getBackground()Lcom/google/android/material/shape/MaterialShapeDrawable; .locals 1 .line 236 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; return-object v0 .end method .method getCardBackgroundColor()Landroid/content/res/ColorStateList; .locals 1 .line 244 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getFillColor()Landroid/content/res/ColorStateList; move-result-object v0 return-object v0 .end method .method getCardForegroundColor()Landroid/content/res/ColorStateList; .locals 1 .line 253 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getFillColor()Landroid/content/res/ColorStateList; move-result-object v0 return-object v0 .end method .method getCheckedIcon()Landroid/graphics/drawable/Drawable; .locals 1 .line 381 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method getCheckedIconMargin()I .locals 1 .line 409 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I return v0 .end method .method getCheckedIconSize()I .locals 1 .line 400 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconSize:I return v0 .end method .method getCheckedIconTint()Landroid/content/res/ColorStateList; .locals 1 .line 371 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconTint:Landroid/content/res/ColorStateList; return-object v0 .end method .method getCornerRadius()F .locals 1 .line 289 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getTopLeftCornerResolvedSize()F move-result v0 return v0 .end method .method getProgress()F .locals 1 .line 305 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getInterpolation()F move-result v0 return v0 .end method .method getRippleColor()Landroid/content/res/ColorStateList; .locals 1 .line 376 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; return-object v0 .end method .method getShapeAppearanceModel()Lcom/google/android/material/shape/ShapeAppearanceModel; .locals 1 .line 470 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; return-object v0 .end method .method getStrokeColor()I .locals 1 .line 213 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; if-nez v0, :cond_0 const/4 v0, -0x1 goto :goto_0 :cond_0 invoke-virtual {v0}, Landroid/content/res/ColorStateList;->getDefaultColor()I move-result v0 :goto_0 return v0 .end method .method getStrokeColorStateList()Landroid/content/res/ColorStateList; .locals 1 .line 218 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; return-object v0 .end method .method getStrokeWidth()I .locals 1 .line 231 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeWidth:I return v0 .end method .method getUserContentPadding()Landroid/graphics/Rect; .locals 1 .line 263 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->userContentPadding:Landroid/graphics/Rect; return-object v0 .end method .method isBackgroundOverwritten()Z .locals 1 .line 195 iget-boolean v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->isBackgroundOverwritten:Z return v0 .end method .method isCheckable()Z .locals 1 .line 354 iget-boolean v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkable:Z return v0 .end method .method loadFromAttributes(Landroid/content/res/TypedArray;)V .locals 3 .line 146 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 147 invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/google/android/material/R$styleable;->MaterialCardView_strokeColor:I .line 146 invoke-static {v0, p1, v1}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; if-nez v0, :cond_0 const/4 v0, -0x1 .line 151 invoke-static {v0}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; .line 154 :cond_0 sget v0, Lcom/google/android/material/R$styleable;->MaterialCardView_strokeWidth:I const/4 v1, 0x0 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result v0 iput v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeWidth:I .line 155 sget v0, Lcom/google/android/material/R$styleable;->MaterialCardView_android_checkable:I invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getBoolean(IZ)Z move-result v0 iput-boolean v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkable:Z .line 156 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v2, v0}, Lcom/google/android/material/card/MaterialCardView;->setLongClickable(Z)V .line 157 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 158 invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getContext()Landroid/content/Context; move-result-object v0 sget v2, Lcom/google/android/material/R$styleable;->MaterialCardView_checkedIconTint:I .line 157 invoke-static {v0, p1, v2}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconTint:Landroid/content/res/ColorStateList; .line 159 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 161 invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getContext()Landroid/content/Context; move-result-object v0 sget v2, Lcom/google/android/material/R$styleable;->MaterialCardView_checkedIcon:I .line 160 invoke-static {v0, p1, v2}, Lcom/google/android/material/resources/MaterialResources;->getDrawable(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/graphics/drawable/Drawable; move-result-object v0 .line 159 invoke-virtual {p0, v0}, Lcom/google/android/material/card/MaterialCardViewHelper;->setCheckedIcon(Landroid/graphics/drawable/Drawable;)V .line 162 sget v0, Lcom/google/android/material/R$styleable;->MaterialCardView_checkedIconSize:I .line 163 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result v0 .line 162 invoke-virtual {p0, v0}, Lcom/google/android/material/card/MaterialCardViewHelper;->setCheckedIconSize(I)V .line 164 sget v0, Lcom/google/android/material/R$styleable;->MaterialCardView_checkedIconMargin:I .line 165 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result v0 .line 164 invoke-virtual {p0, v0}, Lcom/google/android/material/card/MaterialCardViewHelper;->setCheckedIconMargin(I)V .line 167 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 169 invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/google/android/material/R$styleable;->MaterialCardView_rippleColor:I .line 168 invoke-static {v0, p1, v1}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; if-nez v0, :cond_1 .line 171 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; sget v1, Lcom/google/android/material/R$attr;->colorControlHighlight:I .line 173 invoke-static {v0, v1}, Lcom/google/android/material/color/MaterialColors;->getColor(Landroid/view/View;I)I move-result v0 .line 172 invoke-static {v0}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; .line 176 :cond_1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 178 invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/google/android/material/R$styleable;->MaterialCardView_cardForegroundColor:I .line 177 invoke-static {v0, p1, v1}, Lcom/google/android/material/resources/MaterialResources;->getColorStateList(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList; move-result-object p1 .line 182 invoke-virtual {p0, p1}, Lcom/google/android/material/card/MaterialCardViewHelper;->setCardForegroundColor(Landroid/content/res/ColorStateList;)V .line 184 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateRippleColor()V .line 185 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateElevation()V .line 186 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateStroke()V .line 188 iget-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-direct {p0, v0}, Lcom/google/android/material/card/MaterialCardViewHelper;->insetDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v0 invoke-virtual {p1, v0}, Lcom/google/android/material/card/MaterialCardView;->setBackgroundInternal(Landroid/graphics/drawable/Drawable;)V .line 189 iget-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 190 invoke-virtual {p1}, Lcom/google/android/material/card/MaterialCardView;->isClickable()Z move-result p1 if-eqz p1, :cond_2 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->getClickableForeground()Landroid/graphics/drawable/Drawable; move-result-object p1 goto :goto_0 :cond_2 iget-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; :goto_0 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->fgDrawable:Landroid/graphics/drawable/Drawable; .line 191 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-direct {p0, p1}, Lcom/google/android/material/card/MaterialCardViewHelper;->insetDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object p1 invoke-virtual {v0, p1}, Lcom/google/android/material/card/MaterialCardView;->setForeground(Landroid/graphics/drawable/Drawable;)V return-void .end method .method onMeasure(II)V .locals 9 .line 417 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; if-eqz v0, :cond_4 .line 418 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I sub-int/2addr p1, v0 iget v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconSize:I sub-int/2addr p1, v1 sub-int/2addr p2, v0 sub-int/2addr p2, v1 .line 420 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x15 const/4 v2, 0x1 if-ge v0, v1, :cond_0 move v0, v2 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 if-nez v0, :cond_1 .line 421 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Lcom/google/android/material/card/MaterialCardView;->getUseCompatPadding()Z move-result v0 if-eqz v0, :cond_2 .line 422 :cond_1 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateVerticalBackgroundPadding()F move-result v0 const/high16 v1, 0x40000000 # 2.0f mul-float/2addr v0, v1 float-to-double v3, v0 invoke-static {v3, v4}, Ljava/lang/Math;->ceil(D)D move-result-wide v3 double-to-int v0, v3 sub-int/2addr p2, v0 .line 423 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateHorizontalBackgroundPadding()F move-result v0 mul-float/2addr v0, v1 float-to-double v0, v0 invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D move-result-wide v0 double-to-int v0, v0 sub-int/2addr p1, v0 :cond_2 move v8, p2 .line 426 iget p2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I .line 427 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-static {v0}, Landroidx/core/view/ViewCompat;->getLayoutDirection(Landroid/view/View;)I move-result v0 if-ne v0, v2, :cond_3 move v7, p1 move v5, p2 goto :goto_1 :cond_3 move v5, p1 move v7, p2 .line 434 :goto_1 iget-object v3, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; const/4 v4, 0x2 iget v6, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I invoke-virtual/range {v3 .. v8}, Landroid/graphics/drawable/LayerDrawable;->setLayerInset(IIIII)V :cond_4 return-void .end method .method setBackgroundOverwritten(Z)V .locals 0 .line 199 iput-boolean p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->isBackgroundOverwritten:Z return-void .end method .method setCardBackgroundColor(Landroid/content/res/ColorStateList;)V .locals 1 .line 240 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setFillColor(Landroid/content/res/ColorStateList;)V return-void .end method .method setCardForegroundColor(Landroid/content/res/ColorStateList;)V .locals 1 .line 248 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-nez p1, :cond_0 const/4 p1, 0x0 .line 249 invoke-static {p1}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList; move-result-object p1 .line 248 :cond_0 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setFillColor(Landroid/content/res/ColorStateList;)V return-void .end method .method setCheckable(Z)V .locals 0 .line 350 iput-boolean p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkable:Z return-void .end method .method setCheckedIcon(Landroid/graphics/drawable/Drawable;)V .locals 2 .line 385 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; if-eqz p1, :cond_0 .line 387 invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; move-result-object p1 invoke-static {p1}, Landroidx/core/graphics/drawable/DrawableCompat;->wrap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object p1 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; .line 388 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconTint:Landroid/content/res/ColorStateList; invoke-static {p1, v0}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V .line 391 :cond_0 iget-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; if-eqz p1, :cond_1 .line 392 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->createCheckedIconLayer()Landroid/graphics/drawable/Drawable; move-result-object p1 .line 393 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; sget v1, Lcom/google/android/material/R$id;->mtrl_card_checked_layer_id:I invoke-virtual {v0, v1, p1}, Landroid/graphics/drawable/LayerDrawable;->setDrawableByLayerId(ILandroid/graphics/drawable/Drawable;)Z :cond_1 return-void .end method .method setCheckedIconMargin(I)V .locals 0 .line 413 iput p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I return-void .end method .method setCheckedIconSize(I)V .locals 0 .line 404 iput p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconSize:I return-void .end method .method setCheckedIconTint(Landroid/content/res/ColorStateList;)V .locals 1 .line 363 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconTint:Landroid/content/res/ColorStateList; .line 364 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 365 invoke-static {v0, p1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V :cond_0 return-void .end method .method setCornerRadius(F)V .locals 1 .line 276 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; invoke-virtual {v0, p1}, Lcom/google/android/material/shape/ShapeAppearanceModel;->withCornerSize(F)Lcom/google/android/material/shape/ShapeAppearanceModel; move-result-object p1 invoke-virtual {p0, p1}, Lcom/google/android/material/card/MaterialCardViewHelper;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 277 iget-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->fgDrawable:Landroid/graphics/drawable/Drawable; invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->invalidateSelf()V .line 278 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingOutsideCardBackground()Z move-result p1 if-nez p1, :cond_0 .line 279 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingInsideCardBackground()Z move-result p1 if-eqz p1, :cond_1 .line 280 :cond_0 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateContentPadding()V .line 283 :cond_1 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingOutsideCardBackground()Z move-result p1 if-eqz p1, :cond_2 .line 284 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateInsets()V :cond_2 return-void .end method .method setProgress(F)V .locals 1 .line 293 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setInterpolation(F)V .line 294 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 295 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setInterpolation(F)V .line 298 :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundShapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_1 .line 299 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setInterpolation(F)V :cond_1 return-void .end method .method setRippleColor(Landroid/content/res/ColorStateList;)V .locals 0 .line 358 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; .line 359 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateRippleColor()V return-void .end method .method setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .locals 2 .line 453 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 454 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 455 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->isRoundRect()Z move-result v1 xor-int/lit8 v1, v1, 0x1 invoke-virtual {v0, v1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShadowBitmapDrawingEnable(Z)V .line 456 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 457 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 460 :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundShapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_1 .line 461 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 464 :cond_1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->compatRippleDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_2 .line 465 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V :cond_2 return-void .end method .method setStrokeColor(Landroid/content/res/ColorStateList;)V .locals 1 .line 203 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; if-ne v0, p1, :cond_0 return-void .line 207 :cond_0 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; .line 208 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateStroke()V return-void .end method .method setStrokeWidth(I)V .locals 1 .line 222 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeWidth:I if-ne p1, v0, :cond_0 return-void .line 225 :cond_0 iput p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeWidth:I .line 226 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateStroke()V return-void .end method .method setUserContentPadding(IIII)V .locals 1 .line 257 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->userContentPadding:Landroid/graphics/Rect; invoke-virtual {v0, p1, p2, p3, p4}, Landroid/graphics/Rect;->set(IIII)V .line 258 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateContentPadding()V return-void .end method .method updateClickable()V .locals 2 .line 267 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->fgDrawable:Landroid/graphics/drawable/Drawable; .line 268 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 269 invoke-virtual {v1}, Lcom/google/android/material/card/MaterialCardView;->isClickable()Z move-result v1 if-eqz v1, :cond_0 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->getClickableForeground()Landroid/graphics/drawable/Drawable; move-result-object v1 goto :goto_0 :cond_0 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; :goto_0 iput-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->fgDrawable:Landroid/graphics/drawable/Drawable; if-eq v0, v1, :cond_1 .line 271 invoke-direct {p0, v1}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateInsetForeground(Landroid/graphics/drawable/Drawable;)V :cond_1 return-void .end method .method updateContentPadding()V .locals 6 .line 333 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingInsideCardBackground()Z move-result v0 if-nez v0, :cond_1 .line 334 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingOutsideCardBackground()Z move-result v0 if-eqz v0, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v0, 0x1 :goto_1 if-eqz v0, :cond_2 .line 339 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateActualCornerPadding()F move-result v0 goto :goto_2 :cond_2 const/4 v0, 0x0 .line 340 :goto_2 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->getParentCardViewCalculatedCornerPadding()F move-result v1 sub-float/2addr v0, v1 float-to-int v0, v0 .line 342 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->userContentPadding:Landroid/graphics/Rect; iget v2, v2, Landroid/graphics/Rect;->left:I add-int/2addr v2, v0 iget-object v3, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->userContentPadding:Landroid/graphics/Rect; iget v3, v3, Landroid/graphics/Rect;->top:I add-int/2addr v3, v0 iget-object v4, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->userContentPadding:Landroid/graphics/Rect; iget v4, v4, Landroid/graphics/Rect;->right:I add-int/2addr v4, v0 iget-object v5, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->userContentPadding:Landroid/graphics/Rect; iget v5, v5, Landroid/graphics/Rect;->bottom:I add-int/2addr v5, v0 invoke-virtual {v1, v2, v3, v4, v5}, Lcom/google/android/material/card/MaterialCardView;->setAncestorContentPadding(IIII)V return-void .end method .method updateElevation()V .locals 2 .line 309 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v1}, Lcom/google/android/material/card/MaterialCardView;->getCardElevation()F move-result v1 invoke-virtual {v0, v1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setElevation(F)V return-void .end method .method updateInsets()V .locals 2 .line 314 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->isBackgroundOverwritten()Z move-result v0 if-nez v0, :cond_0 .line 315 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-direct {p0, v1}, Lcom/google/android/material/card/MaterialCardViewHelper;->insetDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v1 invoke-virtual {v0, v1}, Lcom/google/android/material/card/MaterialCardView;->setBackgroundInternal(Landroid/graphics/drawable/Drawable;)V .line 317 :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->fgDrawable:Landroid/graphics/drawable/Drawable; invoke-direct {p0, v1}, Lcom/google/android/material/card/MaterialCardViewHelper;->insetDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v1 invoke-virtual {v0, v1}, Lcom/google/android/material/card/MaterialCardView;->setForeground(Landroid/graphics/drawable/Drawable;)V return-void .end method .method updateStroke()V .locals 3 .line 321 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; iget v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeWidth:I int-to-float v1, v1 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; invoke-virtual {v0, v1, v2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setStroke(FLandroid/content/res/ColorStateList;)V return-void .end method