2022-06-10 21:38:30 +09:00

1427 lines
42 KiB
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;
# annotations
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
# static fields
.field private static final DEFAULT_STYLE:I
.annotation build Landroidx/annotation/StyleRes;
.end annotation
.end field
.field private static final DEFAULT_THEME_ATTR:I
.annotation build Landroidx/annotation/AttrRes;
.end annotation
.end field
# instance fields
.field private arrowSize:I
.field private final attachedViewLayoutChangeListener:Landroid/view/View$OnLayoutChangeListener;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final context:Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final displayFrame:Landroid/graphics/Rect;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final fontMetrics:Landroid/graphics/Paint$FontMetrics;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.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;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end field
.field private final textDrawableHelper:Lcom/google/android/material/internal/TextDrawableHelper;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end field
.field private final tooltipPivotX:F
.field private tooltipPivotY:F
.field private tooltipScaleX:F
.field private tooltipScaleY:F
# direct methods
.method public static constructor <clinit>()V
.locals 1
.line 1
sget v0, Lcom/google/android/material/R$style;->Widget_MaterialComponents_Tooltip:I
sput v0, Lcom/google/android/material/tooltip/TooltipDrawable;->DEFAULT_STYLE:I
.line 2
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
.locals 0
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p3 # I
.annotation build Landroidx/annotation/AttrRes;
.end annotation
.end param
.param p4 # I
.annotation build Landroidx/annotation/StyleRes;
.end annotation
.end param
.line 1
invoke-direct {p0, p1, p2, p3, p4}, Lcom/google/android/material/shape/MaterialShapeDrawable;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
.line 2
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 3
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 4
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 5
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 6
iput p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleX:F
.line 7
iput p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleY:F
const/high16 p4, 0x3f000000 # 0.5f
.line 8
iput p4, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipPivotX:F
.line 9
iput p4, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipPivotY:F
.line 10
iput p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->labelOpacity:F
.line 11
iput-object p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
.line 12
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 13
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 public static synthetic access$000(Lcom/google/android/material/tooltip/TooltipDrawable;Landroid/view/View;)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lcom/google/android/material/tooltip/TooltipDrawable;->updateLocationOnScreen(Landroid/view/View;)V
return-void
.end method
.method private calculatePointerOffset()F
.locals 2
.line 1
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}, Landroid/graphics/drawable/Drawable;->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_0
.line 2
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}, Landroid/graphics/drawable/Drawable;->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_0
int-to-float v0, v0
goto :goto_1
.line 3
:cond_0
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}, Landroid/graphics/drawable/Drawable;->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_1
.line 4
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}, Landroid/graphics/drawable/Drawable;->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_0
:cond_1
const/4 v0, 0x0
:goto_1
return v0
.end method
.method private calculateTextCenterFromBaseline()F
.locals 2
.line 1
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 2
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->fontMetrics:Landroid/graphics/Paint$FontMetrics;
iget v1, v0, Landroid/graphics/Paint$FontMetrics;->descent:F
iget v0, v0, Landroid/graphics/Paint$FontMetrics;->ascent:F
add-float/2addr v1, v0
const/high16 v0, 0x40000000 # 2.0f
div-float/2addr v1, v0
return v1
.end method
.method private calculateTextOriginAndAlignment(Landroid/graphics/Rect;)F
.locals 1
.param p1 # Landroid/graphics/Rect;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
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;
.locals 3
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
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;
.locals 2
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 3
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;
.locals 1
.param p0 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p1 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/AttrRes;
.end annotation
.end param
.param p3 # I
.annotation build Landroidx/annotation/StyleRes;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 1
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 2
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;
.locals 7
.line 1
invoke-direct {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->calculatePointerOffset()F
move-result v0
neg-float v0, v0
.line 2
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->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 v5, v3
sub-double/2addr v1, v5
double-to-float v1, v1
const/high16 v2, 0x40000000 # 2.0f
div-float/2addr v1, v2
neg-float v2, v1
.line 3
invoke-static {v0, v2}, Ljava/lang/Math;->max(FF)F
move-result v0
.line 4
invoke-static {v0, v1}, Ljava/lang/Math;->min(FF)F
move-result v0
.line 5
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
.locals 11
.param p1 # Landroid/graphics/Canvas;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
if-nez v0, :cond_0
return-void
.line 2
:cond_0
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect;
move-result-object v0
.line 3
invoke-direct {p0, v0}, Lcom/google/android/material/tooltip/TooltipDrawable;->calculateTextOriginAndAlignment(Landroid/graphics/Rect;)F
move-result v1
float-to-int v1, v1
.line 4
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_1
.line 5
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}, Landroid/graphics/drawable/Drawable;->getState()[I
move-result-object v3
iput-object v3, v2, Landroid/text/TextPaint;->drawableState:[I
.line 6
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 7
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 8
:cond_1
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
.locals 2
.line 1
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
if-nez v0, :cond_0
const/4 v0, 0x0
return v0
.line 2
:cond_0
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
.locals 7
.param p1 # Landroid/util/AttributeSet;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # I
.annotation build Landroidx/annotation/AttrRes;
.end annotation
.end param
.param p3 # I
.annotation build Landroidx/annotation/StyleRes;
.end annotation
.end param
.line 1
iget-object v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
sget-object v2, Lcom/google/android/material/R$styleable;->Tooltip:[I
const/4 v6, 0x0
new-array v5, v6, [I
move-object v1, p1
move v3, p2
move v4, p3
.line 2
invoke-static/range {v0 .. v5}, Lcom/google/android/material/internal/ThemeEnforcement;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III[I)Landroid/content/res/TypedArray;
move-result-object p1
.line 3
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 4
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->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 5
invoke-virtual {p0, p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V
.line 6
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 7
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 8
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 9
invoke-virtual {p0, p2}, Lcom/google/android/material/tooltip/TooltipDrawable;->setTextAppearance(Lcom/google/android/material/resources/TextAppearance;)V
.line 10
iget-object p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
sget p3, Lcom/google/android/material/R$attr;->colorOnBackground:I
const-class v0, Lcom/google/android/material/tooltip/TooltipDrawable;
.line 11
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v0
.line 12
invoke-static {p2, p3, v0}, Lcom/google/android/material/color/MaterialColors;->getColor(Landroid/content/Context;ILjava/lang/String;)I
move-result p2
.line 13
iget-object p3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
const-class v0, Lcom/google/android/material/tooltip/TooltipDrawable;
.line 14
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v0
const v1, 0x1010031
.line 15
invoke-static {p3, v1, v0}, Lcom/google/android/material/color/MaterialColors;->getColor(Landroid/content/Context;ILjava/lang/String;)I
move-result p3
const/16 v0, 0xe5
.line 16
invoke-static {p3, v0}, Lc1/i;->B(II)I
move-result p3
const/16 v0, 0x99
.line 17
invoke-static {p2, v0}, Lc1/i;->B(II)I
move-result p2
.line 18
invoke-static {p3, p2}, Lcom/google/android/material/color/MaterialColors;->layer(II)I
move-result p2
.line 19
sget p3, Lcom/google/android/material/R$styleable;->Tooltip_backgroundTint:I
.line 20
invoke-virtual {p1, p3, p2}, Landroid/content/res/TypedArray;->getColor(II)I
move-result p2
.line 21
invoke-static {p2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
move-result-object p2
.line 22
invoke-virtual {p0, p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setFillColor(Landroid/content/res/ColorStateList;)V
.line 23
iget-object p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->context:Landroid/content/Context;
sget p3, Lcom/google/android/material/R$attr;->colorSurface:I
const-class v0, Lcom/google/android/material/tooltip/TooltipDrawable;
.line 24
invoke-virtual {v0}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String;
move-result-object v0
.line 25
invoke-static {p2, p3, v0}, Lcom/google/android/material/color/MaterialColors;->getColor(Landroid/content/Context;ILjava/lang/String;)I
move-result p2
.line 26
invoke-static {p2}, Landroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
move-result-object p2
.line 27
invoke-virtual {p0, p2}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setStrokeColor(Landroid/content/res/ColorStateList;)V
.line 28
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_padding:I
invoke-virtual {p1, p2, v6}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->padding:I
.line 29
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_minWidth:I
invoke-virtual {p1, p2, v6}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minWidth:I
.line 30
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_minHeight:I
invoke-virtual {p1, p2, v6}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minHeight:I
.line 31
sget p2, Lcom/google/android/material/R$styleable;->Tooltip_android_layout_margin:I
invoke-virtual {p1, p2, v6}, Landroid/content/res/TypedArray;->getDimensionPixelSize(II)I
move-result p2
iput p2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
.line 32
invoke-virtual {p1}, Landroid/content/res/TypedArray;->recycle()V
return-void
.end method
.method private updateLocationOnScreen(Landroid/view/View;)V
.locals 2
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x2
new-array v0, v0, [I
.line 1
invoke-virtual {p1, v0}, Landroid/view/View;->getLocationOnScreen([I)V
const/4 v1, 0x0
.line 2
aget v0, v0, v1
iput v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->locationOnScreenX:I
.line 3
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
.locals 1
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
if-nez p1, :cond_0
return-void
.line 1
:cond_0
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
.locals 8
.param p1 # Landroid/graphics/Canvas;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 1
invoke-virtual {p1}, Landroid/graphics/Canvas;->save()I
.line 2
invoke-direct {p0}, Lcom/google/android/material/tooltip/TooltipDrawable;->calculatePointerOffset()F
move-result v0
.line 3
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 v3, v1
iget v1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->arrowSize:I
int-to-double v1, v1
sub-double/2addr v3, v1
neg-double v1, v3
double-to-float v1, v1
.line 4
iget v2, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleX:F
iget v3, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleY:F
.line 5
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect;
move-result-object v4
iget v4, v4, Landroid/graphics/Rect;->left:I
int-to-float v4, v4
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->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 v5, v4
.line 6
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getBounds()Landroid/graphics/Rect;
move-result-object v4
iget v4, v4, Landroid/graphics/Rect;->top:I
int-to-float v4, v4
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->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 v6, v4
.line 7
invoke-virtual {p1, v2, v3, v5, v6}, Landroid/graphics/Canvas;->scale(FFFF)V
.line 8
invoke-virtual {p1, v0, v1}, Landroid/graphics/Canvas;->translate(FF)V
.line 9
invoke-super {p0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->draw(Landroid/graphics/Canvas;)V
.line 10
invoke-direct {p0, p1}, Lcom/google/android/material/tooltip/TooltipDrawable;->drawText(Landroid/graphics/Canvas;)V
.line 11
invoke-virtual {p1}, Landroid/graphics/Canvas;->restore()V
return-void
.end method
.method public getIntrinsicHeight()I
.locals 2
.line 1
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
.locals 2
.line 1
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
.locals 1
.line 1
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
return v0
.end method
.method public getMinHeight()I
.locals 1
.line 1
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minHeight:I
return v0
.end method
.method public getMinWidth()I
.locals 1
.line 1
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minWidth:I
return v0
.end method
.method public getText()Ljava/lang/CharSequence;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
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;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 1
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
.locals 1
.line 1
iget v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->padding:I
return v0
.end method
.method public onBoundsChange(Landroid/graphics/Rect;)V
.locals 1
.line 1
invoke-super {p0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
.line 2
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->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 3
invoke-virtual {p0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->setShapeAppearanceModel(Lcom/google/android/material/shape/ShapeAppearanceModel;)V
return-void
.end method
.method public onStateChange([I)Z
.locals 0
.line 1
invoke-super {p0, p1}, Lcom/google/android/material/shape/MaterialShapeDrawable;->onStateChange([I)Z
move-result p1
return p1
.end method
.method public onTextSizeChange()V
.locals 0
.line 1
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->invalidateSelf()V
return-void
.end method
.method public setLayoutMargin(I)V
.locals 0
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.line 1
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->layoutMargin:I
.line 2
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->invalidateSelf()V
return-void
.end method
.method public setMinHeight(I)V
.locals 0
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.line 1
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minHeight:I
.line 2
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->invalidateSelf()V
return-void
.end method
.method public setMinWidth(I)V
.locals 0
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.line 1
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->minWidth:I
.line 2
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->invalidateSelf()V
return-void
.end method
.method public setRelativeToView(Landroid/view/View;)V
.locals 1
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
if-nez p1, :cond_0
return-void
.line 1
:cond_0
invoke-direct {p0, p1}, Lcom/google/android/material/tooltip/TooltipDrawable;->updateLocationOnScreen(Landroid/view/View;)V
.line 2
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
.locals 3
.param p1 # F
.annotation build Landroidx/annotation/FloatRange;
from = 0.0
to = 1.0
.end annotation
.end param
const v0, 0x3f99999a # 1.2f
.line 1
iput v0, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipPivotY:F
.line 2
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->tooltipScaleX:F
.line 3
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 4
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 5
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->invalidateSelf()V
return-void
.end method
.method public setText(Ljava/lang/CharSequence;)V
.locals 1
.param p1 # Ljava/lang/CharSequence;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
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_0
.line 2
iput-object p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->text:Ljava/lang/CharSequence;
.line 3
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 4
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->invalidateSelf()V
:cond_0
return-void
.end method
.method public setTextAppearance(Lcom/google/android/material/resources/TextAppearance;)V
.locals 2
.param p1 # Lcom/google/android/material/resources/TextAppearance;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.line 1
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
.locals 2
.param p1 # I
.annotation build Landroidx/annotation/StyleRes;
.end annotation
.end param
.line 1
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
.locals 0
.param p1 # I
.annotation build Landroidx/annotation/Px;
.end annotation
.end param
.line 1
iput p1, p0, Lcom/google/android/material/tooltip/TooltipDrawable;->padding:I
.line 2
invoke-virtual {p0}, Lcom/google/android/material/shape/MaterialShapeDrawable;->invalidateSelf()V
return-void
.end method
.method public setTextResource(I)V
.locals 1
.param p1 # I
.annotation build Landroidx/annotation/StringRes;
.end annotation
.end param
.line 1
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