.class Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl; .super Ljava/lang/Object; .source "FloatingActionButtonImpl.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$DisabledElevationAnimation;, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToPressedTranslationZAnimation;, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation;, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ResetElevationAnimation;, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl;, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback; } .end annotation # static fields .field static final ANIM_STATE_HIDING:I = 0x1 .field static final ANIM_STATE_NONE:I = 0x0 .field static final ANIM_STATE_SHOWING:I = 0x2 .field static final ELEVATION_ANIM_DELAY:J = 0x64L .field static final ELEVATION_ANIM_DURATION:J = 0x64L .field static final ELEVATION_ANIM_INTERPOLATOR:Landroid/animation/TimeInterpolator; .field static final EMPTY_STATE_SET:[I .field static final ENABLED_STATE_SET:[I .field static final FOCUSED_ENABLED_STATE_SET:[I .field private static final HIDE_ICON_SCALE:F = 0.0f .field private static final HIDE_OPACITY:F = 0.0f .field private static final HIDE_SCALE:F = 0.0f .field static final HOVERED_ENABLED_STATE_SET:[I .field static final HOVERED_FOCUSED_ENABLED_STATE_SET:[I .field static final PRESSED_ENABLED_STATE_SET:[I .field static final SHADOW_MULTIPLIER:F = 1.5f .field private static final SHOW_ICON_SCALE:F = 1.0f .field private static final SHOW_OPACITY:F = 1.0f .field private static final SHOW_SCALE:F = 1.0f # instance fields .field private animState:I .field borderDrawable:Lcom/google/android/material/floatingactionbutton/BorderDrawable; .field contentBackground:Landroid/graphics/drawable/Drawable; .field private currentAnimator:Landroid/animation/Animator; .field private defaultHideMotionSpec:Lcom/google/android/material/animation/MotionSpec; .field private defaultShowMotionSpec:Lcom/google/android/material/animation/MotionSpec; .field elevation:F .field ensureMinTouchTargetSize:Z .field private hideListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroid/animation/Animator$AnimatorListener;", ">;" } .end annotation .end field .field private hideMotionSpec:Lcom/google/android/material/animation/MotionSpec; .field hoveredFocusedTranslationZ:F .field private imageMatrixScale:F .field private maxImageSize:I .field minTouchTargetSize:I .field private preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; .field pressedTranslationZ:F .field rippleDrawable:Landroid/graphics/drawable/Drawable; .field private rotation:F .field shadowPaddingEnabled:Z .field final shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; .field shapeAppearance:Lcom/google/android/material/shape/ShapeAppearanceModel; .field shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .field private showListeners:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroid/animation/Animator$AnimatorListener;", ">;" } .end annotation .end field .field private showMotionSpec:Lcom/google/android/material/animation/MotionSpec; .field private final stateListAnimator:Lcom/google/android/material/internal/StateListAnimator; .field private final tmpMatrix:Landroid/graphics/Matrix; .field private final tmpRect:Landroid/graphics/Rect; .field private final tmpRectF1:Landroid/graphics/RectF; .field private final tmpRectF2:Landroid/graphics/RectF; .field private transformationCallbacks:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback;", ">;" } .end annotation .end field .field final view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; # direct methods .method static constructor ()V .locals 3 .line 68 sget-object v0, Lcom/google/android/material/animation/AnimationUtils;->FAST_OUT_LINEAR_IN_INTERPOLATOR:Landroid/animation/TimeInterpolator; sput-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ELEVATION_ANIM_INTERPOLATOR:Landroid/animation/TimeInterpolator; const/4 v0, 0x2 new-array v1, v0, [I .line 128 fill-array-data v1, :array_0 sput-object v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->PRESSED_ENABLED_STATE_SET:[I const/4 v1, 0x3 new-array v1, v1, [I .line 131 fill-array-data v1, :array_1 sput-object v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->HOVERED_FOCUSED_ENABLED_STATE_SET:[I new-array v1, v0, [I .line 134 fill-array-data v1, :array_2 sput-object v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->FOCUSED_ENABLED_STATE_SET:[I new-array v0, v0, [I .line 137 fill-array-data v0, :array_3 sput-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->HOVERED_ENABLED_STATE_SET:[I const/4 v0, 0x1 new-array v0, v0, [I const v1, 0x101009e const/4 v2, 0x0 aput v1, v0, v2 .line 140 sput-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ENABLED_STATE_SET:[I new-array v0, v2, [I .line 141 sput-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->EMPTY_STATE_SET:[I return-void :array_0 .array-data 4 0x10100a7 0x101009e .end array-data :array_1 .array-data 4 0x1010367 0x101009c 0x101009e .end array-data :array_2 .array-data 4 0x101009c 0x101009e .end array-data :array_3 .array-data 4 0x1010367 0x101009e .end array-data .end method .method constructor (Lcom/google/android/material/floatingactionbutton/FloatingActionButton;Lcom/google/android/material/shadow/ShadowViewDelegate;)V .locals 2 .line 155 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x1 .line 92 iput-boolean v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowPaddingEnabled:Z const/high16 v0, 0x3f800000 # 1.0f .line 107 iput v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->imageMatrixScale:F const/4 v0, 0x0 .line 109 iput v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->animState:I .line 146 new-instance v0, Landroid/graphics/Rect; invoke-direct {v0}, Landroid/graphics/Rect;->()V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRect:Landroid/graphics/Rect; .line 147 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRectF1:Landroid/graphics/RectF; .line 148 new-instance v0, Landroid/graphics/RectF; invoke-direct {v0}, Landroid/graphics/RectF;->()V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRectF2:Landroid/graphics/RectF; .line 149 new-instance v0, Landroid/graphics/Matrix; invoke-direct {v0}, Landroid/graphics/Matrix;->()V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpMatrix:Landroid/graphics/Matrix; .line 156 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; .line 157 iput-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; .line 159 new-instance p2, Lcom/google/android/material/internal/StateListAnimator; invoke-direct {p2}, Lcom/google/android/material/internal/StateListAnimator;->()V iput-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->stateListAnimator:Lcom/google/android/material/internal/StateListAnimator; .line 162 sget-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->PRESSED_ENABLED_STATE_SET:[I new-instance v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToPressedTranslationZAnimation; invoke-direct {v1, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToPressedTranslationZAnimation;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V .line 164 invoke-direct {p0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createElevationAnimator(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl;)Landroid/animation/ValueAnimator; move-result-object v1 .line 162 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 165 sget-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->HOVERED_FOCUSED_ENABLED_STATE_SET:[I new-instance v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation; invoke-direct {v1, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V .line 167 invoke-direct {p0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createElevationAnimator(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl;)Landroid/animation/ValueAnimator; move-result-object v1 .line 165 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 168 sget-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->FOCUSED_ENABLED_STATE_SET:[I new-instance v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation; invoke-direct {v1, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V .line 170 invoke-direct {p0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createElevationAnimator(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl;)Landroid/animation/ValueAnimator; move-result-object v1 .line 168 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 171 sget-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->HOVERED_ENABLED_STATE_SET:[I new-instance v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation; invoke-direct {v1, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ElevateToHoveredFocusedTranslationZAnimation;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V .line 173 invoke-direct {p0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createElevationAnimator(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl;)Landroid/animation/ValueAnimator; move-result-object v1 .line 171 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 175 sget-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ENABLED_STATE_SET:[I new-instance v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ResetElevationAnimation; invoke-direct {v1, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ResetElevationAnimation;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V .line 176 invoke-direct {p0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createElevationAnimator(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl;)Landroid/animation/ValueAnimator; move-result-object v1 .line 175 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 178 sget-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->EMPTY_STATE_SET:[I new-instance v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$DisabledElevationAnimation; invoke-direct {v1, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$DisabledElevationAnimation;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V .line 179 invoke-direct {p0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createElevationAnimator(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl;)Landroid/animation/ValueAnimator; move-result-object v1 .line 178 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 181 invoke-virtual {p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getRotation()F move-result p1 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rotation:F return-void .end method .method static synthetic access$002(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;I)I .locals 0 .line 66 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->animState:I return p1 .end method .method static synthetic access$102(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;Landroid/animation/Animator;)Landroid/animation/Animator; .locals 0 .line 66 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->currentAnimator:Landroid/animation/Animator; return-object p1 .end method .method static synthetic access$202(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;F)F .locals 0 .line 66 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->imageMatrixScale:F return p1 .end method .method private calculateImageMatrixFromScale(FLandroid/graphics/Matrix;)V .locals 5 .line 293 invoke-virtual {p2}, Landroid/graphics/Matrix;->reset()V .line 295 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_0 .line 296 iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->maxImageSize:I if-eqz v1, :cond_0 .line 298 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRectF1:Landroid/graphics/RectF; .line 299 iget-object v2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRectF2:Landroid/graphics/RectF; .line 300 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I move-result v3 int-to-float v3, v3 invoke-virtual {v0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I move-result v0 int-to-float v0, v0 const/4 v4, 0x0 invoke-virtual {v1, v4, v4, v3, v0}, Landroid/graphics/RectF;->set(FFFF)V .line 301 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->maxImageSize:I int-to-float v3, v0 int-to-float v0, v0 invoke-virtual {v2, v4, v4, v3, v0}, Landroid/graphics/RectF;->set(FFFF)V .line 302 sget-object v0, Landroid/graphics/Matrix$ScaleToFit;->CENTER:Landroid/graphics/Matrix$ScaleToFit; invoke-virtual {p2, v1, v2, v0}, Landroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z .line 305 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->maxImageSize:I int-to-float v1, v0 const/high16 v2, 0x40000000 # 2.0f div-float/2addr v1, v2 int-to-float v0, v0 div-float/2addr v0, v2 invoke-virtual {p2, p1, p1, v1, v0}, Landroid/graphics/Matrix;->postScale(FFFF)Z :cond_0 return-void .end method .method private createAnimator(Lcom/google/android/material/animation/MotionSpec;FFF)Landroid/animation/AnimatorSet; .locals 6 .line 563 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 565 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; sget-object v2, Landroid/view/View;->ALPHA:Landroid/util/Property; const/4 v3, 0x1 new-array v4, v3, [F const/4 v5, 0x0 aput p2, v4, v5 invoke-static {v1, v2, v4}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; move-result-object p2 const-string v1, "opacity" .line 566 invoke-virtual {p1, v1}, Lcom/google/android/material/animation/MotionSpec;->getTiming(Ljava/lang/String;)Lcom/google/android/material/animation/MotionTiming; move-result-object v1 invoke-virtual {v1, p2}, Lcom/google/android/material/animation/MotionTiming;->apply(Landroid/animation/Animator;)V .line 567 invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 569 iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; sget-object v1, Landroid/view/View;->SCALE_X:Landroid/util/Property; new-array v2, v3, [F aput p3, v2, v5 invoke-static {p2, v1, v2}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; move-result-object p2 const-string v1, "scale" .line 570 invoke-virtual {p1, v1}, Lcom/google/android/material/animation/MotionSpec;->getTiming(Ljava/lang/String;)Lcom/google/android/material/animation/MotionTiming; move-result-object v2 invoke-virtual {v2, p2}, Lcom/google/android/material/animation/MotionTiming;->apply(Landroid/animation/Animator;)V .line 571 invoke-direct {p0, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->workAroundOreoBug(Landroid/animation/ObjectAnimator;)V .line 572 invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 574 iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; sget-object v2, Landroid/view/View;->SCALE_Y:Landroid/util/Property; new-array v4, v3, [F aput p3, v4, v5 invoke-static {p2, v2, v4}, Landroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;[F)Landroid/animation/ObjectAnimator; move-result-object p2 .line 575 invoke-virtual {p1, v1}, Lcom/google/android/material/animation/MotionSpec;->getTiming(Ljava/lang/String;)Lcom/google/android/material/animation/MotionTiming; move-result-object p3 invoke-virtual {p3, p2}, Lcom/google/android/material/animation/MotionTiming;->apply(Landroid/animation/Animator;)V .line 576 invoke-direct {p0, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->workAroundOreoBug(Landroid/animation/ObjectAnimator;)V .line 577 invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 579 iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpMatrix:Landroid/graphics/Matrix; invoke-direct {p0, p4, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->calculateImageMatrixFromScale(FLandroid/graphics/Matrix;)V .line 580 iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; new-instance p3, Lcom/google/android/material/animation/ImageMatrixProperty; invoke-direct {p3}, Lcom/google/android/material/animation/ImageMatrixProperty;->()V new-instance p4, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$3; invoke-direct {p4, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$3;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V new-array v1, v3, [Landroid/graphics/Matrix; new-instance v2, Landroid/graphics/Matrix; iget-object v3, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpMatrix:Landroid/graphics/Matrix; invoke-direct {v2, v3}, Landroid/graphics/Matrix;->(Landroid/graphics/Matrix;)V aput-object v2, v1, v5 .line 581 invoke-static {p2, p3, p4, v1}, Landroid/animation/ObjectAnimator;->ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator; move-result-object p2 const-string p3, "iconScale" .line 595 invoke-virtual {p1, p3}, Lcom/google/android/material/animation/MotionSpec;->getTiming(Ljava/lang/String;)Lcom/google/android/material/animation/MotionTiming; move-result-object p1 invoke-virtual {p1, p2}, Lcom/google/android/material/animation/MotionTiming;->apply(Landroid/animation/Animator;)V .line 596 invoke-interface {v0, p2}, Ljava/util/List;->add(Ljava/lang/Object;)Z .line 598 new-instance p1, Landroid/animation/AnimatorSet; invoke-direct {p1}, Landroid/animation/AnimatorSet;->()V .line 599 invoke-static {p1, v0}, Lcom/google/android/material/animation/AnimatorSetCompat;->playTogether(Landroid/animation/AnimatorSet;Ljava/util/List;)V return-object p1 .end method .method private createElevationAnimator(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl;)Landroid/animation/ValueAnimator; .locals 3 .line 769 new-instance v0, Landroid/animation/ValueAnimator; invoke-direct {v0}, Landroid/animation/ValueAnimator;->()V .line 770 sget-object v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ELEVATION_ANIM_INTERPOLATOR:Landroid/animation/TimeInterpolator; invoke-virtual {v0, v1}, Landroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V const-wide/16 v1, 0x64 .line 771 invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator; .line 772 invoke-virtual {v0, p1}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V .line 773 invoke-virtual {v0, p1}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V const/4 p1, 0x2 new-array p1, p1, [F .line 774 fill-array-data p1, :array_0 invoke-virtual {v0, p1}, Landroid/animation/ValueAnimator;->setFloatValues([F)V return-object v0 nop :array_0 .array-data 4 0x0 0x3f800000 # 1.0f .end array-data .end method .method private getDefaultHideMotionSpec()Lcom/google/android/material/animation/MotionSpec; .locals 2 .line 552 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultHideMotionSpec:Lcom/google/android/material/animation/MotionSpec; if-nez v0, :cond_0 .line 553 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; .line 554 invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/google/android/material/R$animator;->design_fab_hide_motion_spec:I invoke-static {v0, v1}, Lcom/google/android/material/animation/MotionSpec;->createFromResource(Landroid/content/Context;I)Lcom/google/android/material/animation/MotionSpec; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultHideMotionSpec:Lcom/google/android/material/animation/MotionSpec; .line 557 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultHideMotionSpec:Lcom/google/android/material/animation/MotionSpec; invoke-static {v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/google/android/material/animation/MotionSpec; return-object v0 .end method .method private getDefaultShowMotionSpec()Lcom/google/android/material/animation/MotionSpec; .locals 2 .line 543 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultShowMotionSpec:Lcom/google/android/material/animation/MotionSpec; if-nez v0, :cond_0 .line 544 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; .line 545 invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getContext()Landroid/content/Context; move-result-object v0 sget v1, Lcom/google/android/material/R$animator;->design_fab_show_motion_spec:I invoke-static {v0, v1}, Lcom/google/android/material/animation/MotionSpec;->createFromResource(Landroid/content/Context;I)Lcom/google/android/material/animation/MotionSpec; move-result-object v0 iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultShowMotionSpec:Lcom/google/android/material/animation/MotionSpec; .line 548 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultShowMotionSpec:Lcom/google/android/material/animation/MotionSpec; invoke-static {v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/google/android/material/animation/MotionSpec; return-object v0 .end method .method private getOrCreatePreDrawListener()Landroid/view/ViewTreeObserver$OnPreDrawListener; .locals 1 .line 728 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; if-nez v0, :cond_0 .line 729 new-instance v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$5; invoke-direct {v0, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$5;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; .line 739 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; return-object v0 .end method .method private shouldAnimateVisibilityChange()Z .locals 1 .line 846 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-static {v0}, Landroidx/core/view/ViewCompat;->isLaidOut(Landroid/view/View;)Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->isInEditMode()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 workAroundOreoBug(Landroid/animation/ObjectAnimator;)V .locals 2 .line 608 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1a if-eq v0, v1, :cond_0 return-void .line 612 :cond_0 new-instance v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$4; invoke-direct {v0, p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$4;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;)V invoke-virtual {p1, v0}, Landroid/animation/ObjectAnimator;->setEvaluator(Landroid/animation/TypeEvaluator;)V return-void .end method # virtual methods .method public addOnHideAnimationListener(Landroid/animation/Animator$AnimatorListener;)V .locals 1 .line 401 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 .line 402 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideListeners:Ljava/util/ArrayList; .line 404 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method addOnShowAnimationListener(Landroid/animation/Animator$AnimatorListener;)V .locals 1 .line 385 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 .line 386 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showListeners:Ljava/util/ArrayList; .line 388 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showListeners:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method addTransformationCallback(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback;)V .locals 1 .line 623 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; if-nez v0, :cond_0 .line 624 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; .line 626 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z return-void .end method .method createShapeDrawable()Lcom/google/android/material/shape/MaterialShapeDrawable; .locals 2 .line 743 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeAppearance:Lcom/google/android/material/shape/ShapeAppearanceModel; invoke-static {v0}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/google/android/material/shape/ShapeAppearanceModel; .line 744 new-instance v1, Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-direct {v1, v0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->(Lcom/google/android/material/shape/ShapeAppearanceModel;)V return-object v1 .end method .method final getContentBackground()Landroid/graphics/drawable/Drawable; .locals 1 .line 656 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->contentBackground:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method getElevation()F .locals 1 .line 246 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->elevation:F return v0 .end method .method getEnsureMinTouchTargetSize()Z .locals 1 .line 352 iget-boolean v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ensureMinTouchTargetSize:Z return v0 .end method .method final getHideMotionSpec()Lcom/google/android/material/animation/MotionSpec; .locals 1 .line 340 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideMotionSpec:Lcom/google/android/material/animation/MotionSpec; return-object v0 .end method .method getHoveredFocusedTranslationZ()F .locals 1 .line 250 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hoveredFocusedTranslationZ:F return v0 .end method .method getPadding(Landroid/graphics/Rect;)V .locals 5 .line 671 iget-boolean v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ensureMinTouchTargetSize:Z if-eqz v0, :cond_0 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->minTouchTargetSize:I iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; .line 672 invoke-virtual {v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getSizeDimension()I move-result v1 sub-int/2addr v0, v1 div-int/lit8 v0, v0, 0x2 goto :goto_0 :cond_0 const/4 v0, 0x0 .line 675 :goto_0 iget-boolean v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowPaddingEnabled:Z if-eqz v1, :cond_1 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->getElevation()F move-result v1 iget v2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F add-float/2addr v1, v2 goto :goto_1 :cond_1 const/4 v1, 0x0 :goto_1 float-to-double v2, v1 .line 676 invoke-static {v2, v3}, Ljava/lang/Math;->ceil(D)D move-result-wide v2 double-to-int v2, v2 invoke-static {v0, v2}, Ljava/lang/Math;->max(II)I move-result v2 const/high16 v3, 0x3fc00000 # 1.5f mul-float/2addr v1, v3 float-to-double v3, v1 .line 677 invoke-static {v3, v4}, Ljava/lang/Math;->ceil(D)D move-result-wide v3 double-to-int v1, v3 invoke-static {v0, v1}, Ljava/lang/Math;->max(II)I move-result v0 .line 678 invoke-virtual {p1, v2, v0, v2, v0}, Landroid/graphics/Rect;->set(IIII)V return-void .end method .method getPressedTranslationZ()F .locals 1 .line 254 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F return v0 .end method .method final getShapeAppearance()Lcom/google/android/material/shape/ShapeAppearanceModel; .locals 1 .line 326 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeAppearance:Lcom/google/android/material/shape/ShapeAppearanceModel; return-object v0 .end method .method final getShowMotionSpec()Lcom/google/android/material/animation/MotionSpec; .locals 1 .line 331 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showMotionSpec:Lcom/google/android/material/animation/MotionSpec; return-object v0 .end method .method hide(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;Z)V .locals 2 .line 417 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->isOrWillBeHidden()Z move-result v0 if-eqz v0, :cond_0 return-void .line 422 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->currentAnimator:Landroid/animation/Animator; if-eqz v0, :cond_1 .line 423 invoke-virtual {v0}, Landroid/animation/Animator;->cancel()V .line 426 :cond_1 invoke-direct {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shouldAnimateVisibilityChange()Z move-result v0 if-eqz v0, :cond_4 .line 427 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideMotionSpec:Lcom/google/android/material/animation/MotionSpec; if-eqz v0, :cond_2 goto :goto_0 .line 429 :cond_2 invoke-direct {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->getDefaultHideMotionSpec()Lcom/google/android/material/animation/MotionSpec; move-result-object v0 :goto_0 const/4 v1, 0x0 .line 428 invoke-direct {p0, v0, v1, v1, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createAnimator(Lcom/google/android/material/animation/MotionSpec;FFF)Landroid/animation/AnimatorSet; move-result-object v0 .line 433 new-instance v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$1; invoke-direct {v1, p0, p2, p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$1;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;ZLcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;)V invoke-virtual {v0, v1}, Landroid/animation/AnimatorSet;->addListener(Landroid/animation/Animator$AnimatorListener;)V .line 464 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideListeners:Ljava/util/ArrayList; if-eqz p1, :cond_3 .line 465 invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_1 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result p2 if-eqz p2, :cond_3 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object p2 check-cast p2, Landroid/animation/Animator$AnimatorListener; .line 466 invoke-virtual {v0, p2}, Landroid/animation/AnimatorSet;->addListener(Landroid/animation/Animator$AnimatorListener;)V goto :goto_1 .line 469 :cond_3 invoke-virtual {v0}, Landroid/animation/AnimatorSet;->start()V goto :goto_3 .line 472 :cond_4 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; if-eqz p2, :cond_5 const/16 v1, 0x8 goto :goto_2 :cond_5 const/4 v1, 0x4 :goto_2 invoke-virtual {v0, v1, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->internalSetVisibility(IZ)V if-eqz p1, :cond_6 .line 474 invoke-interface {p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;->onHidden()V :cond_6 :goto_3 return-void .end method .method initializeBackgroundDrawable(Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;Landroid/content/res/ColorStateList;I)V .locals 0 .line 191 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createShapeDrawable()Lcom/google/android/material/shape/MaterialShapeDrawable; move-result-object p4 iput-object p4, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 192 invoke-virtual {p4, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setTintList(Landroid/content/res/ColorStateList;)V if-eqz p2, :cond_0 .line 194 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; invoke-virtual {p1, p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V .line 197 :cond_0 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; const p2, -0xbbbbbc invoke-virtual {p1, p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShadowColor(I)V .line 198 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getContext()Landroid/content/Context; move-result-object p2 invoke-virtual {p1, p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->initializeElevationOverlay(Landroid/content/Context;)V .line 201 new-instance p1, Lcom/google/android/material/ripple/RippleDrawableCompat; iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 202 invoke-virtual {p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->getShapeAppearanceModel()Lcom/google/android/material/shape/ShapeAppearanceModel; move-result-object p2 invoke-direct {p1, p2}, Lcom/google/android/material/ripple/RippleDrawableCompat;->(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 203 invoke-static {p3}, Lcom/google/android/material/ripple/RippleUtils;->sanitizeRippleDrawableColor(Landroid/content/res/ColorStateList;)Landroid/content/res/ColorStateList; move-result-object p2 invoke-virtual {p1, p2}, Lcom/google/android/material/ripple/RippleDrawableCompat;->setTintList(Landroid/content/res/ColorStateList;)V .line 204 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rippleDrawable:Landroid/graphics/drawable/Drawable; const/4 p2, 0x2 new-array p2, p2, [Landroid/graphics/drawable/Drawable; const/4 p3, 0x0 .line 206 iget-object p4, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 207 invoke-static {p4}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p4 check-cast p4, Landroid/graphics/drawable/Drawable; aput-object p4, p2, p3 const/4 p3, 0x1 aput-object p1, p2, p3 .line 209 new-instance p1, Landroid/graphics/drawable/LayerDrawable; invoke-direct {p1, p2}, Landroid/graphics/drawable/LayerDrawable;->([Landroid/graphics/drawable/Drawable;)V iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->contentBackground:Landroid/graphics/drawable/Drawable; return-void .end method .method isOrWillBeHidden()Z .locals 4 .line 758 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getVisibility()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x1 if-nez v0, :cond_1 .line 760 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->animState:I if-ne v0, v2, :cond_0 move v1, v2 :cond_0 return v1 .line 763 :cond_1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->animState:I const/4 v3, 0x2 if-eq v0, v3, :cond_2 move v1, v2 :cond_2 return v1 .end method .method isOrWillBeShown()Z .locals 4 .line 748 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getVisibility()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x1 if-eqz v0, :cond_1 .line 750 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->animState:I const/4 v3, 0x2 if-ne v0, v3, :cond_0 move v1, v2 :cond_0 return v1 .line 753 :cond_1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->animState:I if-eq v0, v2, :cond_2 move v1, v2 :cond_2 return v1 .end method .method jumpDrawableToCurrentState()V .locals 1 .line 381 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->stateListAnimator:Lcom/google/android/material/internal/StateListAnimator; invoke-virtual {v0}, Lcom/google/android/material/internal/StateListAnimator;->jumpToCurrentState()V return-void .end method .method onAttachedToWindow()V .locals 2 .line 697 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 698 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-static {v1, v0}, Lcom/google/android/material/shape/MaterialShapeUtils;->setParentAbsoluteElevation(Landroid/view/View;Lcom/google/android/material/shape/MaterialShapeDrawable;)V .line 701 :cond_0 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->requirePreDrawListener()Z move-result v0 if-eqz v0, :cond_1 .line 702 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getViewTreeObserver()Landroid/view/ViewTreeObserver; move-result-object v0 invoke-direct {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->getOrCreatePreDrawListener()Landroid/view/ViewTreeObserver$OnPreDrawListener; move-result-object v1 invoke-virtual {v0, v1}, Landroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V :cond_1 return-void .end method .method onCompatShadowChanged()V .locals 0 return-void .end method .method onDetachedFromWindow()V .locals 2 .line 707 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getViewTreeObserver()Landroid/view/ViewTreeObserver; move-result-object v0 .line 708 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; if-eqz v1, :cond_0 .line 709 invoke-virtual {v0, v1}, Landroid/view/ViewTreeObserver;->removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V const/4 v0, 0x0 .line 710 iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; :cond_0 return-void .end method .method onDrawableStateChanged([I)V .locals 1 .line 377 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->stateListAnimator:Lcom/google/android/material/internal/StateListAnimator; invoke-virtual {v0, p1}, Lcom/google/android/material/internal/StateListAnimator;->setState([I)V return-void .end method .method onElevationsChanged(FFF)V .locals 0 .line 366 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updatePadding()V .line 367 invoke-virtual {p0, p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updateShapeElevation(F)V return-void .end method .method onPaddingUpdated(Landroid/graphics/Rect;)V .locals 7 .line 682 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->contentBackground:Landroid/graphics/drawable/Drawable; const-string v1, "Didn\'t initialize content background" invoke-static {v0, v1}, Landroidx/core/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 683 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shouldAddPadding()Z move-result v0 if-eqz v0, :cond_0 .line 684 new-instance v0, Landroid/graphics/drawable/InsetDrawable; iget-object v2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->contentBackground: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 .line 686 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; invoke-interface {p1, v0}, Lcom/google/android/material/shadow/ShadowViewDelegate;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V goto :goto_0 .line 688 :cond_0 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->contentBackground:Landroid/graphics/drawable/Drawable; invoke-interface {p1, v0}, Lcom/google/android/material/shadow/ShadowViewDelegate;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V :goto_0 return-void .end method .method onPreDraw()V .locals 2 .line 719 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getRotation()F move-result v0 .line 720 iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rotation:F cmpl-float v1, v1, v0 if-eqz v1, :cond_0 .line 721 iput v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rotation:F .line 722 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updateFromViewRotation()V :cond_0 return-void .end method .method onScaleChanged()V .locals 2 .line 647 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; if-eqz v0, :cond_0 .line 648 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback; .line 649 invoke-interface {v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback;->onScaleChanged()V goto :goto_0 :cond_0 return-void .end method .method onTranslationChanged()V .locals 2 .line 639 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; if-eqz v0, :cond_0 .line 640 invoke-virtual {v0}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_0 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback; .line 641 invoke-interface {v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback;->onTranslationChanged()V goto :goto_0 :cond_0 return-void .end method .method public removeOnHideAnimationListener(Landroid/animation/Animator$AnimatorListener;)V .locals 1 .line 408 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 return-void .line 413 :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method .method removeOnShowAnimationListener(Landroid/animation/Animator$AnimatorListener;)V .locals 1 .line 392 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 return-void .line 397 :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method .method removeTransformationCallback(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback;)V .locals 1 .line 630 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; if-nez v0, :cond_0 return-void .line 635 :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method .method requirePreDrawListener()Z .locals 1 const/4 v0, 0x1 return v0 .end method .method setBackgroundTintList(Landroid/content/res/ColorStateList;)V .locals 1 .line 213 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 214 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setTintList(Landroid/content/res/ColorStateList;)V .line 216 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->borderDrawable:Lcom/google/android/material/floatingactionbutton/BorderDrawable; if-eqz v0, :cond_1 .line 217 invoke-virtual {v0, p1}, Lcom/google/android/material/floatingactionbutton/BorderDrawable;->setBorderTint(Landroid/content/res/ColorStateList;)V :cond_1 return-void .end method .method setBackgroundTintMode(Landroid/graphics/PorterDuff$Mode;)V .locals 1 .line 222 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 223 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V :cond_0 return-void .end method .method final setElevation(F)V .locals 2 .line 239 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->elevation:F cmpl-float v0, v0, p1 if-eqz v0, :cond_0 .line 240 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->elevation:F .line 241 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hoveredFocusedTranslationZ:F iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F invoke-virtual {p0, p1, v0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->onElevationsChanged(FFF)V :cond_0 return-void .end method .method setEnsureMinTouchTargetSize(Z)V .locals 0 .line 356 iput-boolean p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ensureMinTouchTargetSize:Z return-void .end method .method final setHideMotionSpec(Lcom/google/android/material/animation/MotionSpec;)V .locals 0 .line 344 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideMotionSpec:Lcom/google/android/material/animation/MotionSpec; return-void .end method .method final setHoveredFocusedTranslationZ(F)V .locals 2 .line 258 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hoveredFocusedTranslationZ:F cmpl-float v0, v0, p1 if-eqz v0, :cond_0 .line 259 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hoveredFocusedTranslationZ:F .line 260 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->elevation:F iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F invoke-virtual {p0, v0, p1, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->onElevationsChanged(FFF)V :cond_0 return-void .end method .method final setImageMatrixScale(F)V .locals 1 .line 285 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->imageMatrixScale:F .line 287 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpMatrix:Landroid/graphics/Matrix; .line 288 invoke-direct {p0, p1, v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->calculateImageMatrixFromScale(FLandroid/graphics/Matrix;)V .line 289 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {p1, v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setImageMatrix(Landroid/graphics/Matrix;)V return-void .end method .method final setMaxImageSize(I)V .locals 1 .line 272 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->maxImageSize:I if-eq v0, p1, :cond_0 .line 273 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->maxImageSize:I .line 274 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updateImageMatrixScale()V :cond_0 return-void .end method .method setMinTouchTargetSize(I)V .locals 0 .line 228 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->minTouchTargetSize:I return-void .end method .method final setPressedTranslationZ(F)V .locals 2 .line 265 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F cmpl-float v0, v0, p1 if-eqz v0, :cond_0 .line 266 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F .line 267 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->elevation:F iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hoveredFocusedTranslationZ:F invoke-virtual {p0, v0, v1, p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->onElevationsChanged(FFF)V :cond_0 return-void .end method .method setRippleColor(Landroid/content/res/ColorStateList;)V .locals 1 .line 232 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rippleDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 234 invoke-static {p1}, Lcom/google/android/material/ripple/RippleUtils;->sanitizeRippleDrawableColor(Landroid/content/res/ColorStateList;)Landroid/content/res/ColorStateList; move-result-object p1 .line 233 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 setShadowPaddingEnabled(Z)V .locals 0 .line 360 iput-boolean p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowPaddingEnabled:Z .line 361 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updatePadding()V return-void .end method .method final setShapeAppearance(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .locals 2 .line 310 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeAppearance:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 311 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 312 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 315 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rippleDrawable:Landroid/graphics/drawable/Drawable; instance-of v1, v0, Lcom/google/android/material/shape/Shapeable; if-eqz v1, :cond_1 .line 316 check-cast v0, Lcom/google/android/material/shape/Shapeable; invoke-interface {v0, p1}, Lcom/google/android/material/shape/Shapeable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 319 :cond_1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->borderDrawable:Lcom/google/android/material/floatingactionbutton/BorderDrawable; if-eqz v0, :cond_2 .line 320 invoke-virtual {v0, p1}, Lcom/google/android/material/floatingactionbutton/BorderDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V :cond_2 return-void .end method .method final setShowMotionSpec(Lcom/google/android/material/animation/MotionSpec;)V .locals 0 .line 335 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showMotionSpec:Lcom/google/android/material/animation/MotionSpec; return-void .end method .method shouldAddPadding()Z .locals 1 const/4 v0, 0x1 return v0 .end method .method final shouldExpandBoundsForA11y()Z .locals 2 .line 348 iget-boolean v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ensureMinTouchTargetSize:Z if-eqz v0, :cond_1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getSizeDimension()I move-result v0 iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->minTouchTargetSize:I if-lt v0, v1, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 goto :goto_1 :cond_1 :goto_0 const/4 v0, 0x1 :goto_1 return v0 .end method .method show(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;Z)V .locals 3 .line 480 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->isOrWillBeShown()Z move-result v0 if-eqz v0, :cond_0 return-void .line 485 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->currentAnimator:Landroid/animation/Animator; if-eqz v0, :cond_1 .line 486 invoke-virtual {v0}, Landroid/animation/Animator;->cancel()V .line 489 :cond_1 invoke-direct {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shouldAnimateVisibilityChange()Z move-result v0 const/high16 v1, 0x3f800000 # 1.0f if-eqz v0, :cond_5 .line 490 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getVisibility()I move-result v0 if-eqz v0, :cond_2 .line 492 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; const/4 v2, 0x0 invoke-virtual {v0, v2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setAlpha(F)V .line 493 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0, v2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setScaleY(F)V .line 494 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0, v2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setScaleX(F)V .line 495 invoke-virtual {p0, v2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->setImageMatrixScale(F)V .line 498 :cond_2 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showMotionSpec:Lcom/google/android/material/animation/MotionSpec; if-eqz v0, :cond_3 goto :goto_0 .line 500 :cond_3 invoke-direct {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->getDefaultShowMotionSpec()Lcom/google/android/material/animation/MotionSpec; move-result-object v0 .line 499 :goto_0 invoke-direct {p0, v0, v1, v1, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->createAnimator(Lcom/google/android/material/animation/MotionSpec;FFF)Landroid/animation/AnimatorSet; move-result-object v0 .line 504 new-instance v1, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$2; invoke-direct {v1, p0, p2, p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$2;->(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;ZLcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;)V invoke-virtual {v0, v1}, Landroid/animation/AnimatorSet;->addListener(Landroid/animation/Animator$AnimatorListener;)V .line 524 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showListeners:Ljava/util/ArrayList; if-eqz p1, :cond_4 .line 525 invoke-virtual {p1}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_1 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result p2 if-eqz p2, :cond_4 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object p2 check-cast p2, Landroid/animation/Animator$AnimatorListener; .line 526 invoke-virtual {v0, p2}, Landroid/animation/AnimatorSet;->addListener(Landroid/animation/Animator$AnimatorListener;)V goto :goto_1 .line 529 :cond_4 invoke-virtual {v0}, Landroid/animation/AnimatorSet;->start()V goto :goto_2 .line 531 :cond_5 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; const/4 v2, 0x0 invoke-virtual {v0, v2, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->internalSetVisibility(IZ)V .line 532 iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {p2, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setAlpha(F)V .line 533 iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {p2, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setScaleY(F)V .line 534 iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {p2, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setScaleX(F)V .line 535 invoke-virtual {p0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->setImageMatrixScale(F)V if-eqz p1, :cond_6 .line 537 invoke-interface {p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;->onShown()V :cond_6 :goto_2 return-void .end method .method updateFromViewRotation()V .locals 3 .line 850 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x13 if-ne v0, v1, :cond_1 .line 853 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rotation:F const/high16 v1, 0x42b40000 # 90.0f rem-float/2addr v0, v1 const/4 v1, 0x0 cmpl-float v0, v0, v1 const/4 v1, 0x0 if-eqz v0, :cond_0 .line 854 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getLayerType()I move-result v0 const/4 v2, 0x1 if-eq v0, v2, :cond_1 .line 855 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0, v2, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setLayerType(ILandroid/graphics/Paint;)V goto :goto_0 .line 858 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->getLayerType()I move-result v0 if-eqz v0, :cond_1 .line 859 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; const/4 v2, 0x0 invoke-virtual {v0, v2, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButton;->setLayerType(ILandroid/graphics/Paint;)V .line 865 :cond_1 :goto_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_2 .line 866 iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rotation:F float-to-int v1, v1 invoke-virtual {v0, v1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShadowCompatRotation(I)V :cond_2 return-void .end method .method final updateImageMatrixScale()V .locals 1 .line 281 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->imageMatrixScale:F invoke-virtual {p0, v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->setImageMatrixScale(F)V return-void .end method .method final updatePadding()V .locals 5 .line 664 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRect:Landroid/graphics/Rect; .line 665 invoke-virtual {p0, v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->getPadding(Landroid/graphics/Rect;)V .line 666 invoke-virtual {p0, v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->onPaddingUpdated(Landroid/graphics/Rect;)V .line 667 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; iget v2, v0, Landroid/graphics/Rect;->left:I iget v3, v0, Landroid/graphics/Rect;->top:I iget v4, v0, Landroid/graphics/Rect;->right:I iget v0, v0, Landroid/graphics/Rect;->bottom:I invoke-interface {v1, v2, v3, v4, v0}, Lcom/google/android/material/shadow/ShadowViewDelegate;->setShadowPadding(IIII)V return-void .end method .method updateShapeElevation(F)V .locals 1 .line 371 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 372 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setElevation(F)V :cond_0 return-void .end method