TooltipDrawable.smali
.class public Lcom/google/android/material/tooltip/TooltipDrawable;
.super Lcom/google/android/material/shape/MaterialShapeDrawable;
.source "TooltipDrawable.java"
# interfaces
.implements Lcom/google/android/material/internal/TextDrawableHelper$TextDrawableDelegate;
# static fields
.field private static final DEFAULT_STYLE:I
.field private static final DEFAULT_THEME_ATTR:I
# instance fields
.field private arrowSize:I
.field private final attachedViewLayoutChangeListener:Landroid/view/View$OnLayoutChangeListener;
.field private final context:Landroid/content/Context;
.field private final displayFrame:Landroid/graphics/Rect;
.field private final fontMetrics:Landroid/graphics/Paint$FontMetrics;
.field private labelOpacity:F
.field private layoutMargin:I
.field private locationOnScreenX:I
.field private minHeight:I
.field private minWidth:I
.field private padding:I
.field private text:Ljava/lang/CharSequence;
.field private final textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
.field private final tooltipPivotX:F
.field private tooltipPivotY:F
.field private tooltipScaleX:F
.field private tooltipScaleY:F
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 67
sget v0, Lcom/google/android/material/R$style;->Widget_MaterialComponents_Tooltip:I
sput v0, Lcom/google/android/material/tooltip/TooltipDrawable;->DEFAULT_STYLE:I
.line 68
sget v0, Lcom/google/android/material/R$attr;->tooltipStyle:I
sput v0, Lcom/google/android/material/tooltip/TooltipDrawable;->DEFAULT_THEME_ATTR:I
return-void
.end method
.method private constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
.registers 5
.line 141
invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/android/material/shape/MaterialShapeDrawable;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
.line 72
new-instance p2, Landroid/graphics/Paint$FontMetrics;
invoke-direct {p2}, Landroid/graphics/Paint$FontMetrics;-><init>()V
iput-object p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->fontMetrics:Landroid/graphics/Paint$FontMetrics;
.line 74
new-instance p2, Lcom/google/android/material/internal/TextDrawableHelper;
invoke-direct {p2, p0}, Lcom/google/android/material/internal/TextDrawableHelper;-><init>(Lcom/google/android/material/internal/TextDrawableHelper$TextDrawableDelegate;)V
iput-object p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
.line 78
new-instance p3, Lcom/google/android/material/tooltip/TooltipDrawable$1;
invoke-direct {p3, p0}, Lcom/google/android/material/tooltip/TooltipDrawable$1;-><init>(Lcom/google/android/material/tooltip/TooltipDrawable;)V
iput-object p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->attachedViewLayoutChangeListener:Landroid/view/View$OnLayoutChangeListener;
.line 96
new-instance p3, Landroid/graphics/Rect;
invoke-direct {p3}, Landroid/graphics/Rect;-><init>()V
iput-object p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->displayFrame:Landroid/graphics/Rect;
const/high16 p3, 0x3f800000 # 1.0f
.line 105
iput p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleX:F
.line 106
iput p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleY:F
const/high16 p4, 0x3f000000 # 0.5f
.line 107
iput p4, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipPivotX:F
.line 108
iput p4, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipPivotY:F
.line 109
iput p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->labelOpacity:F
.line 142
iput-object p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
.line 143
invoke-virtual {p2}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextPaint()Landroid/text/TextPaint;
move-result-object p3
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p1
invoke-virtual {p1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object p1
iget p1, p1, Landroid/util/DisplayMetrics;->density:F
iput p1, p3, Landroid/text/TextPaint;->density:F
.line 144
invoke-virtual {p2}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextPaint()Landroid/text/TextPaint;
move-result-object p1
sget-object p2, Landroid/graphics/Paint$Align;->CENTER:Landroid/graphics/Paint$Align;
invoke-virtual {p1, p2}, Landroid/text/TextPaint;->setTextAlign(Landroid/graphics/Paint$Align;)V
return-void
.end method
.method static synthetic access$000(Lcom/google/android/material/tooltip/TooltipDrawable;Landroid/view/View;)V
.registers 2
.line 65
invoke-direct {p0, p1}, Lcom/google/android/material/tooltip/TooltipDrawable;->updateLocationOnScreen(Landroid/view/View;)V
return-void
.end method
.method private calculatePointerOffset()F
.registers 3
.line 464
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->displayFrame:Landroid/graphics/Rect;
iget v0, v0, Landroid/graphics/Rect;->right:I
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
sub-int/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->locationOnScreenX:I
sub-int/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
sub-int/2addr v0, v1
if-gez v0, :cond_26
.line 465
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->displayFrame:Landroid/graphics/Rect;
iget v0, v0, Landroid/graphics/Rect;->right:I
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->right:I
sub-int/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->locationOnScreenX:I
sub-int/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
sub-int/2addr v0, v1
:goto_24
int-to-float v0, v0
goto :goto_4c
.line 466
:cond_26
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->displayFrame:Landroid/graphics/Rect;
iget v0, v0, Landroid/graphics/Rect;->left:I
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
sub-int/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->locationOnScreenX:I
sub-int/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
add-int/2addr v0, v1
if-lez v0, :cond_4b
.line 467
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->displayFrame:Landroid/graphics/Rect;
iget v0, v0, Landroid/graphics/Rect;->left:I
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v1
iget v1, v1, Landroid/graphics/Rect;->left:I
sub-int/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->locationOnScreenX:I
sub-int/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
add-int/2addr v0, v1
goto :goto_24
:cond_4b
const/4 v0, 0x0
:goto_4c
return v0
.end method
.method private calculateTextCenterFromBaseline()F
.registers 3
.line 524
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
invoke-virtual {v0}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextPaint()Landroid/text/TextPaint;
move-result-object v0
iget-object v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->fontMetrics:Landroid/graphics/Paint$FontMetrics;
invoke-virtual {v0, v1}, Landroid/text/TextPaint;->getFontMetrics(Landroid/graphics/Paint$FontMetrics;)F
.line 525
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->fontMetrics:Landroid/graphics/Paint$FontMetrics;
iget v0, v0, Landroid/graphics/Paint$FontMetrics;->descent:F
iget-object v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->fontMetrics:Landroid/graphics/Paint$FontMetrics;
iget v1, v1, Landroid/graphics/Paint$FontMetrics;->ascent:F
add-float/2addr v0, v1
const/high16 v1, 0x40000000 # 2.0f
div-float/2addr v0, v1
return v0
.end method
.method private calculateTextOriginAndAlignment(Landroid/graphics/Rect;)F
.registers 3
.line 508
invoke-virtual {p1}, Landroid/graphics/Rect;->centerY()I
move-result p1
int-to-float p1, p1
invoke-direct {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->calculateTextCenterFromBaseline()F
move-result v0
sub-float/2addr p1, v0
return p1
.end method
.method public static create(Landroid/content/Context;)Lcom/google/android/material/tooltip/TooltipDrawable;
.registers 4
.line 133
sget v0, Lcom/google/android/material/tooltip/TooltipDrawable;->DEFAULT_THEME_ATTR:I
sget v1, Lcom/google/android/material/tooltip/TooltipDrawable;->DEFAULT_STYLE:I
const/4 v2, 0x0
invoke-static {p0, v2, v0, v1}, Lcom/google/android/material/tooltip/TooltipDrawable;->createFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)Lcom/google/android/material/tooltip/TooltipDrawable;
move-result-object p0
return-object p0
.end method
.method public static createFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;)Lcom/google/android/material/tooltip/TooltipDrawable;
.registers 4
.line 128
sget v0, Lcom/google/android/material/tooltip/TooltipDrawable;->DEFAULT_THEME_ATTR:I
sget v1, Lcom/google/android/material/tooltip/TooltipDrawable;->DEFAULT_STYLE:I
invoke-static {p0, p1, v0, v1}, Lcom/google/android/material/tooltip/TooltipDrawable;->createFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)Lcom/google/android/material/tooltip/TooltipDrawable;
move-result-object p0
return-object p0
.end method
.method public static createFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)Lcom/google/android/material/tooltip/TooltipDrawable;
.registers 5
.line 118
new-instance v0, Lcom/google/android/material/tooltip/TooltipDrawable;
invoke-direct {v0, p0, p1, p2, p3}, Lcom/google/android/material/tooltip/TooltipDrawable;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
.line 119
invoke-direct {v0, p1, p2, p3}, Lcom/google/android/material/tooltip/TooltipDrawable;->loadFromAttributes(Landroid/util/AttributeSet;II)V
return-object v0
.end method
.method private createMarkerEdge()Lcom/google/android/material/shape/EdgeTreatment;
.registers 8
.line 473
invoke-direct {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->calculatePointerOffset()F
move-result v0
neg-float v0, v0
.line 475
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v1
invoke-virtual {v1}, Landroid/graphics/Rect;->width()I
move-result v1
int-to-double v1, v1
iget v3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->arrowSize:I
int-to-double v3, v3
const-wide/high16 v5, 0x4000000000000000L # 2.0
invoke-static {v5, v6}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v5
mul-double/2addr v3, v5
sub-double/2addr v1, v3
double-to-float v1, v1
const/high16 v2, 0x40000000 # 2.0f
div-float/2addr v1, v2
neg-float v2, v1
.line 476
invoke-static {v0, v2}, Ljava/lang/Math;->max(FF)F
move-result v0
.line 477
invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F
move-result v0
.line 478
new-instance v1, Lcom/google/android/material/shape/OffsetEdgeTreatment;
new-instance v2, Lcom/google/android/material/shape/MarkerEdgeTreatment;
iget v3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->arrowSize:I
int-to-float v3, v3
invoke-direct {v2, v3}, Lcom/google/android/material/shape/MarkerEdgeTreatment;-><init>(F)V
invoke-direct {v1, v2, v0}, Lcom/google/android/material/shape/OffsetEdgeTreatment;-><init>(Lcom/google/android/material/shape/EdgeTreatment;F)V
return-object v1
.end method
.method private drawText(Landroid/graphics/Canvas;)V
.registers 13
.line 482
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
if-nez v0, :cond_5
return-void
.line 487
:cond_5
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v0
.line 488
invoke-direct {p0, v0}, Lcom/google/android/material/tooltip/TooltipDrawable;->calculateTextOriginAndAlignment(Landroid/graphics/Rect;)F
move-result v1
float-to-int v1, v1
.line 490
iget-object v2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
invoke-virtual {v2}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextAppearance()Lcom/google/android/material/resources/TextAppearance;
move-result-object v2
if-eqz v2, :cond_38
.line 491
iget-object v2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
invoke-virtual {v2}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextPaint()Landroid/text/TextPaint;
move-result-object v2
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getState()[I
move-result-object v3
iput-object v3, v2, Landroid/text/TextPaint;->drawableState:[I
.line 492
iget-object v2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
iget-object v3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
invoke-virtual {v2, v3}, Lcom/google/android/material/internal/TextDrawableHelper;->updateTextPaintDrawState(Landroid/content/Context;)V
.line 493
iget-object v2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
invoke-virtual {v2}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextPaint()Landroid/text/TextPaint;
move-result-object v2
iget v3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->labelOpacity:F
const/high16 v4, 0x437f0000 # 255.0f
mul-float/2addr v3, v4
float-to-int v3, v3
invoke-virtual {v2, v3}, Landroid/text/TextPaint;->setAlpha(I)V
.line 496
:cond_38
iget-object v5, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
const/4 v6, 0x0
invoke-interface {v5}, Ljava/lang/CharSequence;->length()I
move-result v7
invoke-virtual {v0}, Landroid/graphics/Rect;->centerX()I
move-result v0
int-to-float v8, v0
int-to-float v9, v1
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
invoke-virtual {v0}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextPaint()Landroid/text/TextPaint;
move-result-object v10
move-object v4, p1
invoke-virtual/range {v4 .. v10}, Landroid/graphics/Canvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
return-void
.end method
.method private getTextWidth()F
.registers 3
.line 500
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
if-nez v0, :cond_6
const/4 v0, 0x0
return v0
.line 503
:cond_6
iget-object v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
invoke-interface {v0}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextWidth(Ljava/lang/String;)F
move-result v0
return v0
.end method
.method private loadFromAttributes(Landroid/util/AttributeSet;II)V
.registers 12
.line 149
const-class v0, Lcom/google/android/material/tooltip/TooltipDrawable;
iget-object v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
sget-object v3, Lcom/google/android/material/R$styleable;->Tooltip:[I
const/4 v7, 0x0
new-array v6, v7, [I
move-object v2, p1
move v4, p2
move v5, p3
.line 150
invoke-static/range {v1 .. v6}, Lcom/google/android/material/internal/ThemeEnforcement;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III[I)Landroid/content/res/TypedArray;
move-result-object p1
.line 153
iget-object p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
invoke-virtual {p2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object p2
sget p3, Lcom/google/android/material/R$dimen;->mtrl_tooltip_arrowSize:I
invoke-virtual {p2, p3}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->arrowSize:I
.line 155
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getShapeAppearanceModel()Lcom/google/android/material/shape/ShapeAppearanceModel;
move-result-object p2
invoke-virtual {p2}, Lcom/google/android/material/shape/ShapeAppearanceModel;->toBuilder()Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;
move-result-object p2
invoke-direct {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->createMarkerEdge()Lcom/google/android/material/shape/EdgeTreatment;
move-result-object p3
invoke-virtual {p2, p3}, Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;->setBottomEdge(Lcom/google/android/material/shape/EdgeTreatment;)Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;
move-result-object p2
invoke-virtual {p2}, Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;->build()Lcom/google/android/material/shape/ShapeAppearanceModel;
move-result-object p2
.line 154
invoke-virtual {p0, p2}, Lcom/google/android/material/tooltip/TooltipDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V
.line 157
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_text:I
invoke-virtual {p1, p2}, Landroid/content/res/TypedArray;->getText(I)Ljava/lang/CharSequence;
move-result-object p2
invoke-virtual {p0, p2}, Lcom/google/android/material/tooltip/TooltipDrawable;->setText(Ljava/lang/CharSequence;)V
.line 158
iget-object p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
sget p3, Lcom/google/android/material/R$styleable;->Tooltip_android_textAppearance:I
.line 159
invoke-static {p2, p1, p3}, Lcom/google/android/material/resources/MaterialResources;->getTextAppearance(Landroid/content/Context;Landroid/content/res/TypedArray;I)Lcom/google/android/material/resources/TextAppearance;
move-result-object p2
.line 158
invoke-virtual {p0, p2}, Lcom/google/android/material/tooltip/TooltipDrawable;->setTextAppearance(Lcom/google/android/material/resources/TextAppearance;)V
.line 162
iget-object p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
sget p3, Lcom/google/android/material/R$attr;->colorOnBackground:I
.line 164
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v1
.line 163
invoke-static {p2, p3, v1}, Lcom/google/android/material/color/MaterialColors;->getColor(Landroid/content/Context;ILjava/lang/String;)I
move-result p2
.line 165
iget-object p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
.line 167
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v1
const v2, 0x1010031
.line 166
invoke-static {p3, v2, v1}, Lcom/google/android/material/color/MaterialColors;->getColor(Landroid/content/Context;ILjava/lang/String;)I
move-result p3
const/16 v1, 0xe5
.line 171
invoke-static {p3, v1}, Landroidx/core/graphics/ColorUtils;->setAlphaComponent(II)I
move-result p3
const/16 v1, 0x99
.line 172
invoke-static {p2, v1}, Landroidx/core/graphics/ColorUtils;->setAlphaComponent(II)I
move-result p2
.line 170
invoke-static {p3, p2}, Lcom/google/android/material/color/MaterialColors;->layer(II)I
move-result p2
.line 173
sget p3, Lcom/google/android/material/R$styleable;->Tooltip_backgroundTint:I
.line 175
invoke-virtual {p1, p3, p2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result p2
.line 174
invoke-static {p2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
move-result-object p2
.line 173
invoke-virtual {p0, p2}, Lcom/google/android/material/tooltip/TooltipDrawable;->setFillColor(Landroid/content/res/ColorStateList;)V
.line 177
iget-object p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
sget p3, Lcom/google/android/material/R$attr;->colorSurface:I
.line 180
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v0
.line 179
invoke-static {p2, p3, v0}, Lcom/google/android/material/color/MaterialColors;->getColor(Landroid/content/Context;ILjava/lang/String;)I
move-result p2
.line 178
invoke-static {p2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
move-result-object p2
.line 177
invoke-virtual {p0, p2}, Lcom/google/android/material/tooltip/TooltipDrawable;->setStrokeColor(Landroid/content/res/ColorStateList;)V
.line 182
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_padding:I
invoke-virtual {p1, p2, v7}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->padding:I
.line 183
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_minWidth:I
invoke-virtual {p1, p2, v7}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minWidth:I
.line 184
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_minHeight:I
invoke-virtual {p1, p2, v7}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minHeight:I
.line 185
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_layout_margin:I
invoke-virtual {p1, p2, v7}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
.line 187
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
return-void
.end method
.method private updateLocationOnScreen(Landroid/view/View;)V
.registers 4
const/4 v0, 0x2
new-array v0, v0, [I
.line 457
invoke-virtual {p1, v0}, Landroid/view/View;->getLocationOnScreen([I)V
const/4 v1, 0x0
.line 458
aget v0, v0, v1
iput v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->locationOnScreenX:I
.line 459
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->displayFrame:Landroid/graphics/Rect;
invoke-virtual {p1, v0}, Landroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V
return-void
.end method
# virtual methods
.method public detachView(Landroid/view/View;)V
.registers 3
if-nez p1, :cond_3
return-void
.line 390
:cond_3
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->attachedViewLayoutChangeListener:Landroid/view/View$OnLayoutChangeListener;
invoke-virtual {p1, v0}, Landroid/view/View;->removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
return-void
.end method
.method public draw(Landroid/graphics/Canvas;)V
.registers 10
.line 405
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
.line 409
invoke-direct {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->calculatePointerOffset()F
move-result v0
.line 413
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->arrowSize:I
int-to-double v1, v1
const-wide/high16 v3, 0x4000000000000000L # 2.0
invoke-static {v3, v4}, Ljava/lang/Math;->sqrt(D)D
move-result-wide v3
mul-double/2addr v1, v3
iget v3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->arrowSize:I
int-to-double v3, v3
sub-double/2addr v1, v3
neg-double v1, v1
double-to-float v1, v1
.line 417
iget v2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleX:F
iget v3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleY:F
.line 420
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v4
iget v4, v4, Landroid/graphics/Rect;->left:I
int-to-float v4, v4
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v5
invoke-virtual {v5}, Landroid/graphics/Rect;->width()I
move-result v5
int-to-float v5, v5
const/high16 v6, 0x3f000000 # 0.5f
mul-float/2addr v5, v6
add-float/2addr v4, v5
.line 421
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v5
iget v5, v5, Landroid/graphics/Rect;->top:I
int-to-float v5, v5
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getBounds()Landroid/graphics/Rect;
move-result-object v6
invoke-virtual {v6}, Landroid/graphics/Rect;->height()I
move-result v6
int-to-float v6, v6
iget v7, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipPivotY:F
mul-float/2addr v6, v7
add-float/2addr v5, v6
.line 417
invoke-virtual {p1, v2, v3, v4, v5}, Landroid/graphics/Canvas;->scale(FFFF)V
.line 423
invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V
.line 426
invoke-super {p0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->draw(Landroid/graphics/Canvas;)V
.line 429
invoke-direct {p0, p1}, Lcom/google/android/material/tooltip/TooltipDrawable;->drawText(Landroid/graphics/Canvas;)V
.line 431
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
return-void
.end method
.method public getIntrinsicHeight()I
.registers 3
.line 400
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
invoke-virtual {v0}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextPaint()Landroid/text/TextPaint;
move-result-object v0
invoke-virtual {v0}, Landroid/text/TextPaint;->getTextSize()F
move-result v0
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minHeight:I
int-to-float v1, v1
invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F
move-result v0
float-to-int v0, v0
return v0
.end method
.method public getIntrinsicWidth()I
.registers 3
.line 395
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->padding:I
mul-int/lit8 v0, v0, 0x2
int-to-float v0, v0
invoke-direct {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getTextWidth()F
move-result v1
add-float/2addr v0, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minWidth:I
int-to-float v1, v1
invoke-static {v0, v1}, Ljava/lang/Math;->max(FF)F
move-result v0
float-to-int v0, v0
return v0
.end method
.method public getLayoutMargin()I
.registers 2
.line 329
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
return v0
.end method
.method public getMinHeight()I
.registers 2
.line 285
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minHeight:I
return v0
.end method
.method public getMinWidth()I
.registers 2
.line 263
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minWidth:I
return v0
.end method
.method public getText()Ljava/lang/CharSequence;
.registers 2
.line 197
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
return-object v0
.end method
.method public getTextAppearance()Lcom/google/android/material/resources/TextAppearance;
.registers 2
.line 233
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
invoke-virtual {v0}, Lcom/google/android/material/internal/TextDrawableHelper;->getTextAppearance()Lcom/google/android/material/resources/TextAppearance;
move-result-object v0
return-object v0
.end method
.method public getTextPadding()I
.registers 2
.line 307
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->padding:I
return v0
.end method
.method protected onBoundsChange(Landroid/graphics/Rect;)V
.registers 3
.line 436
invoke-super {p0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
.line 441
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->getShapeAppearanceModel()Lcom/google/android/material/shape/ShapeAppearanceModel;
move-result-object p1
invoke-virtual {p1}, Lcom/google/android/material/shape/ShapeAppearanceModel;->toBuilder()Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;
move-result-object p1
invoke-direct {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->createMarkerEdge()Lcom/google/android/material/shape/EdgeTreatment;
move-result-object v0
invoke-virtual {p1, v0}, Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;->setBottomEdge(Lcom/google/android/material/shape/EdgeTreatment;)Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;
move-result-object p1
invoke-virtual {p1}, Lcom/google/android/material/shape/ShapeAppearanceModel$Builder;->build()Lcom/google/android/material/shape/ShapeAppearanceModel;
move-result-object p1
.line 440
invoke-virtual {p0, p1}, Lcom/google/android/material/tooltip/TooltipDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V
return-void
.end method
.method public onStateChange([I)Z
.registers 2
.line 447
invoke-super {p0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->onStateChange([I)Z
move-result p1
return p1
.end method
.method public onTextSizeChange()V
.registers 1
.line 452
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->invalidateSelf()V
return-void
.end method
.method public setLayoutMargin(I)V
.registers 2
.line 340
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
.line 341
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->invalidateSelf()V
return-void
.end method
.method public setMinHeight(I)V
.registers 2
.line 296
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minHeight:I
.line 297
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->invalidateSelf()V
return-void
.end method
.method public setMinWidth(I)V
.registers 2
.line 274
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minWidth:I
.line 275
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->invalidateSelf()V
return-void
.end method
.method public setRelativeToView(Landroid/view/View;)V
.registers 3
if-nez p1, :cond_3
return-void
.line 376
:cond_3
invoke-direct {p0, p1}, Lcom/google/android/material/tooltip/TooltipDrawable;->updateLocationOnScreen(Landroid/view/View;)V
.line 378
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->attachedViewLayoutChangeListener:Landroid/view/View$OnLayoutChangeListener;
invoke-virtual {p1, v0}, Landroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
return-void
.end method
.method public setRevealFraction(F)V
.registers 5
const v0, 0x3f99999a # 1.2f
.line 359
iput v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipPivotY:F
.line 360
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleX:F
.line 361
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleY:F
const/4 v0, 0x0
const/high16 v1, 0x3f800000 # 1.0f
const v2, 0x3e428f5c # 0.19f
.line 362
invoke-static {v0, v1, v2, v1, p1}, Lcom/google/android/material/animation/AnimationUtils;->lerp(FFFFF)F
move-result p1
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->labelOpacity:F
.line 363
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->invalidateSelf()V
return-void
.end method
.method public setText(Ljava/lang/CharSequence;)V
.registers 3
.line 219
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
invoke-static {v0, p1}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_13
.line 220
iput-object p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
.line 221
iget-object p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
const/4 v0, 0x1
invoke-virtual {p1, v0}, Lcom/google/android/material/internal/TextDrawableHelper;->setTextWidthDirty(Z)V
.line 222
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->invalidateSelf()V
:cond_13
return-void
.end method
.method public setTextAppearance(Lcom/google/android/material/resources/TextAppearance;)V
.registers 4
.line 253
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
iget-object v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
invoke-virtual {v0, p1, v1}, Lcom/google/android/material/internal/TextDrawableHelper;->setTextAppearance(Lcom/google/android/material/resources/TextAppearance;Landroid/content/Context;)V
return-void
.end method
.method public setTextAppearanceResource(I)V
.registers 4
.line 243
new-instance v0, Lcom/google/android/material/resources/TextAppearance;
iget-object v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
invoke-direct {v0, v1, p1}, Lcom/google/android/material/resources/TextAppearance;-><init>(Landroid/content/Context;I)V
invoke-virtual {p0, v0}, Lcom/google/android/material/tooltip/TooltipDrawable;->setTextAppearance(Lcom/google/android/material/resources/TextAppearance;)V
return-void
.end method
.method public setTextPadding(I)V
.registers 2
.line 318
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->padding:I
.line 319
invoke-virtual {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->invalidateSelf()V
return-void
.end method
.method public setTextResource(I)V
.registers 3
.line 208
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Lcom/google/android/material/tooltip/TooltipDrawable;->setText(Ljava/lang/CharSequence;)V
return-void
.end method