.class Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop; .super Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl; .source "FloatingActionButtonImplLollipop.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop$AlwaysStatefulGradientDrawable; } .end annotation # instance fields .field private insetDrawable:Landroid/graphics/drawable/InsetDrawable; # direct methods .method constructor (Lcom/google/android/material/internal/VisibilityAwareImageButton;Lcom/google/android/material/shadow/ShadowViewDelegate;)V .registers 3 .line 53 invoke-direct {p0, p1, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->(Lcom/google/android/material/internal/VisibilityAwareImageButton;Lcom/google/android/material/shadow/ShadowViewDelegate;)V return-void .end method .method private createElevationAnimator(FF)Landroid/animation/Animator; .registers 10 .line 155 new-instance v0, Landroid/animation/AnimatorSet; invoke-direct {v0}, Landroid/animation/AnimatorSet;->()V .line 156 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->view:Lcom/google/android/material/internal/VisibilityAwareImageButton; const/4 v2, 0x1 new-array v3, v2, [F const/4 v4, 0x0 aput p1, v3, v4 const-string p1, "elevation" invoke-static {v1, p1, v3}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator; move-result-object p1 const-wide/16 v5, 0x0 invoke-virtual {p1, v5, v6}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; move-result-object p1 invoke-virtual {v0, p1}, Landroid/animation/AnimatorSet;->play(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; move-result-object p1 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->view:Lcom/google/android/material/internal/VisibilityAwareImageButton; sget-object v3, Landroid/view/View;->TRANSLATION_Z:Landroid/util/Property; new-array v2, v2, [F aput p2, v2, v4 .line 158 invoke-static {v1, v3, v2}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; move-result-object p2 const-wide/16 v1, 0x64 .line 159 invoke-virtual {p2, v1, v2}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; move-result-object p2 .line 157 invoke-virtual {p1, p2}, Landroid/animation/AnimatorSet$Builder;->with(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Builder; .line 160 sget-object p1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->ELEVATION_ANIM_INTERPOLATOR:Landroid/animation/TimeInterpolator; invoke-virtual {v0, p1}, Landroid/animation/AnimatorSet;->setInterpolator(Landroid/animation/TimeInterpolator;)V return-object v0 .end method # virtual methods .method public getElevation()F .registers 2 .line 166 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->view:Lcom/google/android/material/internal/VisibilityAwareImageButton; invoke-virtual {v0}, Lcom/google/android/material/internal/VisibilityAwareImageButton;->getElevation()F move-result v0 return v0 .end method .method getPadding(Landroid/graphics/Rect;)V .registers 7 .line 228 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; invoke-interface {v0}, Lcom/google/android/material/shadow/ShadowViewDelegate;->isCompatPaddingEnabled()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_2e .line 229 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; invoke-interface {v0}, Lcom/google/android/material/shadow/ShadowViewDelegate;->getRadius()F move-result v0 .line 230 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->getElevation()F move-result v2 iget v3, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->pressedTranslationZ:F add-float/2addr v2, v3 .line 234 invoke-static {v2, v0, v1}, Lcom/google/android/material/shadow/ShadowDrawableWrapper;->calculateHorizontalPadding(FFZ)F move-result v3 float-to-double v3, v3 .line 233 invoke-static {v3, v4}, Ljava/lang/Math;->ceil(D)D move-result-wide v3 double-to-int v3, v3 .line 238 invoke-static {v2, v0, v1}, Lcom/google/android/material/shadow/ShadowDrawableWrapper;->calculateVerticalPadding(FFZ)F move-result v0 float-to-double v0, v0 .line 237 invoke-static {v0, v1}, Ljava/lang/Math;->ceil(D)D move-result-wide v0 double-to-int v0, v0 .line 239 invoke-virtual {p1, v3, v0, v3, v0}, Landroid/graphics/Rect;->set(IIII)V goto :goto_31 .line 241 :cond_2e invoke-virtual {p1, v1, v1, v1, v1}, Landroid/graphics/Rect;->set(IIII)V :goto_31 return-void .end method .method jumpDrawableToCurrentState()V .registers 1 return-void .end method .method newCircularDrawable()Lcom/google/android/material/internal/CircularBorderDrawable; .registers 2 .line 218 new-instance v0, Lcom/google/android/material/internal/CircularBorderDrawableLollipop; invoke-direct {v0}, Lcom/google/android/material/internal/CircularBorderDrawableLollipop;->()V return-object v0 .end method .method newGradientDrawableForShape()Landroid/graphics/drawable/GradientDrawable; .registers 2 .line 223 new-instance v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop$AlwaysStatefulGradientDrawable; invoke-direct {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop$AlwaysStatefulGradientDrawable;->()V return-object v0 .end method .method onCompatShadowChanged()V .registers 1 .line 171 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->updatePadding()V return-void .end method .method onDrawableStateChanged([I)V .registers 2 return-void .end method .method onElevationsChanged(FFF)V .registers 12 .line 107 new-instance v0, Landroid/animation/StateListAnimator; invoke-direct {v0}, Landroid/animation/StateListAnimator;->()V .line 110 sget-object v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->PRESSED_ENABLED_STATE_SET:[I .line 111 invoke-direct {p0, p1, p3}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->createElevationAnimator(FF)Landroid/animation/Animator; move-result-object p3 .line 110 invoke-virtual {v0, v1, p3}, Landroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V .line 112 sget-object p3, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->HOVERED_FOCUSED_ENABLED_STATE_SET:[I .line 114 invoke-direct {p0, p1, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->createElevationAnimator(FF)Landroid/animation/Animator; move-result-object v1 .line 112 invoke-virtual {v0, p3, v1}, Landroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V .line 115 sget-object p3, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->FOCUSED_ENABLED_STATE_SET:[I .line 117 invoke-direct {p0, p1, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->createElevationAnimator(FF)Landroid/animation/Animator; move-result-object v1 .line 115 invoke-virtual {v0, p3, v1}, Landroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V .line 118 sget-object p3, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->HOVERED_ENABLED_STATE_SET:[I .line 120 invoke-direct {p0, p1, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->createElevationAnimator(FF)Landroid/animation/Animator; move-result-object p2 .line 118 invoke-virtual {v0, p3, p2}, Landroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V .line 123 new-instance p2, Landroid/animation/AnimatorSet; invoke-direct {p2}, Landroid/animation/AnimatorSet;->()V .line 124 new-instance p3, Ljava/util/ArrayList; invoke-direct {p3}, Ljava/util/ArrayList;->()V .line 125 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->view:Lcom/google/android/material/internal/VisibilityAwareImageButton; const/4 v2, 0x1 new-array v3, v2, [F const/4 v4, 0x0 aput p1, v3, v4 const-string p1, "elevation" invoke-static {v1, p1, v3}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Ljava/lang/String;[F)Landroid/animation/ObjectAnimator; move-result-object p1 const-wide/16 v5, 0x0 invoke-virtual {p1, v5, v6}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; move-result-object p1 invoke-interface {p3, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 126 sget p1, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x18 const-wide/16 v5, 0x64 if-gt p1, v1, :cond_6b .line 131 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->view:Lcom/google/android/material/internal/VisibilityAwareImageButton; sget-object v1, Landroid/view/View;->TRANSLATION_Z:Landroid/util/Property; iget-object v3, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->view:Lcom/google/android/material/internal/VisibilityAwareImageButton; .line 132 invoke-virtual {v3}, Lcom/google/android/material/internal/VisibilityAwareImageButton;->getTranslationZ()F move-result v3 new-array v7, v2, [F aput v3, v7, v4 invoke-static {p1, v1, v7}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; move-result-object p1 .line 133 invoke-virtual {p1, v5, v6}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; move-result-object p1 .line 131 invoke-interface {p3, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 135 :cond_6b iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->view:Lcom/google/android/material/internal/VisibilityAwareImageButton; sget-object v1, Landroid/view/View;->TRANSLATION_Z:Landroid/util/Property; new-array v2, v2, [F const/4 v3, 0x0 aput v3, v2, v4 .line 136 invoke-static {p1, v1, v2}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; move-result-object p1 .line 137 invoke-virtual {p1, v5, v6}, Landroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator; move-result-object p1 .line 135 invoke-interface {p3, p1}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 138 new-array p1, v4, [Landroid/animation/Animator; invoke-interface {p3, p1}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object; move-result-object p1 check-cast p1, [Landroid/animation/Animator; invoke-virtual {p2, p1}, Landroid/animation/AnimatorSet;->playSequentially([Landroid/animation/Animator;)V .line 139 sget-object p1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->ELEVATION_ANIM_INTERPOLATOR:Landroid/animation/TimeInterpolator; invoke-virtual {p2, p1}, Landroid/animation/AnimatorSet;->setInterpolator(Landroid/animation/TimeInterpolator;)V .line 140 sget-object p1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->ENABLED_STATE_SET:[I invoke-virtual {v0, p1, p2}, Landroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V .line 143 sget-object p1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->EMPTY_STATE_SET:[I invoke-direct {p0, v3, v3}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->createElevationAnimator(FF)Landroid/animation/Animator; move-result-object p2 invoke-virtual {v0, p1, p2}, Landroid/animation/StateListAnimator;->addState([ILandroid/animation/Animator;)V .line 145 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->view:Lcom/google/android/material/internal/VisibilityAwareImageButton; invoke-virtual {p1, v0}, Lcom/google/android/material/internal/VisibilityAwareImageButton;->setStateListAnimator(Landroid/animation/StateListAnimator;)V .line 148 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; invoke-interface {p1}, Lcom/google/android/material/shadow/ShadowViewDelegate;->isCompatPaddingEnabled()Z move-result p1 if-eqz p1, :cond_ad .line 149 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->updatePadding()V :cond_ad return-void .end method .method onPaddingUpdated(Landroid/graphics/Rect;)V .registers 9 .line 176 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; invoke-interface {v0}, Lcom/google/android/material/shadow/ShadowViewDelegate;->isCompatPaddingEnabled()Z move-result v0 if-eqz v0, :cond_22 .line 177 new-instance v0, Landroid/graphics/drawable/InsetDrawable; iget-object v2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->rippleDrawable:Landroid/graphics/drawable/Drawable; iget v3, p1, Landroid/graphics/Rect;->left:I iget v4, p1, Landroid/graphics/Rect;->top:I iget v5, p1, Landroid/graphics/Rect;->right:I iget v6, p1, Landroid/graphics/Rect;->bottom:I move-object v1, v0 invoke-direct/range {v1 .. v6}, Landroid/graphics/drawable/InsetDrawable;->(Landroid/graphics/drawable/Drawable;IIII)V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->insetDrawable:Landroid/graphics/drawable/InsetDrawable; .line 180 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->insetDrawable:Landroid/graphics/drawable/InsetDrawable; invoke-interface {p1, v0}, Lcom/google/android/material/shadow/ShadowViewDelegate;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V goto :goto_29 .line 182 :cond_22 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->rippleDrawable:Landroid/graphics/drawable/Drawable; invoke-interface {p1, v0}, Lcom/google/android/material/shadow/ShadowViewDelegate;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V :goto_29 return-void .end method .method requirePreDrawListener()Z .registers 2 const/4 v0, 0x0 return v0 .end method .method setBackgroundDrawable(Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;Landroid/content/res/ColorStateList;I)V .registers 7 .line 63 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->createShapeDrawable()Landroid/graphics/drawable/GradientDrawable; move-result-object v0 invoke-static {v0}, Landroidx/core/graphics/drawable/DrawableCompat;->wrap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shapeDrawable:Landroid/graphics/drawable/Drawable; .line 64 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shapeDrawable:Landroid/graphics/drawable/Drawable; invoke-static {v0, p1}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintList(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V if-eqz p2, :cond_16 .line 66 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shapeDrawable:Landroid/graphics/drawable/Drawable; invoke-static {v0, p2}, Landroidx/core/graphics/drawable/DrawableCompat;->setTintMode(Landroid/graphics/drawable/Drawable;Landroid/graphics/PorterDuff$Mode;)V :cond_16 const/4 p2, 0x0 if-lez p4, :cond_32 .line 71 invoke-virtual {p0, p4, p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->createBorderDrawable(ILandroid/content/res/ColorStateList;)Lcom/google/android/material/internal/CircularBorderDrawable; move-result-object p1 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->borderDrawable:Lcom/google/android/material/internal/CircularBorderDrawable; .line 72 new-instance p1, Landroid/graphics/drawable/LayerDrawable; const/4 p4, 0x2 new-array p4, p4, [Landroid/graphics/drawable/Drawable; const/4 v0, 0x0 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->borderDrawable:Lcom/google/android/material/internal/CircularBorderDrawable; aput-object v1, p4, v0 const/4 v0, 0x1 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shapeDrawable:Landroid/graphics/drawable/Drawable; aput-object v1, p4, v0 invoke-direct {p1, p4}, Landroid/graphics/drawable/LayerDrawable;->([Landroid/graphics/drawable/Drawable;)V goto :goto_36 .line 74 :cond_32 iput-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->borderDrawable:Lcom/google/android/material/internal/CircularBorderDrawable; .line 75 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shapeDrawable:Landroid/graphics/drawable/Drawable; .line 78 :goto_36 new-instance p4, Landroid/graphics/drawable/RippleDrawable; .line 80 invoke-static {p3}, Lcom/google/android/material/ripple/RippleUtils;->convertToRippleDrawableColor(Landroid/content/res/ColorStateList;)Landroid/content/res/ColorStateList; move-result-object p3 invoke-direct {p4, p3, p1, p2}, Landroid/graphics/drawable/RippleDrawable;->(Landroid/content/res/ColorStateList;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V iput-object p4, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->rippleDrawable:Landroid/graphics/drawable/Drawable; .line 82 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->rippleDrawable:Landroid/graphics/drawable/Drawable; iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->contentBackground:Landroid/graphics/drawable/Drawable; .line 84 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->rippleDrawable:Landroid/graphics/drawable/Drawable; invoke-interface {p1, p2}, Lcom/google/android/material/shadow/ShadowViewDelegate;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V return-void .end method .method setRippleColor(Landroid/content/res/ColorStateList;)V .registers 3 .line 89 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->rippleDrawable:Landroid/graphics/drawable/Drawable; instance-of v0, v0, Landroid/graphics/drawable/RippleDrawable; if-eqz v0, :cond_12 .line 90 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImplLollipop;->rippleDrawable:Landroid/graphics/drawable/Drawable; check-cast v0, Landroid/graphics/drawable/RippleDrawable; .line 91 invoke-static {p1}, Lcom/google/android/material/ripple/RippleUtils;->convertToRippleDrawableColor(Landroid/content/res/ColorStateList;)Landroid/content/res/ColorStateList; move-result-object p1 invoke-virtual {v0, p1}, Landroid/graphics/drawable/RippleDrawable;->setColor(Landroid/content/res/ColorStateList;)V goto :goto_15 .line 93 :cond_12 invoke-super {p0, p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->setRippleColor(Landroid/content/res/ColorStateList;)V :goto_15 return-void .end method