.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 public static final ANIM_STATE_HIDING:I = 0x1 .field public static final ANIM_STATE_NONE:I = 0x0 .field public static final ANIM_STATE_SHOWING:I = 0x2 .field public static final ELEVATION_ANIM_DELAY:J = 0x64L .field public static final ELEVATION_ANIM_DURATION:J = 0x64L .field public static final ELEVATION_ANIM_INTERPOLATOR:Landroid/animation/TimeInterpolator; .field public static final EMPTY_STATE_SET:[I .field public static final ENABLED_STATE_SET:[I .field public 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 public static final HOVERED_ENABLED_STATE_SET:[I .field public static final HOVERED_FOCUSED_ENABLED_STATE_SET:[I .field public static final PRESSED_ENABLED_STATE_SET:[I .field public 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 public borderDrawable:Lcom/google/android/material/floatingactionbutton/BorderDrawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field public contentBackground:Landroid/graphics/drawable/Drawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private currentAnimator:Landroid/animation/Animator; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private defaultHideMotionSpec:Lcom/google/android/material/animation/MotionSpec; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private defaultShowMotionSpec:Lcom/google/android/material/animation/MotionSpec; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field public elevation:F .field public 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; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field public hoveredFocusedTranslationZ:F .field private imageMatrixScale:F .field private maxImageSize:I .field public minTouchTargetSize:I .field private preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field public pressedTranslationZ:F .field public rippleDrawable:Landroid/graphics/drawable/Drawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private rotation:F .field public shadowPaddingEnabled:Z .field public final shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; .field public shapeAppearance:Lcom/google/android/material/shape/ShapeAppearanceModel; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field public shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .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; .annotation build Landroidx/annotation/Nullable; .end annotation .end field .field private final stateListAnimator:Lcom/google/android/material/internal/StateListAnimator; .annotation build Landroidx/annotation/NonNull; .end annotation .end field .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 public final view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; # direct methods .method public static constructor ()V .locals 3 .line 1 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 2 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 3 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 4 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 5 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 6 sput-object v0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ENABLED_STATE_SET:[I new-array v0, v2, [I .line 7 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 public constructor (Lcom/google/android/material/floatingactionbutton/FloatingActionButton;Lcom/google/android/material/shadow/ShadowViewDelegate;)V .locals 2 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x1 .line 2 iput-boolean v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowPaddingEnabled:Z const/high16 v0, 0x3f800000 # 1.0f .line 3 iput v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->imageMatrixScale:F const/4 v0, 0x0 .line 4 iput v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->animState:I .line 5 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 6 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 7 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 8 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 9 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; .line 10 iput-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowViewDelegate:Lcom/google/android/material/shadow/ShadowViewDelegate; .line 11 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 12 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 13 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 14 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 15 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 16 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 17 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 18 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 19 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 20 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 21 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 22 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 23 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 24 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 25 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 26 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 27 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 28 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 29 invoke-virtual {p2, v0, v1}, Lcom/google/android/material/internal/StateListAnimator;->addState([ILandroid/animation/ValueAnimator;)V .line 30 invoke-virtual {p1}, Landroid/widget/ImageButton;->getRotation()F move-result p1 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rotation:F return-void .end method .method public static synthetic access$002(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;I)I .locals 0 .line 1 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->animState:I return p1 .end method .method public static synthetic access$102(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;Landroid/animation/Animator;)Landroid/animation/Animator; .locals 0 .line 1 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->currentAnimator:Landroid/animation/Animator; return-object p1 .end method .method public static synthetic access$202(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;F)F .locals 0 .line 1 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->imageMatrixScale:F return p1 .end method .method private calculateImageMatrixFromScale(FLandroid/graphics/Matrix;)V .locals 5 .param p2 # Landroid/graphics/Matrix; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 invoke-virtual {p2}, Landroid/graphics/Matrix;->reset()V .line 2 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Landroid/widget/ImageButton;->getDrawable()Landroid/graphics/drawable/Drawable; move-result-object v0 if-eqz v0, :cond_0 .line 3 iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->maxImageSize:I if-eqz v1, :cond_0 .line 4 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRectF1:Landroid/graphics/RectF; .line 5 iget-object v2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRectF2:Landroid/graphics/RectF; .line 6 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 7 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 8 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 9 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 .param p1 # Lcom/google/android/material/animation/MotionSpec; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 2 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 3 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 4 invoke-virtual {v0, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 5 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 6 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 7 invoke-direct {p0, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->workAroundOreoBug(Landroid/animation/ObjectAnimator;)V .line 8 invoke-virtual {v0, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 9 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 10 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 11 invoke-direct {p0, p2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->workAroundOreoBug(Landroid/animation/ObjectAnimator;)V .line 12 invoke-virtual {v0, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 13 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 14 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 15 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 16 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 17 invoke-virtual {v0, p2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z .line 18 new-instance p1, Landroid/animation/AnimatorSet; invoke-direct {p1}, Landroid/animation/AnimatorSet;->()V .line 19 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 .param p1 # Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$ShadowAnimatorImpl; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 new-instance v0, Landroid/animation/ValueAnimator; invoke-direct {v0}, Landroid/animation/ValueAnimator;->()V .line 2 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 3 invoke-virtual {v0, v1, v2}, Landroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator; .line 4 invoke-virtual {v0, p1}, Landroid/animation/ValueAnimator;->addListener(Landroid/animation/Animator$AnimatorListener;)V .line 5 invoke-virtual {v0, p1}, Landroid/animation/ValueAnimator;->addUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V const/4 p1, 0x2 new-array p1, p1, [F .line 6 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 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultHideMotionSpec:Lcom/google/android/material/animation/MotionSpec; if-nez v0, :cond_0 .line 2 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; .line 3 invoke-virtual {v0}, Landroid/widget/ImageButton;->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 4 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultHideMotionSpec:Lcom/google/android/material/animation/MotionSpec; invoke-static {v0}, Lr1/o;->k(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 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultShowMotionSpec:Lcom/google/android/material/animation/MotionSpec; if-nez v0, :cond_0 .line 2 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; .line 3 invoke-virtual {v0}, Landroid/widget/ImageButton;->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 4 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->defaultShowMotionSpec:Lcom/google/android/material/animation/MotionSpec; invoke-static {v0}, Lr1/o;->k(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 .annotation build Landroidx/annotation/NonNull; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; if-nez v0, :cond_0 .line 2 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 3 :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 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-static {v0}, Landroidx/core/view/ViewCompat;->U0(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}, Landroid/widget/ImageButton;->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 1 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I const/16 v1, 0x1a if-eq v0, v1, :cond_0 return-void .line 2 :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 .param p1 # Landroid/animation/Animator$AnimatorListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 .line 2 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 3 :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 public addOnShowAnimationListener(Landroid/animation/Animator$AnimatorListener;)V .locals 1 .param p1 # Landroid/animation/Animator$AnimatorListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 .line 2 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 3 :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 public addTransformationCallback(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback;)V .locals 1 .param p1 # Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; if-nez v0, :cond_0 .line 2 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 3 :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 public createShapeDrawable()Lcom/google/android/material/shape/MaterialShapeDrawable; .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeAppearance:Lcom/google/android/material/shape/ShapeAppearanceModel; invoke-static {v0}, Lr1/o;->k(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Lcom/google/android/material/shape/ShapeAppearanceModel; .line 2 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 public final getContentBackground()Landroid/graphics/drawable/Drawable; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->contentBackground:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method public getElevation()F .locals 1 .line 1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->elevation:F return v0 .end method .method public getEnsureMinTouchTargetSize()Z .locals 1 .line 1 iget-boolean v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ensureMinTouchTargetSize:Z return v0 .end method .method public final getHideMotionSpec()Lcom/google/android/material/animation/MotionSpec; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideMotionSpec:Lcom/google/android/material/animation/MotionSpec; return-object v0 .end method .method public getHoveredFocusedTranslationZ()F .locals 1 .line 1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hoveredFocusedTranslationZ:F return v0 .end method .method public getPadding(Landroid/graphics/Rect;)V .locals 5 .param p1 # Landroid/graphics/Rect; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 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 2 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 3 :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 4 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 5 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 6 invoke-virtual {p1, v2, v0, v2, v0}, Landroid/graphics/Rect;->set(IIII)V return-void .end method .method public getPressedTranslationZ()F .locals 1 .line 1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F return v0 .end method .method public final getShapeAppearance()Lcom/google/android/material/shape/ShapeAppearanceModel; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeAppearance:Lcom/google/android/material/shape/ShapeAppearanceModel; return-object v0 .end method .method public final getShowMotionSpec()Lcom/google/android/material/animation/MotionSpec; .locals 1 .annotation build Landroidx/annotation/Nullable; .end annotation .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showMotionSpec:Lcom/google/android/material/animation/MotionSpec; return-object v0 .end method .method public hide(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;Z)V .locals 2 .param p1 # Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->isOrWillBeHidden()Z move-result v0 if-eqz v0, :cond_0 return-void .line 2 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->currentAnimator:Landroid/animation/Animator; if-eqz v0, :cond_1 .line 3 invoke-virtual {v0}, Landroid/animation/Animator;->cancel()V .line 4 :cond_1 invoke-direct {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shouldAnimateVisibilityChange()Z move-result v0 if-eqz v0, :cond_4 .line 5 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 6 :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 7 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 8 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 9 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideListeners:Ljava/util/ArrayList; if-eqz p1, :cond_3 .line 10 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 11 invoke-virtual {v0, p2}, Landroid/animation/AnimatorSet;->addListener(Landroid/animation/Animator$AnimatorListener;)V goto :goto_1 .line 12 :cond_3 invoke-virtual {v0}, Landroid/animation/AnimatorSet;->start()V goto :goto_3 .line 13 :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/internal/VisibilityAwareImageButton;->internalSetVisibility(IZ)V if-eqz p1, :cond_6 .line 14 invoke-interface {p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;->onHidden()V :cond_6 :goto_3 return-void .end method .method public initializeBackgroundDrawable(Landroid/content/res/ColorStateList;Landroid/graphics/PorterDuff$Mode;Landroid/content/res/ColorStateList;I)V .locals 0 .param p2 # Landroid/graphics/PorterDuff$Mode; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 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 2 invoke-virtual {p4, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setTintList(Landroid/content/res/ColorStateList;)V if-eqz p2, :cond_0 .line 3 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 4 :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 5 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}, Landroid/widget/ImageButton;->getContext()Landroid/content/Context; move-result-object p2 invoke-virtual {p1, p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->initializeElevationOverlay(Landroid/content/Context;)V .line 6 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 7 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 8 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 9 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 10 iget-object p4, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; .line 11 invoke-static {p4}, Lr1/o;->k(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 12 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 public isOrWillBeHidden()Z .locals 4 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Landroid/widget/ImageButton;->getVisibility()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x1 if-nez v0, :cond_1 .line 2 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 3 :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 public isOrWillBeShown()Z .locals 4 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Landroid/widget/ImageButton;->getVisibility()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x1 if-eqz v0, :cond_1 .line 2 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 3 :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 public jumpDrawableToCurrentState()V .locals 1 .line 1 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 public onAttachedToWindow()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 2 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 3 :cond_0 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->requirePreDrawListener()Z move-result v0 if-eqz v0, :cond_1 .line 4 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Landroid/widget/ImageButton;->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 public onCompatShadowChanged()V .locals 0 return-void .end method .method public onDetachedFromWindow()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Landroid/widget/ImageButton;->getViewTreeObserver()Landroid/view/ViewTreeObserver; move-result-object v0 .line 2 iget-object v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; if-eqz v1, :cond_0 .line 3 invoke-virtual {v0, v1}, Landroid/view/ViewTreeObserver;->removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V const/4 v0, 0x0 .line 4 iput-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->preDrawListener:Landroid/view/ViewTreeObserver$OnPreDrawListener; :cond_0 return-void .end method .method public onDrawableStateChanged([I)V .locals 1 .line 1 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 public onElevationsChanged(FFF)V .locals 0 .line 1 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updatePadding()V .line 2 invoke-virtual {p0, p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updateShapeElevation(F)V return-void .end method .method public onPaddingUpdated(Landroid/graphics/Rect;)V .locals 7 .param p1 # Landroid/graphics/Rect; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 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}, Lr1/o;->l(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 2 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shouldAddPadding()Z move-result v0 if-eqz v0, :cond_0 .line 3 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 4 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 5 :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 public onPreDraw()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Landroid/widget/ImageButton;->getRotation()F move-result v0 .line 2 iget v1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rotation:F cmpl-float v1, v1, v0 if-eqz v1, :cond_0 .line 3 iput v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rotation:F .line 4 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updateFromViewRotation()V :cond_0 return-void .end method .method public onScaleChanged()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; if-eqz v0, :cond_0 .line 2 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 3 invoke-interface {v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback;->onScaleChanged()V goto :goto_0 :cond_0 return-void .end method .method public onTranslationChanged()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; if-eqz v0, :cond_0 .line 2 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 3 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 .param p1 # Landroid/animation/Animator$AnimatorListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 return-void .line 2 :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method .method public removeOnShowAnimationListener(Landroid/animation/Animator$AnimatorListener;)V .locals 1 .param p1 # Landroid/animation/Animator$AnimatorListener; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showListeners:Ljava/util/ArrayList; if-nez v0, :cond_0 return-void .line 2 :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method .method public removeTransformationCallback(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback;)V .locals 1 .param p1 # Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalTransformationCallback; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->transformationCallbacks:Ljava/util/ArrayList; if-nez v0, :cond_0 return-void .line 2 :cond_0 invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(Ljava/lang/Object;)Z return-void .end method .method public requirePreDrawListener()Z .locals 1 const/4 v0, 0x1 return v0 .end method .method public setBackgroundTintList(Landroid/content/res/ColorStateList;)V .locals 1 .param p1 # Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 2 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setTintList(Landroid/content/res/ColorStateList;)V .line 3 :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 4 invoke-virtual {v0, p1}, Lcom/google/android/material/floatingactionbutton/BorderDrawable;->setBorderTint(Landroid/content/res/ColorStateList;)V :cond_1 return-void .end method .method public setBackgroundTintMode(Landroid/graphics/PorterDuff$Mode;)V .locals 1 .param p1 # Landroid/graphics/PorterDuff$Mode; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 2 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V :cond_0 return-void .end method .method public final setElevation(F)V .locals 2 .line 1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->elevation:F cmpl-float v0, v0, p1 if-eqz v0, :cond_0 .line 2 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->elevation:F .line 3 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 public setEnsureMinTouchTargetSize(Z)V .locals 0 .line 1 iput-boolean p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->ensureMinTouchTargetSize:Z return-void .end method .method public final setHideMotionSpec(Lcom/google/android/material/animation/MotionSpec;)V .locals 0 .param p1 # Lcom/google/android/material/animation/MotionSpec; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hideMotionSpec:Lcom/google/android/material/animation/MotionSpec; return-void .end method .method public final setHoveredFocusedTranslationZ(F)V .locals 2 .line 1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hoveredFocusedTranslationZ:F cmpl-float v0, v0, p1 if-eqz v0, :cond_0 .line 2 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->hoveredFocusedTranslationZ:F .line 3 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 public final setImageMatrixScale(F)V .locals 1 .line 1 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->imageMatrixScale:F .line 2 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpMatrix:Landroid/graphics/Matrix; .line 3 invoke-direct {p0, p1, v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->calculateImageMatrixFromScale(FLandroid/graphics/Matrix;)V .line 4 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {p1, v0}, Landroid/widget/ImageButton;->setImageMatrix(Landroid/graphics/Matrix;)V return-void .end method .method public final setMaxImageSize(I)V .locals 1 .line 1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->maxImageSize:I if-eq v0, p1, :cond_0 .line 2 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->maxImageSize:I .line 3 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updateImageMatrixScale()V :cond_0 return-void .end method .method public setMinTouchTargetSize(I)V .locals 0 .line 1 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->minTouchTargetSize:I return-void .end method .method public final setPressedTranslationZ(F)V .locals 2 .line 1 iget v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F cmpl-float v0, v0, p1 if-eqz v0, :cond_0 .line 2 iput p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->pressedTranslationZ:F .line 3 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 public setRippleColor(Landroid/content/res/ColorStateList;)V .locals 1 .param p1 # Landroid/content/res/ColorStateList; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->rippleDrawable:Landroid/graphics/drawable/Drawable; if-eqz v0, :cond_0 .line 2 invoke-static {p1}, Lcom/google/android/material/ripple/RippleUtils;->sanitizeRippleDrawableColor(Landroid/content/res/ColorStateList;)Landroid/content/res/ColorStateList; move-result-object p1 .line 3 invoke-static {v0, p1}, Ld1/c;->o(Landroid/graphics/drawable/Drawable;Landroid/content/res/ColorStateList;)V :cond_0 return-void .end method .method public setShadowPaddingEnabled(Z)V .locals 0 .line 1 iput-boolean p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shadowPaddingEnabled:Z .line 2 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->updatePadding()V return-void .end method .method public final setShapeAppearance(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .locals 2 .param p1 # Lcom/google/android/material/shape/ShapeAppearanceModel; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeAppearance:Lcom/google/android/material/shape/ShapeAppearanceModel; .line 2 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 3 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V .line 4 :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 5 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 6 :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 7 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 public final setShowMotionSpec(Lcom/google/android/material/animation/MotionSpec;)V .locals 0 .param p1 # Lcom/google/android/material/animation/MotionSpec; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 iput-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showMotionSpec:Lcom/google/android/material/animation/MotionSpec; return-void .end method .method public shouldAddPadding()Z .locals 1 const/4 v0, 0x1 return v0 .end method .method public final shouldExpandBoundsForA11y()Z .locals 2 .line 1 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 public show(Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;Z)V .locals 3 .param p1 # Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener; .annotation build Landroidx/annotation/Nullable; .end annotation .end param .line 1 invoke-virtual {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->isOrWillBeShown()Z move-result v0 if-eqz v0, :cond_0 return-void .line 2 :cond_0 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->currentAnimator:Landroid/animation/Animator; if-eqz v0, :cond_1 .line 3 invoke-virtual {v0}, Landroid/animation/Animator;->cancel()V .line 4 :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 5 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {v0}, Landroid/widget/ImageButton;->getVisibility()I move-result v0 if-eqz v0, :cond_2 .line 6 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}, Landroid/widget/ImageButton;->setAlpha(F)V .line 7 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 8 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 9 invoke-virtual {p0, v2}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->setImageMatrixScale(F)V .line 10 :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 11 :cond_3 invoke-direct {p0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->getDefaultShowMotionSpec()Lcom/google/android/material/animation/MotionSpec; move-result-object v0 .line 12 :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 13 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 14 iget-object p1, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->showListeners:Ljava/util/ArrayList; if-eqz p1, :cond_4 .line 15 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 16 invoke-virtual {v0, p2}, Landroid/animation/AnimatorSet;->addListener(Landroid/animation/Animator$AnimatorListener;)V goto :goto_1 .line 17 :cond_4 invoke-virtual {v0}, Landroid/animation/AnimatorSet;->start()V goto :goto_2 .line 18 :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/internal/VisibilityAwareImageButton;->internalSetVisibility(IZ)V .line 19 iget-object p2, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->view:Lcom/google/android/material/floatingactionbutton/FloatingActionButton; invoke-virtual {p2, v1}, Landroid/widget/ImageButton;->setAlpha(F)V .line 20 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 21 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 22 invoke-virtual {p0, v1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->setImageMatrixScale(F)V if-eqz p1, :cond_6 .line 23 invoke-interface {p1}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl$InternalVisibilityChangedListener;->onShown()V :cond_6 :goto_2 return-void .end method .method public updateFromViewRotation()V .locals 2 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 2 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_0 return-void .end method .method public final updateImageMatrixScale()V .locals 1 .line 1 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 public final updatePadding()V .locals 5 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->tmpRect:Landroid/graphics/Rect; .line 2 invoke-virtual {p0, v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->getPadding(Landroid/graphics/Rect;)V .line 3 invoke-virtual {p0, v0}, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->onPaddingUpdated(Landroid/graphics/Rect;)V .line 4 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 public updateShapeElevation(F)V .locals 1 .line 1 iget-object v0, p0, Lcom/google/android/material/floatingactionbutton/FloatingActionButtonImpl;->shapeDrawable:Lcom/google/android/material/shape/MaterialShapeDrawable; if-eqz v0, :cond_0 .line 2 invoke-virtual {v0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setElevation(F)V :cond_0 return-void .end method