.class Lcom/google/android/material/card/MaterialCardViewHelper; .super Ljava/lang/Object; .source "MaterialCardViewHelper.java" # annotations .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope; } .end annotation # 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; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private checkable:Z .field private checkedIcon:Landroid/graphics/drawable/Drawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private checkedIconMargin:I .annotation build Landroidx/annotation/Dimension; .end annotation .end field .field private checkedIconSize:I .annotation build Landroidx/annotation/Dimension; .end annotation .end field .field private checkedIconTint:Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private compatRippleDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private fgDrawable:Landroid/graphics/drawable/Drawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private final foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private foregroundShapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private isBackgroundOverwritten:Z .field private final materialCardView:Lcom/google/android/material/card/MaterialCardView; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .field private rippleColor:Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private rippleDrawable:Landroid/graphics/drawable/Drawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private strokeColor:Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private strokeWidth:I .annotation build Landroidx/annotation/Dimension; .end annotation .end field .field private final userContentPadding:Landroid/graphics/Rect; .annotation build Landroidx/annotation/NonNull; .end annotation .end field # direct methods .method public 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 1 sput-object v0, Lcom/google/android/material/card/MaterialCardViewHelper;->CHECKED_STATE_SET:[I const-wide v0, 0x4046800000000000L # 45.0 .line 2 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 .param p1 # Lcom/google/android/material/card/MaterialCardView; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p4 # I .annotation build Landroidx/annotation/StyleRes; .end annotation .end param .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V .line 2 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 3 iput-boolean v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->isBackgroundOverwritten:Z .line 4 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 5 new-instance v0, Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {p1}, Landroid/widget/FrameLayout;->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 6 invoke-virtual {p1}, Landroid/widget/FrameLayout;->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 7 invoke-virtual {v0, p4}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShadowColor(I)V .line 8 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 9 invoke-virtual {p1}, Landroid/widget/FrameLayout;->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 10 invoke-virtual {p1, p2, v0, p3, v1}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray; move-result-object p1 .line 11 sget p2, Lcom/google/android/material/R$styleable;->CardView_cardCornerRadius:I invoke-virtual {p1, p2}, Landroid/content/res/TypedArray;->hasValue(I)Z move-result p3 if-eqz p3, :cond_0 const/4 p3, 0x0 .line 12 invoke-virtual {p1, p2, p3}, Landroid/content/res/TypedArray;->getDimension(IF)F move-result p2 .line 13 invoke-virtual {p4, p2}, Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;->setAllCornerSizes(F)Lcom/google/android/material/shape/ShapeAppearanceModel$Builder; .line 14 :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 15 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 16 invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V return-void .end method .method private calculateActualCornerPadding()F .locals 4 .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 2 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 3 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 4 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 5 invoke-virtual {v2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getTopRightCornerResolvedSize()F move-result v2 .line 6 invoke-direct {p0, v1, v2}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateCornerPaddingForCornerTreatment(Lcom/google/android/material/shape/CornerTreatment;F)F move-result v1 .line 7 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 8 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 9 invoke-virtual {v2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getBottomRightCornerResolvedSize()F move-result v2 .line 10 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 11 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 12 invoke-virtual {v3}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getBottomLeftCornerResolvedSize()F move-result v3 .line 13 invoke-direct {p0, v2, v3}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateCornerPaddingForCornerTreatment(Lcom/google/android/material/shape/CornerTreatment;F)F move-result v2 .line 14 invoke-static {v1, v2}, Ljava/lang/Math;->max(FF)F move-result v1 .line 15 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 1 instance-of v0, p1, Lcom/google/android/material/shape/RoundedCornerTreatment; if-eqz v0, :cond_0 const-wide/high16 v0, 0x3ff0000000000000L # 1.0 .line 2 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 3 :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 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->getMaxCardElevation()F move-result v0 .line 2 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 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->getMaxCardElevation()F move-result v0 const/high16 v1, 0x3fc00000 # 1.5f mul-float/2addr v0, v1 .line 2 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 1 .line 1 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 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 new-instance v0, Landroid/graphics/drawable/StateListDrawable; invoke-direct {v0}, Landroid/graphics/drawable/StateListDrawable;->()V .line 2 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; if-eqz v1, :cond_0 .line 3 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 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 new-instance v0, Landroid/graphics/drawable/StateListDrawable; invoke-direct {v0}, Landroid/graphics/drawable/StateListDrawable;->()V .line 2 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 3 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 4 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 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 sget-boolean v0, Lcom/google/android/material/ripple/RippleUtils;->USE_FRAMEWORK_RIPPLE:Z if-eqz v0, :cond_0 .line 2 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 3 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 4 :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 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 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 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; if-nez v0, :cond_0 .line 2 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 3 :cond_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; if-nez v0, :cond_1 .line 4 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->createCheckedIconLayer()Landroid/graphics/drawable/Drawable; move-result-object v0 .line 5 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 6 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 7 :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 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->getPreventCornerOverlap()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 2 invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->getUseCompatPadding()Z move-result v0 if-eqz v0, :cond_0 const-wide/high16 v0, 0x3ff0000000000000L # 1.0 .line 3 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_0 const/4 v0, 0x0 return v0 .end method .method private insetDrawable(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; .locals 9 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->getUseCompatPadding()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_0 .line 2 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 3 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 goto :goto_0 :cond_0 move v7, v1 move v8, v7 .line 4 :goto_0 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 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->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 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->getPreventCornerOverlap()Z move-result v0 if-eqz v0, :cond_0 .line 2 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 3 invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->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 1 .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 2 invoke-virtual {v0}, Landroid/widget/FrameLayout;->getForeground()Landroid/graphics/drawable/Drawable; move-result-object v0 instance-of v0, v0, Landroid/graphics/drawable/InsetDrawable; if-eqz v0, :cond_0 .line 3 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Landroid/widget/FrameLayout;->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 4 :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}, Landroid/widget/FrameLayout;->setForeground(Landroid/graphics/drawable/Drawable;)V :goto_0 return-void .end method .method private updateRippleColor()V .locals 2 .line 1 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 2 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 3 :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 4 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 public forceRippleRedraw()V .locals 7 .annotation build Landroidx/annotation/RequiresApi; api = 0x17 .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 2 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect; move-result-object v0 .line 3 iget v1, v0, Landroid/graphics/Rect;->bottom:I .line 4 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 5 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 public getBackground()Lcom/google/android/material/shape/MaterialShapeDrawable; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->bgDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; return-object v0 .end method .method public getCardBackgroundColor()Landroid/content/res/ColorStateList; .locals 1 .line 1 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 public getCardForegroundColor()Landroid/content/res/ColorStateList; .locals 1 .line 1 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 public getCheckedIcon()Landroid/graphics/drawable/Drawable; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method public getCheckedIconMargin()I .locals 1 .annotation build Landroidx/annotation/Dimension; .end annotation .line 1 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I return v0 .end method .method public getCheckedIconSize()I .locals 1 .annotation build Landroidx/annotation/Dimension; .end annotation .line 1 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconSize:I return v0 .end method .method public getCheckedIconTint()Landroid/content/res/ColorStateList; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconTint:Landroid/content/res/ColorStateList; return-object v0 .end method .method public getCornerRadius()F .locals 1 .line 1 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 public getProgress()F .locals 1 .annotation build Landroidx/annotation/FloatRange; from = 0.0 to = 1.0 .end annotation .line 1 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 public getRippleColor()Landroid/content/res/ColorStateList; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; return-object v0 .end method .method public getShapeAppearanceModel()Lcom/google/android/material/shape/ShapeAppearanceModel; .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; return-object v0 .end method .method public getStrokeColor()I .locals 1 .annotation build Landroidx/annotation/ColorInt; .end annotation .line 1 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 public getStrokeColorStateList()Landroid/content/res/ColorStateList; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; return-object v0 .end method .method public getStrokeWidth()I .locals 1 .annotation build Landroidx/annotation/Dimension; .end annotation .line 1 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeWidth:I return v0 .end method .method public getUserContentPadding()Landroid/graphics/Rect; .locals 1 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->userContentPadding:Landroid/graphics/Rect; return-object v0 .end method .method public isBackgroundOverwritten()Z .locals 1 .line 1 iget-boolean v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->isBackgroundOverwritten:Z return v0 .end method .method public isCheckable()Z .locals 1 .line 1 iget-boolean v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkable:Z return v0 .end method .method public loadFromAttributes(Landroid/content/res/TypedArray;)V .locals 3 .param p1 # Landroid/content/res/TypedArray; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 2 invoke-virtual {v0}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/google/android/material/R$styleable;->MaterialCardView_strokeColor:I .line 3 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 4 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 5 :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 6 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 7 iget-object v2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v2, v0}, Landroid/widget/FrameLayout;->setLongClickable(Z)V .line 8 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 9 invoke-virtual {v0}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context; move-result-object v0 sget v2, Lcom/google/android/material/R$styleable;->MaterialCardView_checkedIconTint:I .line 10 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 11 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 12 invoke-virtual {v0}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context; move-result-object v0 sget v2, Lcom/google/android/material/R$styleable;->MaterialCardView_checkedIcon:I .line 13 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 14 invoke-virtual {p0, v0}, Lcom/google/android/material/card/MaterialCardViewHelper;->setCheckedIcon(Landroid/graphics/drawable/Drawable;)V .line 15 sget v0, Lcom/google/android/material/R$styleable;->MaterialCardView_checkedIconSize:I .line 16 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result v0 .line 17 invoke-virtual {p0, v0}, Lcom/google/android/material/card/MaterialCardViewHelper;->setCheckedIconSize(I)V .line 18 sget v0, Lcom/google/android/material/R$styleable;->MaterialCardView_checkedIconMargin:I .line 19 invoke-virtual {p1, v0, v1}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I move-result v0 .line 20 invoke-virtual {p0, v0}, Lcom/google/android/material/card/MaterialCardViewHelper;->setCheckedIconMargin(I)V .line 21 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 22 invoke-virtual {v0}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/google/android/material/R$styleable;->MaterialCardView_rippleColor:I .line 23 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 24 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 25 invoke-static {v0, v1}, Lcom/google/android/material/color/MaterialColors;->getColor(Landroid/view/View;I)I move-result v0 .line 26 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 27 :cond_1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 28 invoke-virtual {v0}, Landroid/widget/FrameLayout;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/google/android/material/R$styleable;->MaterialCardView_cardForegroundColor:I .line 29 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 30 invoke-virtual {p0, p1}, Lcom/google/android/material/card/MaterialCardViewHelper;->setCardForegroundColor(Landroid/content/res/ColorStateList;)V .line 31 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateRippleColor()V .line 32 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateElevation()V .line 33 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateStroke()V .line 34 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 35 iget-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 36 invoke-virtual {p1}, Landroid/widget/FrameLayout;->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 37 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}, Landroid/widget/FrameLayout;->setForeground(Landroid/graphics/drawable/Drawable;)V return-void .end method .method public onMeasure(II)V .locals 6 .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; if-eqz v0, :cond_2 .line 2 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 3 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-virtual {v0}, Landroidx/cardview/widget/CardView;->getUseCompatPadding()Z move-result v0 if-eqz v0, :cond_0 .line 4 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 v2, v0 invoke-static {v2, v3}, Ljava/lang/Math;->ceil(D)D move-result-wide v2 double-to-int v0, v2 sub-int/2addr p2, v0 .line 5 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_0 move v5, p2 .line 6 iget p2, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I .line 7 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; invoke-static {v0}, Landroidx/core/view/ViewCompat;->Z(Landroid/view/View;)I move-result v0 const/4 v1, 0x1 if-ne v0, v1, :cond_1 move v4, p1 move v2, p2 goto :goto_0 :cond_1 move v2, p1 move v4, p2 .line 8 :goto_0 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; const/4 v1, 0x2 iget v3, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I invoke-virtual/range {v0 .. v5}, Landroid/graphics/drawable/LayerDrawable;->setLayerInset(IIIII)V :cond_2 return-void .end method .method public setBackgroundOverwritten(Z)V .locals 0 .line 1 iput-boolean p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->isBackgroundOverwritten:Z return-void .end method .method public setCardBackgroundColor(Landroid/content/res/ColorStateList;)V .locals 1 .line 1 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 public setCardForegroundColor(Landroid/content/res/ColorStateList;)V .locals 1 .param p1 # Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 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 2 invoke-static {p1}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList; move-result-object p1 .line 3 :cond_0 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setFillColor(Landroid/content/res/ColorStateList;)V return-void .end method .method public setCheckable(Z)V .locals 0 .line 1 iput-boolean p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkable:Z return-void .end method .method public setCheckedIcon(Landroid/graphics/drawable/Drawable;)V .locals 2 .param p1 # Landroid/graphics/drawable/Drawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; if-eqz p1, :cond_0 .line 2 invoke-virtual {p1}, Landroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable; move-result-object p1 invoke-static {p1}, Ld1/c;->r(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 3 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconTint:Landroid/content/res/ColorStateList; invoke-static {p1, v0}, Ld1/c;->o(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V .line 4 :cond_0 iget-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->clickableForegroundDrawable:Landroid/graphics/drawable/LayerDrawable; if-eqz p1, :cond_1 .line 5 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->createCheckedIconLayer()Landroid/graphics/drawable/Drawable; move-result-object p1 .line 6 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 public setCheckedIconMargin(I)V .locals 0 .param p1 # I .annotation build Landroidx/annotation/Dimension; .end annotation .end param .line 1 iput p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconMargin:I return-void .end method .method public setCheckedIconSize(I)V .locals 0 .param p1 # I .annotation build Landroidx/annotation/Dimension; .end annotation .end param .line 1 iput p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconSize:I return-void .end method .method public setCheckedIconTint(Landroid/content/res/ColorStateList;)V .locals 1 .param p1 # Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIconTint:Landroid/content/res/ColorStateList; .line 2 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->checkedIcon:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 3 invoke-static {v0, p1}, Ld1/c;->o(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V :cond_0 return-void .end method .method public setCornerRadius(F)V .locals 1 .line 1 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 2 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 3 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingOutsideCardBackground()Z move-result p1 if-nez p1, :cond_0 .line 4 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingInsideCardBackground()Z move-result p1 if-eqz p1, :cond_1 .line 5 :cond_0 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateContentPadding()V .line 6 :cond_1 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingOutsideCardBackground()Z move-result p1 if-eqz p1, :cond_2 .line 7 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateInsets()V :cond_2 return-void .end method .method public setProgress(F)V .locals 1 .param p1 # F .annotation build Landroidx/annotation/FloatRange; from = 0.0 to = 1.0 .end annotation .end param .line 1 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 2 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 3 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setInterpolation(F)V .line 4 :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 5 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setInterpolation(F)V :cond_1 return-void .end method .method public setRippleColor(Landroid/content/res/ColorStateList;)V .locals 0 .param p1 # Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->rippleColor:Landroid/content/res/ColorStateList; .line 2 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateRippleColor()V return-void .end method .method public setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .locals 2 .param p1 # Lcom/google/android/material/shape/ShapeAppearanceModel; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->shapeAppearanceModel:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 2 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 3 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 4 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->foregroundContentDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 5 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 6 :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 7 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 8 :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 9 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 public setStrokeColor(Landroid/content/res/ColorStateList;)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; if-ne v0, p1, :cond_0 return-void .line 2 :cond_0 iput-object p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeColor:Landroid/content/res/ColorStateList; .line 3 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateStroke()V return-void .end method .method public setStrokeWidth(I)V .locals 1 .param p1 # I .annotation build Landroidx/annotation/Dimension; .end annotation .end param .line 1 iget v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeWidth:I if-ne p1, v0, :cond_0 return-void .line 2 :cond_0 iput p1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->strokeWidth:I .line 3 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateStroke()V return-void .end method .method public setUserContentPadding(IIII)V .locals 1 .line 1 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 2 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateContentPadding()V return-void .end method .method public updateClickable()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->fgDrawable:Landroid/graphics/drawable/Drawable; .line 2 iget-object v1, p0, Lcom/google/android/material/card/MaterialCardViewHelper;->materialCardView:Lcom/google/android/material/card/MaterialCardView; .line 3 invoke-virtual {v1}, Landroid/widget/FrameLayout;->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 4 invoke-direct {p0, v1}, Lcom/google/android/material/card/MaterialCardViewHelper;->updateInsetForeground(Landroid/graphics/drawable/Drawable;)V :cond_1 return-void .end method .method public updateContentPadding()V .locals 6 .line 1 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->shouldAddCornerPaddingInsideCardBackground()Z move-result v0 if-nez v0, :cond_1 .line 2 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 3 invoke-direct {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->calculateActualCornerPadding()F move-result v0 goto :goto_2 :cond_2 const/4 v0, 0x0 .line 4 :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 5 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 v3, v2, Landroid/graphics/Rect;->left:I add-int/2addr v3, v0 iget v4, v2, Landroid/graphics/Rect;->top:I add-int/2addr v4, v0 iget v5, v2, Landroid/graphics/Rect;->right:I add-int/2addr v5, v0 iget v2, v2, Landroid/graphics/Rect;->bottom:I add-int/2addr v2, v0 invoke-virtual {v1, v3, v4, v5, v2}, Lcom/google/android/material/card/MaterialCardView;->setAncestorContentPadding(IIII)V return-void .end method .method public updateElevation()V .locals 2 .line 1 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}, Landroidx/cardview/widget/CardView;->getCardElevation()F move-result v1 invoke-virtual {v0, v1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setElevation(F)V return-void .end method .method public updateInsets()V .locals 2 .line 1 invoke-virtual {p0}, Lcom/google/android/material/card/MaterialCardViewHelper;->isBackgroundOverwritten()Z move-result v0 if-nez v0, :cond_0 .line 2 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 3 :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}, Landroid/widget/FrameLayout;->setForeground(Landroid/graphics/drawable/Drawable;)V return-void .end method .method public updateStroke()V .locals 3 .line 1 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