ClockFaceView.smali
.class Lcom/google/android/material/timepicker/ClockFaceView;
.super Lcom/google/android/material/timepicker/a;
.source "SourceFile"
# interfaces
.implements Lcom/google/android/material/timepicker/ClockHandView$a;
# instance fields
.field public final d:Lcom/google/android/material/timepicker/ClockHandView;
.field public final e:Landroid/graphics/Rect;
.field public final f:Landroid/graphics/RectF;
.field public final g:Landroid/util/SparseArray;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroid/util/SparseArray<",
"Landroid/widget/TextView;",
">;"
}
.end annotation
.end field
.field public final h:Lcom/google/android/material/timepicker/ClockFaceView$b;
.field public final i:[I
.field public final j:[F
.field public final k:I
.field public final l:I
.field public final m:I
.field public final n:I
.field public o:[Ljava/lang/String;
.field public p:F
.field public final q:Landroid/content/res/ColorStateList;
# direct methods
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
.registers 4
const v0, 0x7f0403cb
.line 1
invoke-direct {p0, p1, p2, v0}, Lcom/google/android/material/timepicker/ClockFaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.registers 12
.annotation build Landroid/annotation/SuppressLint;
value = {
"ClickableViewAccessibility"
}
.end annotation
const p3, 0x7f0403cb
.line 2
invoke-direct {p0, p1, p2, p3}, Lcom/google/android/material/timepicker/a;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.line 3
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0}, Landroid/graphics/Rect;-><init>()V
iput-object v0, p0, Lcom/google/android/material/timepicker/ClockFaceView;->e:Landroid/graphics/Rect;
.line 4
new-instance v0, Landroid/graphics/RectF;
invoke-direct {v0}, Landroid/graphics/RectF;-><init>()V
iput-object v0, p0, Lcom/google/android/material/timepicker/ClockFaceView;->f:Landroid/graphics/RectF;
.line 5
new-instance v0, Landroid/util/SparseArray;
invoke-direct {v0}, Landroid/util/SparseArray;-><init>()V
iput-object v0, p0, Lcom/google/android/material/timepicker/ClockFaceView;->g:Landroid/util/SparseArray;
const/4 v1, 0x3
new-array v2, v1, [F
.line 6
fill-array-data v2, :array_132
iput-object v2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->j:[F
.line 7
sget-object v2, Lcom/google/android/play/core/appupdate/d;->k:[I
const v3, 0x7f1303f4
.line 8
invoke-virtual {p1, p2, v2, p3, v3}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object p2
.line 9
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object p3
const/4 v2, 0x1
.line 10
invoke-static {p1, p2, v2}, Lcom/google/android/material/resources/c;->a(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList;
move-result-object v3
iput-object v3, p0, Lcom/google/android/material/timepicker/ClockFaceView;->q:Landroid/content/res/ColorStateList;
.line 11
invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object v4
const v5, 0x7f0d01af
invoke-virtual {v4, v5, p0, v2}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
const v4, 0x7f0a061d
.line 12
invoke-virtual {p0, v4}, Landroid/view/View;->findViewById(I)Landroid/view/View;
move-result-object v4
check-cast v4, Lcom/google/android/material/timepicker/ClockHandView;
iput-object v4, p0, Lcom/google/android/material/timepicker/ClockFaceView;->d:Lcom/google/android/material/timepicker/ClockHandView;
const v5, 0x7f070168
.line 13
invoke-virtual {p3, v5}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result v5
iput v5, p0, Lcom/google/android/material/timepicker/ClockFaceView;->k:I
new-array v5, v2, [I
const/4 v6, 0x0
const v7, 0x10100a1
aput v7, v5, v6
.line 14
invoke-virtual {v3}, Landroid/content/res/ColorStateList;->getDefaultColor()I
move-result v7
.line 15
invoke-virtual {v3, v5, v7}, Landroid/content/res/ColorStateList;->getColorForState([II)I
move-result v5
new-array v1, v1, [I
aput v5, v1, v6
aput v5, v1, v2
.line 16
invoke-virtual {v3}, Landroid/content/res/ColorStateList;->getDefaultColor()I
move-result v3
const/4 v5, 0x2
aput v3, v1, v5
iput-object v1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->i:[I
.line 17
iget-object v1, v4, Lcom/google/android/material/timepicker/ClockHandView;->e:Ljava/util/ArrayList;
invoke-virtual {v1, p0}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
const v1, 0x7f06019a
.line 18
invoke-static {p1, v1}, Landroidx/appcompat/content/res/a;->a(Landroid/content/Context;I)Landroid/content/res/ColorStateList;
move-result-object v1
.line 19
invoke-virtual {v1}, Landroid/content/res/ColorStateList;->getDefaultColor()I
move-result v1
.line 20
invoke-static {p1, p2, v6}, Lcom/google/android/material/resources/c;->a(Landroid/content/Context;Landroid/content/res/TypedArray;I)Landroid/content/res/ColorStateList;
move-result-object p1
if-nez p1, :cond_8b
goto :goto_8f
.line 21
:cond_8b
invoke-virtual {p1}, Landroid/content/res/ColorStateList;->getDefaultColor()I
move-result v1
.line 22
:goto_8f
invoke-virtual {p0, v1}, Lcom/google/android/material/timepicker/a;->setBackgroundColor(I)V
.line 23
invoke-virtual {p0}, Landroid/view/View;->getViewTreeObserver()Landroid/view/ViewTreeObserver;
move-result-object p1
new-instance v1, Lcom/google/android/material/timepicker/ClockFaceView$a;
invoke-direct {v1, p0}, Lcom/google/android/material/timepicker/ClockFaceView$a;-><init>(Lcom/google/android/material/timepicker/ClockFaceView;)V
.line 24
invoke-virtual {p1, v1}, Landroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
.line 25
invoke-virtual {p0, v2}, Landroid/view/View;->setFocusable(Z)V
.line 26
invoke-virtual {p2}, Landroid/content/res/TypedArray;->recycle()V
.line 27
new-instance p1, Lcom/google/android/material/timepicker/ClockFaceView$b;
invoke-direct {p1, p0}, Lcom/google/android/material/timepicker/ClockFaceView$b;-><init>(Lcom/google/android/material/timepicker/ClockFaceView;)V
iput-object p1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->h:Lcom/google/android/material/timepicker/ClockFaceView$b;
const/16 p1, 0xc
new-array p1, p1, [Ljava/lang/String;
const-string p2, ""
.line 28
invoke-static {p1, p2}, Ljava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
.line 29
iput-object p1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->o:[Ljava/lang/String;
.line 30
invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
move-result-object p1
invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object p1
.line 31
invoke-virtual {v0}, Landroid/util/SparseArray;->size()I
move-result p2
const/4 v0, 0x0
.line 32
:goto_c3
iget-object v1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->o:[Ljava/lang/String;
array-length v1, v1
invoke-static {v1, p2}, Ljava/lang/Math;->max(II)I
move-result v1
if-ge v0, v1, :cond_116
.line 33
iget-object v1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->g:Landroid/util/SparseArray;
invoke-virtual {v1, v0}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/widget/TextView;
.line 34
iget-object v2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->o:[Ljava/lang/String;
array-length v2, v2
if-lt v0, v2, :cond_e2
.line 35
invoke-virtual {p0, v1}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V
.line 36
iget-object v1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->g:Landroid/util/SparseArray;
invoke-virtual {v1, v0}, Landroid/util/SparseArray;->remove(I)V
goto :goto_113
:cond_e2
if-nez v1, :cond_f5
const v1, 0x7f0d01ae
.line 37
invoke-virtual {p1, v1, p0, v6}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object v1
check-cast v1, Landroid/widget/TextView;
.line 38
iget-object v2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->g:Landroid/util/SparseArray;
invoke-virtual {v2, v0, v1}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V
.line 39
invoke-virtual {p0, v1}, Landroid/view/ViewGroup;->addView(Landroid/view/View;)V
.line 40
:cond_f5
invoke-virtual {v1, v6}, Landroid/view/View;->setVisibility(I)V
.line 41
iget-object v2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->o:[Ljava/lang/String;
aget-object v2, v2, v0
invoke-virtual {v1, v2}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
const v2, 0x7f0a062d
.line 42
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v3
invoke-virtual {v1, v2, v3}, Landroid/view/View;->setTag(ILjava/lang/Object;)V
.line 43
iget-object v2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->h:Lcom/google/android/material/timepicker/ClockFaceView$b;
invoke-static {v1, v2}, Landroidx/core/view/y;->w(Landroid/view/View;Landroidx/core/view/a;)V
.line 44
iget-object v2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->q:Landroid/content/res/ColorStateList;
invoke-virtual {v1, v2}, Landroid/widget/TextView;->setTextColor(Landroid/content/res/ColorStateList;)V
:goto_113
add-int/lit8 v0, v0, 0x1
goto :goto_c3
:cond_116
const p1, 0x7f070184
.line 45
invoke-virtual {p3, p1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result p1
iput p1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->l:I
const p1, 0x7f070185
.line 46
invoke-virtual {p3, p1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result p1
iput p1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->m:I
const p1, 0x7f07016e
.line 47
invoke-virtual {p3, p1}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result p1
iput p1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->n:I
return-void
:array_132
.array-data 4
0x0
0x3f666666 # 0.9f
0x3f800000 # 1.0f
.end array-data
.end method
# virtual methods
.method public final d1(F)V
.registers 4
.line 1
iget v0, p0, Lcom/google/android/material/timepicker/ClockFaceView;->p:F
sub-float/2addr v0, p1
invoke-static {v0}, Ljava/lang/Math;->abs(F)F
move-result v0
const v1, 0x3a83126f # 0.001f
cmpl-float v0, v0, v1
if-lez v0, :cond_13
.line 2
iput p1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->p:F
.line 3
invoke-virtual {p0}, Lcom/google/android/material/timepicker/ClockFaceView;->u1()V
:cond_13
return-void
.end method
.method public final onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
.registers 5
.line 1
invoke-super {p0, p1}, Landroid/view/View;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
.line 2
iget-object v0, p0, Lcom/google/android/material/timepicker/ClockFaceView;->o:[Ljava/lang/String;
array-length v0, v0
const/4 v1, 0x0
const/4 v2, 0x1
.line 3
invoke-static {v2, v0, v1, v2}, Landroidx/core/view/accessibility/c$b;->a(IIZI)Landroidx/core/view/accessibility/c$b;
move-result-object v0
.line 4
iget-object v0, v0, Landroidx/core/view/accessibility/c$b;->a:Ljava/lang/Object;
check-cast v0, Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;
.line 5
invoke-virtual {p1, v0}, Landroid/view/accessibility/AccessibilityNodeInfo;->setCollectionInfo(Landroid/view/accessibility/AccessibilityNodeInfo$CollectionInfo;)V
return-void
.end method
.method public final onLayout(ZIIII)V
.registers 6
.line 1
invoke-super/range {p0 .. p5}, Landroidx/constraintlayout/widget/ConstraintLayout;->onLayout(ZIIII)V
.line 2
invoke-virtual {p0}, Lcom/google/android/material/timepicker/ClockFaceView;->u1()V
return-void
.end method
.method public final onMeasure(II)V
.registers 5
.line 1
invoke-virtual {p0}, Landroid/view/View;->getResources()Landroid/content/res/Resources;
move-result-object p1
.line 2
invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
.line 3
iget p2, p1, Landroid/util/DisplayMetrics;->heightPixels:I
int-to-float p2, p2
.line 4
iget p1, p1, Landroid/util/DisplayMetrics;->widthPixels:I
int-to-float p1, p1
.line 5
iget v0, p0, Lcom/google/android/material/timepicker/ClockFaceView;->n:I
int-to-float v0, v0
iget v1, p0, Lcom/google/android/material/timepicker/ClockFaceView;->l:I
int-to-float v1, v1
div-float/2addr v1, p2
iget p2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->m:I
int-to-float p2, p2
div-float/2addr p2, p1
.line 6
invoke-static {v1, p2}, Ljava/lang/Math;->max(FF)F
move-result p1
const/high16 p2, 0x3f800000 # 1.0f
invoke-static {p1, p2}, Ljava/lang/Math;->max(FF)F
move-result p1
div-float/2addr v0, p1
float-to-int p1, v0
const/high16 p2, 0x40000000 # 2.0f
.line 7
invoke-static {p1, p2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result p2
.line 8
invoke-virtual {p0, p1, p1}, Landroid/view/View;->setMeasuredDimension(II)V
.line 9
invoke-super {p0, p2, p2}, Landroidx/constraintlayout/widget/ConstraintLayout;->onMeasure(II)V
return-void
.end method
.method public final u1()V
.registers 12
.line 1
iget-object v0, p0, Lcom/google/android/material/timepicker/ClockFaceView;->d:Lcom/google/android/material/timepicker/ClockHandView;
.line 2
iget-object v0, v0, Lcom/google/android/material/timepicker/ClockHandView;->i:Landroid/graphics/RectF;
const/4 v1, 0x0
.line 3
:goto_5
iget-object v2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->g:Landroid/util/SparseArray;
invoke-virtual {v2}, Landroid/util/SparseArray;->size()I
move-result v2
if-ge v1, v2, :cond_75
.line 4
iget-object v2, p0, Lcom/google/android/material/timepicker/ClockFaceView;->g:Landroid/util/SparseArray;
invoke-virtual {v2, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroid/widget/TextView;
if-nez v2, :cond_18
goto :goto_72
.line 5
:cond_18
iget-object v3, p0, Lcom/google/android/material/timepicker/ClockFaceView;->e:Landroid/graphics/Rect;
invoke-virtual {v2, v3}, Landroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
.line 6
iget-object v3, p0, Lcom/google/android/material/timepicker/ClockFaceView;->e:Landroid/graphics/Rect;
invoke-virtual {v2}, Landroid/view/View;->getPaddingLeft()I
move-result v4
invoke-virtual {v2}, Landroid/view/View;->getPaddingTop()I
move-result v5
invoke-virtual {v3, v4, v5}, Landroid/graphics/Rect;->offset(II)V
.line 7
iget-object v3, p0, Lcom/google/android/material/timepicker/ClockFaceView;->e:Landroid/graphics/Rect;
invoke-virtual {p0, v2, v3}, Landroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
.line 8
iget-object v3, p0, Lcom/google/android/material/timepicker/ClockFaceView;->f:Landroid/graphics/RectF;
iget-object v4, p0, Lcom/google/android/material/timepicker/ClockFaceView;->e:Landroid/graphics/Rect;
invoke-virtual {v3, v4}, Landroid/graphics/RectF;->set(Landroid/graphics/Rect;)V
.line 9
iget-object v3, p0, Lcom/google/android/material/timepicker/ClockFaceView;->f:Landroid/graphics/RectF;
.line 10
invoke-static {v0, v3}, Landroid/graphics/RectF;->intersects(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z
move-result v3
if-nez v3, :cond_40
const/4 v3, 0x0
goto :goto_68
.line 11
:cond_40
new-instance v3, Landroid/graphics/RadialGradient;
.line 12
invoke-virtual {v0}, Landroid/graphics/RectF;->centerX()F
move-result v4
iget-object v5, p0, Lcom/google/android/material/timepicker/ClockFaceView;->f:Landroid/graphics/RectF;
iget v5, v5, Landroid/graphics/RectF;->left:F
sub-float v5, v4, v5
.line 13
invoke-virtual {v0}, Landroid/graphics/RectF;->centerY()F
move-result v4
iget-object v6, p0, Lcom/google/android/material/timepicker/ClockFaceView;->f:Landroid/graphics/RectF;
iget v6, v6, Landroid/graphics/RectF;->top:F
sub-float v6, v4, v6
.line 14
invoke-virtual {v0}, Landroid/graphics/RectF;->width()F
move-result v4
const/high16 v7, 0x3f000000 # 0.5f
mul-float v7, v7, v4
iget-object v8, p0, Lcom/google/android/material/timepicker/ClockFaceView;->i:[I
iget-object v9, p0, Lcom/google/android/material/timepicker/ClockFaceView;->j:[F
sget-object v10, Landroid/graphics/Shader$TileMode;->CLAMP:Landroid/graphics/Shader$TileMode;
move-object v4, v3
invoke-direct/range {v4 .. v10}, Landroid/graphics/RadialGradient;-><init>(FFF[I[FLandroid/graphics/Shader$TileMode;)V
.line 15
:goto_68
invoke-virtual {v2}, Landroid/widget/TextView;->getPaint()Landroid/text/TextPaint;
move-result-object v4
invoke-virtual {v4, v3}, Landroid/graphics/Paint;->setShader(Landroid/graphics/Shader;)Landroid/graphics/Shader;
.line 16
invoke-virtual {v2}, Landroid/view/View;->invalidate()V
:goto_72
add-int/lit8 v1, v1, 0x1
goto :goto_5
:cond_75
return-void
.end method