2020-05-17 12:40:10 +00:00
|
|
|
.class public Landroidx/appcompat/widget/AppCompatPopupWindow;
|
|
|
|
.super Landroid/widget/PopupWindow;
|
|
|
|
.source "AppCompatPopupWindow.java"
|
|
|
|
|
|
|
|
|
|
|
|
# static fields
|
2020-07-08 16:44:49 +00:00
|
|
|
.field public static final COMPAT_OVERLAP_ANCHOR:Z = false
|
2020-05-17 12:40:10 +00:00
|
|
|
|
|
|
|
|
|
|
|
# instance fields
|
|
|
|
.field public mOverlapAnchor:Z
|
|
|
|
|
|
|
|
|
|
|
|
# direct methods
|
|
|
|
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
|
|
.locals 1
|
|
|
|
.param p1 # Landroid/content/Context;
|
|
|
|
.annotation build Landroidx/annotation/NonNull;
|
|
|
|
.end annotation
|
|
|
|
.end param
|
|
|
|
.param p2 # Landroid/util/AttributeSet;
|
|
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
|
|
.end annotation
|
|
|
|
.end param
|
|
|
|
.param p3 # I
|
|
|
|
.annotation build Landroidx/annotation/AttrRes;
|
|
|
|
.end annotation
|
|
|
|
.end param
|
|
|
|
|
|
|
|
invoke-direct {p0, p1, p2, p3}, Landroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
|
|
|
|
|
|
|
|
const/4 v0, 0x0
|
|
|
|
|
|
|
|
invoke-direct {p0, p1, p2, p3, v0}, Landroidx/appcompat/widget/AppCompatPopupWindow;->init(Landroid/content/Context;Landroid/util/AttributeSet;II)V
|
|
|
|
|
|
|
|
return-void
|
|
|
|
.end method
|
|
|
|
|
|
|
|
.method public 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 p2 # Landroid/util/AttributeSet;
|
|
|
|
.annotation build Landroidx/annotation/Nullable;
|
|
|
|
.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
|
|
|
|
|
|
|
|
invoke-direct {p0, p1, p2, p3, p4}, Landroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
|
|
|
|
|
|
|
|
invoke-direct {p0, p1, p2, p3, p4}, Landroidx/appcompat/widget/AppCompatPopupWindow;->init(Landroid/content/Context;Landroid/util/AttributeSet;II)V
|
|
|
|
|
|
|
|
return-void
|
|
|
|
.end method
|
|
|
|
|
|
|
|
.method private init(Landroid/content/Context;Landroid/util/AttributeSet;II)V
|
|
|
|
.locals 1
|
|
|
|
|
|
|
|
sget-object v0, Landroidx/appcompat/R$styleable;->PopupWindow:[I
|
|
|
|
|
|
|
|
invoke-static {p1, p2, v0, p3, p4}, Landroidx/appcompat/widget/TintTypedArray;->obtainStyledAttributes(Landroid/content/Context;Landroid/util/AttributeSet;[III)Landroidx/appcompat/widget/TintTypedArray;
|
|
|
|
|
|
|
|
move-result-object p1
|
|
|
|
|
|
|
|
sget p2, Landroidx/appcompat/R$styleable;->PopupWindow_overlapAnchor:I
|
|
|
|
|
|
|
|
invoke-virtual {p1, p2}, Landroidx/appcompat/widget/TintTypedArray;->hasValue(I)Z
|
|
|
|
|
|
|
|
move-result p2
|
|
|
|
|
|
|
|
if-eqz p2, :cond_0
|
|
|
|
|
|
|
|
sget p2, Landroidx/appcompat/R$styleable;->PopupWindow_overlapAnchor:I
|
|
|
|
|
|
|
|
const/4 p3, 0x0
|
|
|
|
|
|
|
|
invoke-virtual {p1, p2, p3}, Landroidx/appcompat/widget/TintTypedArray;->getBoolean(IZ)Z
|
|
|
|
|
|
|
|
move-result p2
|
|
|
|
|
|
|
|
invoke-direct {p0, p2}, Landroidx/appcompat/widget/AppCompatPopupWindow;->setSupportOverlapAnchor(Z)V
|
|
|
|
|
|
|
|
:cond_0
|
|
|
|
sget p2, Landroidx/appcompat/R$styleable;->PopupWindow_android_popupBackground:I
|
|
|
|
|
|
|
|
invoke-virtual {p1, p2}, Landroidx/appcompat/widget/TintTypedArray;->getDrawable(I)Landroid/graphics/drawable/Drawable;
|
|
|
|
|
|
|
|
move-result-object p2
|
|
|
|
|
|
|
|
invoke-virtual {p0, p2}, Landroid/widget/PopupWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
|
|
|
|
|
|
|
|
invoke-virtual {p1}, Landroidx/appcompat/widget/TintTypedArray;->recycle()V
|
|
|
|
|
|
|
|
return-void
|
|
|
|
.end method
|
|
|
|
|
|
|
|
.method private setSupportOverlapAnchor(Z)V
|
|
|
|
.locals 1
|
|
|
|
|
|
|
|
sget-boolean v0, Landroidx/appcompat/widget/AppCompatPopupWindow;->COMPAT_OVERLAP_ANCHOR:Z
|
|
|
|
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
|
|
|
|
iput-boolean p1, p0, Landroidx/appcompat/widget/AppCompatPopupWindow;->mOverlapAnchor:Z
|
|
|
|
|
|
|
|
goto :goto_0
|
|
|
|
|
|
|
|
:cond_0
|
|
|
|
invoke-static {p0, p1}, Landroidx/core/widget/PopupWindowCompat;->setOverlapAnchor(Landroid/widget/PopupWindow;Z)V
|
|
|
|
|
|
|
|
:goto_0
|
|
|
|
return-void
|
|
|
|
.end method
|
|
|
|
|
|
|
|
|
|
|
|
# virtual methods
|
|
|
|
.method public showAsDropDown(Landroid/view/View;II)V
|
|
|
|
.locals 1
|
|
|
|
|
|
|
|
sget-boolean v0, Landroidx/appcompat/widget/AppCompatPopupWindow;->COMPAT_OVERLAP_ANCHOR:Z
|
|
|
|
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
|
|
|
|
iget-boolean v0, p0, Landroidx/appcompat/widget/AppCompatPopupWindow;->mOverlapAnchor:Z
|
|
|
|
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
|
|
|
|
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
|
|
|
|
|
|
|
|
move-result v0
|
|
|
|
|
|
|
|
sub-int/2addr p3, v0
|
|
|
|
|
|
|
|
:cond_0
|
|
|
|
invoke-super {p0, p1, p2, p3}, Landroid/widget/PopupWindow;->showAsDropDown(Landroid/view/View;II)V
|
|
|
|
|
|
|
|
return-void
|
|
|
|
.end method
|
|
|
|
|
|
|
|
.method public showAsDropDown(Landroid/view/View;III)V
|
|
|
|
.locals 1
|
|
|
|
|
|
|
|
sget-boolean v0, Landroidx/appcompat/widget/AppCompatPopupWindow;->COMPAT_OVERLAP_ANCHOR:Z
|
|
|
|
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
|
|
|
|
iget-boolean v0, p0, Landroidx/appcompat/widget/AppCompatPopupWindow;->mOverlapAnchor:Z
|
|
|
|
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
|
|
|
|
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
|
|
|
|
|
|
|
|
move-result v0
|
|
|
|
|
|
|
|
sub-int/2addr p3, v0
|
|
|
|
|
|
|
|
:cond_0
|
|
|
|
invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/PopupWindow;->showAsDropDown(Landroid/view/View;III)V
|
|
|
|
|
|
|
|
return-void
|
|
|
|
.end method
|
|
|
|
|
|
|
|
.method public update(Landroid/view/View;IIII)V
|
|
|
|
.locals 6
|
|
|
|
|
|
|
|
sget-boolean v0, Landroidx/appcompat/widget/AppCompatPopupWindow;->COMPAT_OVERLAP_ANCHOR:Z
|
|
|
|
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
|
|
|
|
iget-boolean v0, p0, Landroidx/appcompat/widget/AppCompatPopupWindow;->mOverlapAnchor:Z
|
|
|
|
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
|
|
|
|
invoke-virtual {p1}, Landroid/view/View;->getHeight()I
|
|
|
|
|
|
|
|
move-result v0
|
|
|
|
|
|
|
|
sub-int/2addr p3, v0
|
|
|
|
|
|
|
|
:cond_0
|
|
|
|
move v3, p3
|
|
|
|
|
|
|
|
move-object v0, p0
|
|
|
|
|
|
|
|
move-object v1, p1
|
|
|
|
|
|
|
|
move v2, p2
|
|
|
|
|
|
|
|
move v4, p4
|
|
|
|
|
|
|
|
move v5, p5
|
|
|
|
|
|
|
|
invoke-super/range {v0 .. v5}, Landroid/widget/PopupWindow;->update(Landroid/view/View;IIII)V
|
|
|
|
|
|
|
|
return-void
|
|
|
|
.end method
|