TooltipPopup.smali 
.class Landroidx/appcompat/widget/TooltipPopup;
.super Ljava/lang/Object;
.source "TooltipPopup.java"
# static fields
.field private static final TAG:Ljava/lang/String; = "TooltipPopup"
# instance fields
.field private final mContentView:Landroid/view/View;
.field private final mContext:Landroid/content/Context;
.field private final mLayoutParams:Landroid/view/WindowManager$LayoutParams;
.field private final mMessageView:Landroid/widget/TextView;
.field private final mTmpAnchorPos:[I
.field private final mTmpAppPos:[I
.field private final mTmpDisplayFrame:Landroid/graphics/Rect;
# direct methods
.method constructor <init>(Landroid/content/Context;)V
    .registers 6
    .line 58
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    .line 53
    new-instance v0, Landroid/view/WindowManager$LayoutParams;
    invoke-direct {v0}, Landroid/view/WindowManager$LayoutParams;-><init>()V
    iput-object v0, p0, Landroidx/appcompat/widget/TooltipPopup;->mLayoutParams:Landroid/view/WindowManager$LayoutParams;
    .line 54
    new-instance v1, Landroid/graphics/Rect;
    invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
    iput-object v1, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpDisplayFrame:Landroid/graphics/Rect;
    const/4 v1, 0x2
    new-array v2, v1, [I
    .line 55
    iput-object v2, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpAnchorPos:[I
    new-array v1, v1, [I
    .line 56
    iput-object v1, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpAppPos:[I
    .line 59
    iput-object p1, p0, Landroidx/appcompat/widget/TooltipPopup;->mContext:Landroid/content/Context;
    .line 61
    invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
    move-result-object v1
    sget v2, Landroidx/appcompat/R$layout;->abc_tooltip:I
    const/4 v3, 0x0
    invoke-virtual {v1, v2, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
    move-result-object v1
    iput-object v1, p0, Landroidx/appcompat/widget/TooltipPopup;->mContentView:Landroid/view/View;
    .line 62
    sget v2, Landroidx/appcompat/R$id;->message:I
    invoke-virtual {v1, v2}, Landroid/view/View;->findViewById(I)Landroid/view/View;
    move-result-object v1
    check-cast v1, Landroid/widget/TextView;
    iput-object v1, p0, Landroidx/appcompat/widget/TooltipPopup;->mMessageView:Landroid/widget/TextView;
    .line 64
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
    move-result-object v1
    invoke-virtual {v1}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
    move-result-object v1
    invoke-virtual {v0, v1}, Landroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V
    .line 65
    invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
    move-result-object p1
    iput-object p1, v0, Landroid/view/WindowManager$LayoutParams;->packageName:Ljava/lang/String;
    const/16 p1, 0x3ea
    .line 66
    iput p1, v0, Landroid/view/WindowManager$LayoutParams;->type:I
    const/4 p1, -0x2
    .line 67
    iput p1, v0, Landroid/view/WindowManager$LayoutParams;->width:I
    .line 68
    iput p1, v0, Landroid/view/WindowManager$LayoutParams;->height:I
    const/4 p1, -0x3
    .line 69
    iput p1, v0, Landroid/view/WindowManager$LayoutParams;->format:I
    .line 70
    sget p1, Landroidx/appcompat/R$style;->Animation_AppCompat_Tooltip:I
    iput p1, v0, Landroid/view/WindowManager$LayoutParams;->windowAnimations:I
    const/16 p1, 0x18
    .line 71
    iput p1, v0, Landroid/view/WindowManager$LayoutParams;->flags:I
    return-void
.end method
.method private computePosition(Landroid/view/View;IIZLandroid/view/WindowManager$LayoutParams;)V
    .registers 14
    .line 104
    invoke-virtual {p1}, Landroid/view/View;->getApplicationWindowToken()Landroid/os/IBinder;
    move-result-object v0
    iput-object v0, p5, Landroid/view/WindowManager$LayoutParams;->token:Landroid/os/IBinder;
    .line 105
    iget-object v0, p0, Landroidx/appcompat/widget/TooltipPopup;->mContext:Landroid/content/Context;
    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    move-result-object v0
    sget v1, Landroidx/appcompat/R$dimen;->tooltip_precise_anchor_threshold:I
    invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I
    move-result v0
    .line 109
    invoke-virtual {p1}, Landroid/view/View;->getWidth()I
    move-result v1
    if-lt v1, v0, :cond_19
    goto :goto_1f
    .line 114
    :cond_19
    invoke-virtual {p1}, Landroid/view/View;->getWidth()I
    move-result p2
    div-int/lit8 p2, p2, 0x2
    .line 119
    :goto_1f
    invoke-virtual {p1}, Landroid/view/View;->getHeight()I
    move-result v1
    const/4 v2, 0x0
    if-lt v1, v0, :cond_36
    .line 121
    iget-object v0, p0, Landroidx/appcompat/widget/TooltipPopup;->mContext:Landroid/content/Context;
    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    move-result-object v0
    sget v1, Landroidx/appcompat/R$dimen;->tooltip_precise_anchor_extra_offset:I
    invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I
    move-result v0
    add-int v1, p3, v0
    sub-int/2addr p3, v0
    goto :goto_3b
    .line 127
    :cond_36
    invoke-virtual {p1}, Landroid/view/View;->getHeight()I
    move-result v1
    move p3, v2
    :goto_3b
    const/16 v0, 0x31
    .line 131
    iput v0, p5, Landroid/view/WindowManager$LayoutParams;->gravity:I
    .line 133
    iget-object v0, p0, Landroidx/appcompat/widget/TooltipPopup;->mContext:Landroid/content/Context;
    invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    move-result-object v0
    if-eqz p4, :cond_4a
    sget v3, Landroidx/appcompat/R$dimen;->tooltip_y_offset_touch:I
    goto :goto_4c
    :cond_4a
    sget v3, Landroidx/appcompat/R$dimen;->tooltip_y_offset_non_touch:I
    :goto_4c
    invoke-virtual {v0, v3}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I
    move-result v0
    .line 136
    invoke-static {p1}, Landroidx/appcompat/widget/TooltipPopup;->getAppRootView(Landroid/view/View;)Landroid/view/View;
    move-result-object v3
    if-nez v3, :cond_5e
    const-string p1, "TooltipPopup"
    const-string p2, "Cannot find app view"
    .line 138
    invoke-static {p1, p2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
    return-void
    .line 141
    :cond_5e
    iget-object v4, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpDisplayFrame:Landroid/graphics/Rect;
    invoke-virtual {v3, v4}, Landroid/view/View;->getWindowVisibleDisplayFrame(Landroid/graphics/Rect;)V
    .line 142
    iget-object v4, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpDisplayFrame:Landroid/graphics/Rect;
    iget v4, v4, Landroid/graphics/Rect;->left:I
    if-gez v4, :cond_94
    iget-object v4, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpDisplayFrame:Landroid/graphics/Rect;
    iget v4, v4, Landroid/graphics/Rect;->top:I
    if-gez v4, :cond_94
    .line 145
    iget-object v4, p0, Landroidx/appcompat/widget/TooltipPopup;->mContext:Landroid/content/Context;
    invoke-virtual {v4}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
    move-result-object v4
    const-string v5, "status_bar_height"
    const-string v6, "dimen"
    const-string v7, "android"
    .line 147
    invoke-virtual {v4, v5, v6, v7}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
    move-result v5
    if-eqz v5, :cond_86
    .line 149
    invoke-virtual {v4, v5}, Landroid/content/res/Resources;->getDimensionPixelSize(I)I
    move-result v5
    goto :goto_87
    :cond_86
    move v5, v2
    .line 153
    :goto_87
    invoke-virtual {v4}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
    move-result-object v4
    .line 154
    iget-object v6, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpDisplayFrame:Landroid/graphics/Rect;
    iget v7, v4, Landroid/util/DisplayMetrics;->widthPixels:I
    iget v4, v4, Landroid/util/DisplayMetrics;->heightPixels:I
    invoke-virtual {v6, v2, v5, v7, v4}, Landroid/graphics/Rect;->set(IIII)V
    .line 156
    :cond_94
    iget-object v4, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpAppPos:[I
    invoke-virtual {v3, v4}, Landroid/view/View;->getLocationOnScreen([I)V
    .line 158
    iget-object v4, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpAnchorPos:[I
    invoke-virtual {p1, v4}, Landroid/view/View;->getLocationOnScreen([I)V
    .line 159
    iget-object p1, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpAnchorPos:[I
    aget v4, p1, v2
    iget-object v5, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpAppPos:[I
    aget v6, v5, v2
    sub-int/2addr v4, v6
    aput v4, p1, v2
    const/4 v4, 0x1
    .line 160
    aget v6, p1, v4
    aget v5, v5, v4
    sub-int/2addr v6, v5
    aput v6, p1, v4
    .line 163
    aget p1, p1, v2
    add-int/2addr p1, p2
    invoke-virtual {v3}, Landroid/view/View;->getWidth()I
    move-result p2
    div-int/lit8 p2, p2, 0x2
    sub-int/2addr p1, p2
    iput p1, p5, Landroid/view/WindowManager$LayoutParams;->x:I
    .line 165
    invoke-static {v2, v2}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
    move-result p1
    .line 166
    iget-object p2, p0, Landroidx/appcompat/widget/TooltipPopup;->mContentView:Landroid/view/View;
    invoke-virtual {p2, p1, p1}, Landroid/view/View;->measure(II)V
    .line 167
    iget-object p1, p0, Landroidx/appcompat/widget/TooltipPopup;->mContentView:Landroid/view/View;
    invoke-virtual {p1}, Landroid/view/View;->getMeasuredHeight()I
    move-result p1
    .line 169
    iget-object p2, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpAnchorPos:[I
    aget v2, p2, v4
    add-int/2addr v2, p3
    sub-int/2addr v2, v0
    sub-int/2addr v2, p1
    .line 170
    aget p2, p2, v4
    add-int/2addr p2, v1
    add-int/2addr p2, v0
    if-eqz p4, :cond_e1
    if-ltz v2, :cond_de
    .line 173
    iput v2, p5, Landroid/view/WindowManager$LayoutParams;->y:I
    goto :goto_ef
    .line 175
    :cond_de
    iput p2, p5, Landroid/view/WindowManager$LayoutParams;->y:I
    goto :goto_ef
    :cond_e1
    add-int/2addr p1, p2
    .line 178
    iget-object p3, p0, Landroidx/appcompat/widget/TooltipPopup;->mTmpDisplayFrame:Landroid/graphics/Rect;
    invoke-virtual {p3}, Landroid/graphics/Rect;->height()I
    move-result p3
    if-gt p1, p3, :cond_ed
    .line 179
    iput p2, p5, Landroid/view/WindowManager$LayoutParams;->y:I
    goto :goto_ef
    .line 181
    :cond_ed
    iput v2, p5, Landroid/view/WindowManager$LayoutParams;->y:I
    :goto_ef
    return-void
.end method
.method private static getAppRootView(Landroid/view/View;)Landroid/view/View;
    .registers 4
    .line 187
    invoke-virtual {p0}, Landroid/view/View;->getRootView()Landroid/view/View;
    move-result-object v0
    .line 188
    invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
    move-result-object v1
    .line 189
    instance-of v2, v1, Landroid/view/WindowManager$LayoutParams;
    if-eqz v2, :cond_14
    check-cast v1, Landroid/view/WindowManager$LayoutParams;
    iget v1, v1, Landroid/view/WindowManager$LayoutParams;->type:I
    const/4 v2, 0x2
    if-ne v1, v2, :cond_14
    return-object v0
    .line 197
    :cond_14
    invoke-virtual {p0}, Landroid/view/View;->getContext()Landroid/content/Context;
    move-result-object p0
    .line 198
    :goto_18
    instance-of v1, p0, Landroid/content/ContextWrapper;
    if-eqz v1, :cond_32
    .line 199
    instance-of v1, p0, Landroid/app/Activity;
    if-eqz v1, :cond_2b
    .line 200
    check-cast p0, Landroid/app/Activity;
    invoke-virtual {p0}, Landroid/app/Activity;->getWindow()Landroid/view/Window;
    move-result-object p0
    invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
    move-result-object p0
    return-object p0
    .line 202
    :cond_2b
    check-cast p0, Landroid/content/ContextWrapper;
    invoke-virtual {p0}, Landroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
    move-result-object p0
    goto :goto_18
    :cond_32
    return-object v0
.end method
# virtual methods
.method hide()V
    .registers 3
    .line 90
    invoke-virtual {p0}, Landroidx/appcompat/widget/TooltipPopup;->isShowing()Z
    move-result v0
    if-nez v0, :cond_7
    return-void
    .line 94
    :cond_7
    iget-object v0, p0, Landroidx/appcompat/widget/TooltipPopup;->mContext:Landroid/content/Context;
    const-string/jumbo v1, "window"
    invoke-virtual {v0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object v0
    check-cast v0, Landroid/view/WindowManager;
    .line 95
    iget-object v1, p0, Landroidx/appcompat/widget/TooltipPopup;->mContentView:Landroid/view/View;
    invoke-interface {v0, v1}, Landroid/view/WindowManager;->removeView(Landroid/view/View;)V
    return-void
.end method
.method isShowing()Z
    .registers 2
    .line 99
    iget-object v0, p0, Landroidx/appcompat/widget/TooltipPopup;->mContentView:Landroid/view/View;
    invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
    move-result-object v0
    if-eqz v0, :cond_a
    const/4 v0, 0x1
    goto :goto_b
    :cond_a
    const/4 v0, 0x0
    :goto_b
    return v0
.end method
.method show(Landroid/view/View;IIZLjava/lang/CharSequence;)V
    .registers 13
    .line 77
    invoke-virtual {p0}, Landroidx/appcompat/widget/TooltipPopup;->isShowing()Z
    move-result v0
    if-eqz v0, :cond_9
    .line 78
    invoke-virtual {p0}, Landroidx/appcompat/widget/TooltipPopup;->hide()V
    .line 81
    :cond_9
    iget-object v0, p0, Landroidx/appcompat/widget/TooltipPopup;->mMessageView:Landroid/widget/TextView;
    invoke-virtual {v0, p5}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V
    .line 83
    iget-object v6, p0, Landroidx/appcompat/widget/TooltipPopup;->mLayoutParams:Landroid/view/WindowManager$LayoutParams;
    move-object v1, p0
    move-object v2, p1
    move v3, p2
    move v4, p3
    move v5, p4
    invoke-direct/range {v1 .. v6}, Landroidx/appcompat/widget/TooltipPopup;->computePosition(Landroid/view/View;IIZLandroid/view/WindowManager$LayoutParams;)V
    .line 85
    iget-object p1, p0, Landroidx/appcompat/widget/TooltipPopup;->mContext:Landroid/content/Context;
    const-string/jumbo p2, "window"
    invoke-virtual {p1, p2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
    move-result-object p1
    check-cast p1, Landroid/view/WindowManager;
    .line 86
    iget-object p2, p0, Landroidx/appcompat/widget/TooltipPopup;->mContentView:Landroid/view/View;
    iget-object p3, p0, Landroidx/appcompat/widget/TooltipPopup;->mLayoutParams:Landroid/view/WindowManager$LayoutParams;
    invoke-interface {p1, p2, p3}, Landroid/view/WindowManager;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
    return-void
.end method