DeterminateDrawable.smali
.class public final Lcom/google/android/material/progressindicator/DeterminateDrawable;
.super Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;
.source "DeterminateDrawable.java"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<S:",
"Lcom/google/android/material/progressindicator/BaseProgressIndicatorSpec;",
">",
"Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;"
}
.end annotation
# static fields
.field private static final INDICATOR_LENGTH_IN_LEVEL:Landroidx/dynamicanimation/animation/FloatPropertyCompat;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/dynamicanimation/animation/FloatPropertyCompat<",
"Lcom/google/android/material/progressindicator/DeterminateDrawable;",
">;"
}
.end annotation
.end field
.field private static final MAX_DRAWABLE_LEVEL:I = 0x2710
.field private static final SPRING_FORCE_STIFFNESS:F = 50.0f
# instance fields
.field private drawingDelegate:Lcom/google/android/material/progressindicator/DrawingDelegate;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/google/android/material/progressindicator/DrawingDelegate<",
"TS;>;"
}
.end annotation
.end field
.field private indicatorFraction:F
.field private skipAnimationOnLevelChange:Z
.field private final springAnimator:Landroidx/dynamicanimation/animation/SpringAnimation;
.field private final springForce:Landroidx/dynamicanimation/animation/SpringForce;
# direct methods
.method static constructor <clinit>()V
.registers 2
.line 221
new-instance v0, Lcom/google/android/material/progressindicator/DeterminateDrawable$1;
const-string v1, "indicatorLevel"
invoke-direct {v0, v1}, Lcom/google/android/material/progressindicator/DeterminateDrawable$1;-><init>(Ljava/lang/String;)V
sput-object v0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->INDICATOR_LENGTH_IN_LEVEL:Landroidx/dynamicanimation/animation/FloatPropertyCompat;
return-void
.end method
.method constructor <init>(Landroid/content/Context;Lcom/google/android/material/progressindicator/BaseProgressIndicatorSpec;Lcom/google/android/material/progressindicator/DrawingDelegate;)V
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Lcom/google/android/material/progressindicator/BaseProgressIndicatorSpec;",
"Lcom/google/android/material/progressindicator/DrawingDelegate<",
"TS;>;)V"
}
.end annotation
.line 51
invoke-direct {p0, p1, p2}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;-><init>(Landroid/content/Context;Lcom/google/android/material/progressindicator/BaseProgressIndicatorSpec;)V
const/4 p1, 0x0
.line 45
iput-boolean p1, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->skipAnimationOnLevelChange:Z
.line 53
invoke-virtual {p0, p3}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->setDrawingDelegate(Lcom/google/android/material/progressindicator/DrawingDelegate;)V
.line 55
new-instance p1, Landroidx/dynamicanimation/animation/SpringForce;
invoke-direct {p1}, Landroidx/dynamicanimation/animation/SpringForce;-><init>()V
iput-object p1, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->springForce:Landroidx/dynamicanimation/animation/SpringForce;
const/high16 p2, 0x3f800000 # 1.0f
.line 57
invoke-virtual {p1, p2}, Landroidx/dynamicanimation/animation/SpringForce;->setDampingRatio(F)Landroidx/dynamicanimation/animation/SpringForce;
const/high16 p3, 0x42480000 # 50.0f
.line 58
invoke-virtual {p1, p3}, Landroidx/dynamicanimation/animation/SpringForce;->setStiffness(F)Landroidx/dynamicanimation/animation/SpringForce;
.line 60
new-instance p3, Landroidx/dynamicanimation/animation/SpringAnimation;
sget-object v0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->INDICATOR_LENGTH_IN_LEVEL:Landroidx/dynamicanimation/animation/FloatPropertyCompat;
invoke-direct {p3, p0, v0}, Landroidx/dynamicanimation/animation/SpringAnimation;-><init>(Ljava/lang/Object;Landroidx/dynamicanimation/animation/FloatPropertyCompat;)V
iput-object p3, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->springAnimator:Landroidx/dynamicanimation/animation/SpringAnimation;
.line 61
invoke-virtual {p3, p1}, Landroidx/dynamicanimation/animation/SpringAnimation;->setSpring(Landroidx/dynamicanimation/animation/SpringForce;)Landroidx/dynamicanimation/animation/SpringAnimation;
.line 63
invoke-virtual {p0, p2}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->setGrowFraction(F)V
return-void
.end method
.method static synthetic access$000(Lcom/google/android/material/progressindicator/DeterminateDrawable;)F
.registers 1
.line 29
invoke-direct {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->getIndicatorFraction()F
move-result p0
return p0
.end method
.method static synthetic access$100(Lcom/google/android/material/progressindicator/DeterminateDrawable;F)V
.registers 2
.line 29
invoke-direct {p0, p1}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->setIndicatorFraction(F)V
return-void
.end method
.method public static createCircularDrawable(Landroid/content/Context;Lcom/google/android/material/progressindicator/CircularProgressIndicatorSpec;)Lcom/google/android/material/progressindicator/DeterminateDrawable;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Lcom/google/android/material/progressindicator/CircularProgressIndicatorSpec;",
")",
"Lcom/google/android/material/progressindicator/DeterminateDrawable<",
"Lcom/google/android/material/progressindicator/CircularProgressIndicatorSpec;",
">;"
}
.end annotation
.line 89
new-instance v0, Lcom/google/android/material/progressindicator/DeterminateDrawable;
new-instance v1, Lcom/google/android/material/progressindicator/CircularDrawingDelegate;
invoke-direct {v1, p1}, Lcom/google/android/material/progressindicator/CircularDrawingDelegate;-><init>(Lcom/google/android/material/progressindicator/CircularProgressIndicatorSpec;)V
invoke-direct {v0, p0, p1, v1}, Lcom/google/android/material/progressindicator/DeterminateDrawable;-><init>(Landroid/content/Context;Lcom/google/android/material/progressindicator/BaseProgressIndicatorSpec;Lcom/google/android/material/progressindicator/DrawingDelegate;)V
return-object v0
.end method
.method public static createLinearDrawable(Landroid/content/Context;Lcom/google/android/material/progressindicator/LinearProgressIndicatorSpec;)Lcom/google/android/material/progressindicator/DeterminateDrawable;
.registers 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Lcom/google/android/material/progressindicator/LinearProgressIndicatorSpec;",
")",
"Lcom/google/android/material/progressindicator/DeterminateDrawable<",
"Lcom/google/android/material/progressindicator/LinearProgressIndicatorSpec;",
">;"
}
.end annotation
.line 76
new-instance v0, Lcom/google/android/material/progressindicator/DeterminateDrawable;
new-instance v1, Lcom/google/android/material/progressindicator/LinearDrawingDelegate;
invoke-direct {v1, p1}, Lcom/google/android/material/progressindicator/LinearDrawingDelegate;-><init>(Lcom/google/android/material/progressindicator/LinearProgressIndicatorSpec;)V
invoke-direct {v0, p0, p1, v1}, Lcom/google/android/material/progressindicator/DeterminateDrawable;-><init>(Landroid/content/Context;Lcom/google/android/material/progressindicator/BaseProgressIndicatorSpec;Lcom/google/android/material/progressindicator/DrawingDelegate;)V
return-object v0
.end method
.method private getIndicatorFraction()F
.registers 2
.line 201
iget v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->indicatorFraction:F
return v0
.end method
.method private setIndicatorFraction(F)V
.registers 2
.line 205
iput p1, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->indicatorFraction:F
.line 206
invoke-virtual {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->invalidateSelf()V
return-void
.end method
# virtual methods
.method public bridge synthetic clearAnimationCallbacks()V
.registers 1
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->clearAnimationCallbacks()V
return-void
.end method
.method public draw(Landroid/graphics/Canvas;)V
.registers 10
.line 179
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
.line 181
invoke-virtual {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Rect;->isEmpty()Z
move-result v1
if-nez v1, :cond_4e
invoke-virtual {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->isVisible()Z
move-result v1
if-eqz v1, :cond_4e
invoke-virtual {p1, v0}, Landroid/graphics/Canvas;->getClipBounds(Landroid/graphics/Rect;)Z
move-result v0
if-nez v0, :cond_1c
goto :goto_4e
.line 186
:cond_1c
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
.line 187
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->drawingDelegate:Lcom/google/android/material/progressindicator/DrawingDelegate;
invoke-virtual {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->getGrowFraction()F
move-result v1
invoke-virtual {v0, p1, v1}, Lcom/google/android/material/progressindicator/DrawingDelegate;->validateSpecAndAdjustCanvas(Landroid/graphics/Canvas;F)V
.line 190
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->drawingDelegate:Lcom/google/android/material/progressindicator/DrawingDelegate;
iget-object v1, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->paint:Landroid/graphics/Paint;
invoke-virtual {v0, p1, v1}, Lcom/google/android/material/progressindicator/DrawingDelegate;->fillTrack(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
.line 192
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->baseSpec:Lcom/google/android/material/progressindicator/BaseProgressIndicatorSpec;
iget-object v0, v0, Lcom/google/android/material/progressindicator/BaseProgressIndicatorSpec;->indicatorColors:[I
const/4 v1, 0x0
aget v0, v0, v1
.line 193
invoke-virtual {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->getAlpha()I
move-result v1
invoke-static {v0, v1}, Lcom/google/android/material/color/MaterialColors;->compositeARGBWithAlpha(II)I
move-result v7
.line 194
iget-object v2, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->drawingDelegate:Lcom/google/android/material/progressindicator/DrawingDelegate;
iget-object v4, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->paint:Landroid/graphics/Paint;
const/4 v5, 0x0
invoke-direct {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->getIndicatorFraction()F
move-result v6
move-object v3, p1
invoke-virtual/range {v2 .. v7}, Lcom/google/android/material/progressindicator/DrawingDelegate;->fillIndicator(Landroid/graphics/Canvas;Landroid/graphics/Paint;FFI)V
.line 195
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
:cond_4e
:goto_4e
return-void
.end method
.method public bridge synthetic getAlpha()I
.registers 2
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->getAlpha()I
move-result v0
return v0
.end method
.method getDrawingDelegate()Lcom/google/android/material/progressindicator/DrawingDelegate;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Lcom/google/android/material/progressindicator/DrawingDelegate<",
"TS;>;"
}
.end annotation
.line 211
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->drawingDelegate:Lcom/google/android/material/progressindicator/DrawingDelegate;
return-object v0
.end method
.method public getIntrinsicHeight()I
.registers 2
.line 161
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->drawingDelegate:Lcom/google/android/material/progressindicator/DrawingDelegate;
invoke-virtual {v0}, Lcom/google/android/material/progressindicator/DrawingDelegate;->getPreferredHeight()I
move-result v0
return v0
.end method
.method public getIntrinsicWidth()I
.registers 2
.line 156
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->drawingDelegate:Lcom/google/android/material/progressindicator/DrawingDelegate;
invoke-virtual {v0}, Lcom/google/android/material/progressindicator/DrawingDelegate;->getPreferredWidth()I
move-result v0
return v0
.end method
.method public bridge synthetic getOpacity()I
.registers 2
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->getOpacity()I
move-result v0
return v0
.end method
.method public bridge synthetic hideNow()Z
.registers 2
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->hideNow()Z
move-result v0
return v0
.end method
.method public bridge synthetic isHiding()Z
.registers 2
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->isHiding()Z
move-result v0
return v0
.end method
.method public bridge synthetic isRunning()Z
.registers 2
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->isRunning()Z
move-result v0
return v0
.end method
.method public bridge synthetic isShowing()Z
.registers 2
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->isShowing()Z
move-result v0
return v0
.end method
.method public jumpToCurrentState()V
.registers 3
.line 132
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->springAnimator:Landroidx/dynamicanimation/animation/SpringAnimation;
invoke-virtual {v0}, Landroidx/dynamicanimation/animation/SpringAnimation;->cancel()V
.line 133
invoke-virtual {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->getLevel()I
move-result v0
int-to-float v0, v0
const v1, 0x461c4000 # 10000.0f
div-float/2addr v0, v1
invoke-direct {p0, v0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->setIndicatorFraction(F)V
return-void
.end method
.method protected onLevelChange(I)Z
.registers 5
.line 144
iget-boolean v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->skipAnimationOnLevelChange:Z
const v1, 0x461c4000 # 10000.0f
if-eqz v0, :cond_12
.line 145
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->springAnimator:Landroidx/dynamicanimation/animation/SpringAnimation;
invoke-virtual {v0}, Landroidx/dynamicanimation/animation/SpringAnimation;->cancel()V
int-to-float p1, p1
div-float/2addr p1, v1
.line 146
invoke-direct {p0, p1}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->setIndicatorFraction(F)V
goto :goto_22
.line 148
:cond_12
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->springAnimator:Landroidx/dynamicanimation/animation/SpringAnimation;
invoke-direct {p0}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->getIndicatorFraction()F
move-result v2
mul-float/2addr v2, v1
invoke-virtual {v0, v2}, Landroidx/dynamicanimation/animation/SpringAnimation;->setStartValue(F)Landroidx/dynamicanimation/animation/DynamicAnimation;
.line 149
iget-object v0, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->springAnimator:Landroidx/dynamicanimation/animation/SpringAnimation;
int-to-float p1, p1
invoke-virtual {v0, p1}, Landroidx/dynamicanimation/animation/SpringAnimation;->animateToFinalPosition(F)V
:goto_22
const/4 p1, 0x1
return p1
.end method
.method public bridge synthetic registerAnimationCallback(Landroidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback;)V
.registers 2
.line 29
invoke-super {p0, p1}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->registerAnimationCallback(Landroidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback;)V
return-void
.end method
.method public bridge synthetic setAlpha(I)V
.registers 2
.line 29
invoke-super {p0, p1}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->setAlpha(I)V
return-void
.end method
.method public bridge synthetic setColorFilter(Landroid/graphics/ColorFilter;)V
.registers 2
.line 29
invoke-super {p0, p1}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->setColorFilter(Landroid/graphics/ColorFilter;)V
return-void
.end method
.method setDrawingDelegate(Lcom/google/android/material/progressindicator/DrawingDelegate;)V
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lcom/google/android/material/progressindicator/DrawingDelegate<",
"TS;>;)V"
}
.end annotation
.line 215
iput-object p1, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->drawingDelegate:Lcom/google/android/material/progressindicator/DrawingDelegate;
.line 216
invoke-virtual {p1, p0}, Lcom/google/android/material/progressindicator/DrawingDelegate;->registerDrawable(Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;)V
return-void
.end method
.method setLevelByFraction(F)V
.registers 3
const v0, 0x461c4000 # 10000.0f
mul-float/2addr p1, v0
float-to-int p1, p1
.line 172
invoke-virtual {p0, p1}, Lcom/google/android/material/progressindicator/DeterminateDrawable;->setLevel(I)Z
return-void
.end method
.method public bridge synthetic setVisible(ZZ)Z
.registers 3
.line 29
invoke-super {p0, p1, p2}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->setVisible(ZZ)Z
move-result p1
return p1
.end method
.method public bridge synthetic setVisible(ZZZ)Z
.registers 4
.line 29
invoke-super {p0, p1, p2, p3}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->setVisible(ZZZ)Z
move-result p1
return p1
.end method
.method setVisibleInternal(ZZZ)Z
.registers 5
.line 113
invoke-super {p0, p1, p2, p3}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->setVisibleInternal(ZZZ)Z
move-result p1
.line 115
iget-object p2, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->animatorDurationScaleProvider:Lcom/google/android/material/progressindicator/AnimatorDurationScaleProvider;
iget-object p3, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->context:Landroid/content/Context;
.line 116
invoke-virtual {p3}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver;
move-result-object p3
invoke-virtual {p2, p3}, Lcom/google/android/material/progressindicator/AnimatorDurationScaleProvider;->getSystemAnimatorDurationScale(Landroid/content/ContentResolver;)F
move-result p2
const/4 p3, 0x0
cmpl-float p3, p2, p3
if-nez p3, :cond_19
const/4 p2, 0x1
.line 118
iput-boolean p2, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->skipAnimationOnLevelChange:Z
goto :goto_24
:cond_19
const/4 p3, 0x0
.line 120
iput-boolean p3, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->skipAnimationOnLevelChange:Z
.line 121
iget-object p3, p0, Lcom/google/android/material/progressindicator/DeterminateDrawable;->springForce:Landroidx/dynamicanimation/animation/SpringForce;
const/high16 v0, 0x42480000 # 50.0f
div-float/2addr v0, p2
invoke-virtual {p3, v0}, Landroidx/dynamicanimation/animation/SpringForce;->setStiffness(F)Landroidx/dynamicanimation/animation/SpringForce;
:goto_24
return p1
.end method
.method public bridge synthetic start()V
.registers 1
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->start()V
return-void
.end method
.method public bridge synthetic stop()V
.registers 1
.line 29
invoke-super {p0}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->stop()V
return-void
.end method
.method public bridge synthetic unregisterAnimationCallback(Landroidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback;)Z
.registers 2
.line 29
invoke-super {p0, p1}, Lcom/google/android/material/progressindicator/DrawableWithAnimatedVisibilityChange;->unregisterAnimationCallback(Landroidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback;)Z
move-result p1
return p1
.end method