apkfuckery/com.discord/smali/androidx/appcompat/widget/ListPopupWindow.smali

2569 lines
70 KiB
Smali

.class public Landroidx/appcompat/widget/ListPopupWindow;
.super Ljava/lang/Object;
.source "ListPopupWindow.java"
# interfaces
.implements Landroidx/appcompat/view/menu/ShowableListMenu;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/appcompat/widget/ListPopupWindow$PopupScrollListener;,
Landroidx/appcompat/widget/ListPopupWindow$PopupTouchInterceptor;,
Landroidx/appcompat/widget/ListPopupWindow$ResizePopupRunnable;,
Landroidx/appcompat/widget/ListPopupWindow$ListSelectorHider;,
Landroidx/appcompat/widget/ListPopupWindow$PopupDataSetObserver;
}
.end annotation
# static fields
.field public static final DEBUG:Z = false
.field public static final EXPAND_LIST_TIMEOUT:I = 0xfa
.field public static final INPUT_METHOD_FROM_FOCUSABLE:I = 0x0
.field public static final INPUT_METHOD_NEEDED:I = 0x1
.field public static final INPUT_METHOD_NOT_NEEDED:I = 0x2
.field public static final MATCH_PARENT:I = -0x1
.field public static final POSITION_PROMPT_ABOVE:I = 0x0
.field public static final POSITION_PROMPT_BELOW:I = 0x1
.field public static final TAG:Ljava/lang/String; = "ListPopupWindow"
.field public static final WRAP_CONTENT:I = -0x2
.field public static sGetMaxAvailableHeightMethod:Ljava/lang/reflect/Method;
.field public static sSetClipToWindowEnabledMethod:Ljava/lang/reflect/Method;
.field public static sSetEpicenterBoundsMethod:Ljava/lang/reflect/Method;
# instance fields
.field public mAdapter:Landroid/widget/ListAdapter;
.field public mContext:Landroid/content/Context;
.field public mDropDownAlwaysVisible:Z
.field public mDropDownAnchorView:Landroid/view/View;
.field public mDropDownGravity:I
.field public mDropDownHeight:I
.field public mDropDownHorizontalOffset:I
.field public mDropDownList:Landroidx/appcompat/widget/DropDownListView;
.field public mDropDownListHighlight:Landroid/graphics/drawable/Drawable;
.field public mDropDownVerticalOffset:I
.field public mDropDownVerticalOffsetSet:Z
.field public mDropDownWidth:I
.field public mDropDownWindowLayoutType:I
.field public mEpicenterBounds:Landroid/graphics/Rect;
.field public mForceIgnoreOutsideTouch:Z
.field public final mHandler:Landroid/os/Handler;
.field public final mHideSelector:Landroidx/appcompat/widget/ListPopupWindow$ListSelectorHider;
.field public mItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
.field public mItemSelectedListener:Landroid/widget/AdapterView$OnItemSelectedListener;
.field public mListItemExpandMaximum:I
.field public mModal:Z
.field public mObserver:Landroid/database/DataSetObserver;
.field public mOverlapAnchor:Z
.field public mOverlapAnchorSet:Z
.field public mPopup:Landroid/widget/PopupWindow;
.field public mPromptPosition:I
.field public mPromptView:Landroid/view/View;
.field public final mResizePopupRunnable:Landroidx/appcompat/widget/ListPopupWindow$ResizePopupRunnable;
.field public final mScrollListener:Landroidx/appcompat/widget/ListPopupWindow$PopupScrollListener;
.field public mShowDropDownRunnable:Ljava/lang/Runnable;
.field public final mTempRect:Landroid/graphics/Rect;
.field public final mTouchInterceptor:Landroidx/appcompat/widget/ListPopupWindow$PopupTouchInterceptor;
# direct methods
.method public static constructor <clinit>()V
.locals 7
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/4 v2, 0x1
const-string v3, "ListPopupWindow"
const/16 v4, 0x1c
if-gt v0, v4, :cond_0
:try_start_0
const-class v0, Landroid/widget/PopupWindow;
const-string v4, "setClipToScreenEnabled"
new-array v5, v2, [Ljava/lang/Class;
sget-object v6, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
aput-object v6, v5, v1
invoke-virtual {v0, v4, v5}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Landroidx/appcompat/widget/ListPopupWindow;->sSetClipToWindowEnabledMethod:Ljava/lang/reflect/Method;
:try_end_0
.catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
const-string v0, "Could not find method setClipToScreenEnabled() on PopupWindow. Oh well."
invoke-static {v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:goto_0
:try_start_1
const-class v0, Landroid/widget/PopupWindow;
const-string v4, "setEpicenterBounds"
new-array v5, v2, [Ljava/lang/Class;
const-class v6, Landroid/graphics/Rect;
aput-object v6, v5, v1
invoke-virtual {v0, v4, v5}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Landroidx/appcompat/widget/ListPopupWindow;->sSetEpicenterBoundsMethod:Ljava/lang/reflect/Method;
:try_end_1
.catch Ljava/lang/NoSuchMethodException; {:try_start_1 .. :try_end_1} :catch_1
goto :goto_1
:catch_1
const-string v0, "Could not find method setEpicenterBounds(Rect) on PopupWindow. Oh well."
invoke-static {v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_0
:goto_1
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v4, 0x17
if-gt v0, v4, :cond_1
:try_start_2
const-class v0, Landroid/widget/PopupWindow;
const-string v4, "getMaxAvailableHeight"
const/4 v5, 0x3
new-array v5, v5, [Ljava/lang/Class;
const-class v6, Landroid/view/View;
aput-object v6, v5, v1
sget-object v1, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v1, v5, v2
const/4 v1, 0x2
sget-object v2, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
aput-object v2, v5, v1
invoke-virtual {v0, v4, v5}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v0
sput-object v0, Landroidx/appcompat/widget/ListPopupWindow;->sGetMaxAvailableHeightMethod:Ljava/lang/reflect/Method;
:try_end_2
.catch Ljava/lang/NoSuchMethodException; {:try_start_2 .. :try_end_2} :catch_2
goto :goto_2
:catch_2
const-string v0, "Could not find method getMaxAvailableHeight(View, int, boolean) on PopupWindow. Oh well."
invoke-static {v3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_1
:goto_2
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 2
.param p1 # Landroid/content/Context;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
sget v0, Landroidx/appcompat/R$attr;->listPopupWindowStyle:I
const/4 v1, 0x0
invoke-direct {p0, p1, v1, v0}, Landroidx/appcompat/widget/ListPopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;)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
sget v0, Landroidx/appcompat/R$attr;->listPopupWindowStyle:I
invoke-direct {p0, p1, p2, v0}, Landroidx/appcompat/widget/ListPopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
return-void
.end method
.method public constructor <init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
.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
const/4 v0, 0x0
invoke-direct {p0, p1, p2, p3, v0}, Landroidx/appcompat/widget/ListPopupWindow;-><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 3
.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}, Ljava/lang/Object;-><init>()V
const/4 v0, -0x2
iput v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHeight:I
iput v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
const/16 v0, 0x3ea
iput v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWindowLayoutType:I
const/4 v0, 0x0
iput v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownGravity:I
iput-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAlwaysVisible:Z
iput-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mForceIgnoreOutsideTouch:Z
const v1, 0x7fffffff
iput v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mListItemExpandMaximum:I
iput v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptPosition:I
new-instance v1, Landroidx/appcompat/widget/ListPopupWindow$ResizePopupRunnable;
invoke-direct {v1, p0}, Landroidx/appcompat/widget/ListPopupWindow$ResizePopupRunnable;-><init>(Landroidx/appcompat/widget/ListPopupWindow;)V
iput-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mResizePopupRunnable:Landroidx/appcompat/widget/ListPopupWindow$ResizePopupRunnable;
new-instance v1, Landroidx/appcompat/widget/ListPopupWindow$PopupTouchInterceptor;
invoke-direct {v1, p0}, Landroidx/appcompat/widget/ListPopupWindow$PopupTouchInterceptor;-><init>(Landroidx/appcompat/widget/ListPopupWindow;)V
iput-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTouchInterceptor:Landroidx/appcompat/widget/ListPopupWindow$PopupTouchInterceptor;
new-instance v1, Landroidx/appcompat/widget/ListPopupWindow$PopupScrollListener;
invoke-direct {v1, p0}, Landroidx/appcompat/widget/ListPopupWindow$PopupScrollListener;-><init>(Landroidx/appcompat/widget/ListPopupWindow;)V
iput-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mScrollListener:Landroidx/appcompat/widget/ListPopupWindow$PopupScrollListener;
new-instance v1, Landroidx/appcompat/widget/ListPopupWindow$ListSelectorHider;
invoke-direct {v1, p0}, Landroidx/appcompat/widget/ListPopupWindow$ListSelectorHider;-><init>(Landroidx/appcompat/widget/ListPopupWindow;)V
iput-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mHideSelector:Landroidx/appcompat/widget/ListPopupWindow$ListSelectorHider;
new-instance v1, Landroid/graphics/Rect;
invoke-direct {v1}, Landroid/graphics/Rect;-><init>()V
iput-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
iput-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mContext:Landroid/content/Context;
new-instance v1, Landroid/os/Handler;
invoke-virtual {p1}, Landroid/content/Context;->getMainLooper()Landroid/os/Looper;
move-result-object v2
invoke-direct {v1, v2}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
iput-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mHandler:Landroid/os/Handler;
sget-object v1, Landroidx/appcompat/R$styleable;->ListPopupWindow:[I
invoke-virtual {p1, p2, v1, p3, p4}, Landroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
move-result-object v1
sget v2, Landroidx/appcompat/R$styleable;->ListPopupWindow_android_dropDownHorizontalOffset:I
invoke-virtual {v1, v2, v0}, Landroid/content/res/TypedArray;->getDimensionPixelOffset(II)I
move-result v2
iput v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHorizontalOffset:I
sget v2, Landroidx/appcompat/R$styleable;->ListPopupWindow_android_dropDownVerticalOffset:I
invoke-virtual {v1, v2, v0}, Landroid/content/res/TypedArray;->getDimensionPixelOffset(II)I
move-result v0
iput v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffset:I
const/4 v2, 0x1
if-eqz v0, :cond_0
iput-boolean v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffsetSet:Z
:cond_0
invoke-virtual {v1}, Landroid/content/res/TypedArray;->recycle()V
new-instance v0, Landroidx/appcompat/widget/AppCompatPopupWindow;
invoke-direct {v0, p1, p2, p3, p4}, Landroidx/appcompat/widget/AppCompatPopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
iput-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, v2}, Landroid/widget/PopupWindow;->setInputMethodMode(I)V
return-void
.end method
.method private buildDropDown()I
.locals 11
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
const/high16 v1, -0x80000000
const/4 v2, -0x1
const/4 v3, 0x1
const/4 v4, 0x0
if-nez v0, :cond_6
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mContext:Landroid/content/Context;
new-instance v5, Landroidx/appcompat/widget/ListPopupWindow$2;
invoke-direct {v5, p0}, Landroidx/appcompat/widget/ListPopupWindow$2;-><init>(Landroidx/appcompat/widget/ListPopupWindow;)V
iput-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mShowDropDownRunnable:Ljava/lang/Runnable;
iget-boolean v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mModal:Z
xor-int/2addr v5, v3
invoke-virtual {p0, v0, v5}, Landroidx/appcompat/widget/ListPopupWindow;->createDropDownListView(Landroid/content/Context;Z)Landroidx/appcompat/widget/DropDownListView;
move-result-object v5
iput-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
iget-object v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownListHighlight:Landroid/graphics/drawable/Drawable;
if-eqz v6, :cond_0
invoke-virtual {v5, v6}, Landroidx/appcompat/widget/DropDownListView;->setSelector(Landroid/graphics/drawable/Drawable;)V
:cond_0
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
iget-object v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mAdapter:Landroid/widget/ListAdapter;
invoke-virtual {v5, v6}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
iget-object v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
invoke-virtual {v5, v6}, Landroid/widget/ListView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v5, v3}, Landroid/widget/ListView;->setFocusable(Z)V
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v5, v3}, Landroid/widget/ListView;->setFocusableInTouchMode(Z)V
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
new-instance v6, Landroidx/appcompat/widget/ListPopupWindow$3;
invoke-direct {v6, p0}, Landroidx/appcompat/widget/ListPopupWindow$3;-><init>(Landroidx/appcompat/widget/ListPopupWindow;)V
invoke-virtual {v5, v6}, Landroid/widget/ListView;->setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
iget-object v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mScrollListener:Landroidx/appcompat/widget/ListPopupWindow$PopupScrollListener;
invoke-virtual {v5, v6}, Landroid/widget/ListView;->setOnScrollListener(Landroid/widget/AbsListView$OnScrollListener;)V
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mItemSelectedListener:Landroid/widget/AdapterView$OnItemSelectedListener;
if-eqz v5, :cond_1
iget-object v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v6, v5}, Landroid/widget/ListView;->setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V
:cond_1
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
iget-object v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptView:Landroid/view/View;
if-eqz v6, :cond_5
new-instance v7, Landroid/widget/LinearLayout;
invoke-direct {v7, v0}, Landroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V
invoke-virtual {v7, v3}, Landroid/widget/LinearLayout;->setOrientation(I)V
new-instance v0, Landroid/widget/LinearLayout$LayoutParams;
const/high16 v8, 0x3f800000 # 1.0f
invoke-direct {v0, v2, v4, v8}, Landroid/widget/LinearLayout$LayoutParams;-><init>(IIF)V
iget v8, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptPosition:I
if-eqz v8, :cond_3
if-eq v8, v3, :cond_2
const-string v0, "Invalid hint position "
invoke-static {v0}, Lf/e/c/a/a;->F(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptPosition:I
invoke-virtual {v0, v5}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
const-string v5, "ListPopupWindow"
invoke-static {v5, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_0
:cond_2
invoke-virtual {v7, v5, v0}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
invoke-virtual {v7, v6}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
goto :goto_0
:cond_3
invoke-virtual {v7, v6}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
invoke-virtual {v7, v5, v0}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
:goto_0
iget v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
if-ltz v0, :cond_4
const/high16 v5, -0x80000000
goto :goto_1
:cond_4
const/4 v0, 0x0
const/4 v5, 0x0
:goto_1
invoke-static {v0, v5}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v0
invoke-virtual {v6, v0, v4}, Landroid/view/View;->measure(II)V
invoke-virtual {v6}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v0
check-cast v0, Landroid/widget/LinearLayout$LayoutParams;
invoke-virtual {v6}, Landroid/view/View;->getMeasuredHeight()I
move-result v4
iget v5, v0, Landroid/widget/LinearLayout$LayoutParams;->topMargin:I
add-int/2addr v4, v5
iget v0, v0, Landroid/widget/LinearLayout$LayoutParams;->bottomMargin:I
add-int/2addr v4, v0
move-object v5, v7
goto :goto_2
:cond_5
const/4 v4, 0x0
:goto_2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, v5}, Landroid/widget/PopupWindow;->setContentView(Landroid/view/View;)V
goto :goto_3
:cond_6
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->getContentView()Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/view/ViewGroup;
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptView:Landroid/view/View;
if-eqz v0, :cond_7
invoke-virtual {v0}, Landroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
move-result-object v4
check-cast v4, Landroid/widget/LinearLayout$LayoutParams;
invoke-virtual {v0}, Landroid/view/View;->getMeasuredHeight()I
move-result v0
iget v5, v4, Landroid/widget/LinearLayout$LayoutParams;->topMargin:I
add-int/2addr v0, v5
iget v4, v4, Landroid/widget/LinearLayout$LayoutParams;->bottomMargin:I
add-int/2addr v4, v0
goto :goto_3
:cond_7
const/4 v4, 0x0
:goto_3
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :cond_8
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v0, v5}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
iget v5, v0, Landroid/graphics/Rect;->top:I
iget v0, v0, Landroid/graphics/Rect;->bottom:I
add-int/2addr v0, v5
iget-boolean v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffsetSet:Z
if-nez v6, :cond_9
neg-int v5, v5
iput v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffset:I
goto :goto_4
:cond_8
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v0}, Landroid/graphics/Rect;->setEmpty()V
const/4 v0, 0x0
:cond_9
:goto_4
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v5}, Landroid/widget/PopupWindow;->getInputMethodMode()I
move-result v5
const/4 v6, 0x2
if-ne v5, v6, :cond_a
goto :goto_5
:cond_a
const/4 v3, 0x0
:goto_5
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->getAnchorView()Landroid/view/View;
move-result-object v5
iget v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffset:I
invoke-direct {p0, v5, v6, v3}, Landroidx/appcompat/widget/ListPopupWindow;->getMaxAvailableHeight(Landroid/view/View;IZ)I
move-result v3
iget-boolean v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAlwaysVisible:Z
if-nez v5, :cond_f
iget v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHeight:I
if-ne v5, v2, :cond_b
goto :goto_7
:cond_b
iget v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
const/4 v6, -0x2
if-eq v5, v6, :cond_d
const/high16 v1, 0x40000000 # 2.0f
if-eq v5, v2, :cond_c
invoke-static {v5, v1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v1
goto :goto_6
:cond_c
iget-object v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
iget v2, v2, Landroid/util/DisplayMetrics;->widthPixels:I
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
iget v6, v5, Landroid/graphics/Rect;->left:I
iget v5, v5, Landroid/graphics/Rect;->right:I
add-int/2addr v6, v5
sub-int/2addr v2, v6
invoke-static {v2, v1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v1
goto :goto_6
:cond_d
iget-object v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mContext:Landroid/content/Context;
invoke-virtual {v2}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v2
invoke-virtual {v2}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics;
move-result-object v2
iget v2, v2, Landroid/util/DisplayMetrics;->widthPixels:I
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
iget v6, v5, Landroid/graphics/Rect;->left:I
iget v5, v5, Landroid/graphics/Rect;->right:I
add-int/2addr v6, v5
sub-int/2addr v2, v6
invoke-static {v2, v1}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v1
:goto_6
move v6, v1
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
const/4 v7, 0x0
const/4 v8, -0x1
sub-int v9, v3, v4
const/4 v10, -0x1
invoke-virtual/range {v5 .. v10}, Landroidx/appcompat/widget/DropDownListView;->measureHeightOfChildrenCompat(IIIII)I
move-result v1
if-lez v1, :cond_e
iget-object v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v2}, Landroid/widget/ListView;->getPaddingTop()I
move-result v2
iget-object v3, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v3}, Landroid/widget/ListView;->getPaddingBottom()I
move-result v3
add-int/2addr v3, v2
add-int/2addr v3, v0
add-int/2addr v4, v3
:cond_e
add-int/2addr v1, v4
return v1
:cond_f
:goto_7
add-int/2addr v3, v0
return v3
.end method
.method private getMaxAvailableHeight(Landroid/view/View;IZ)I
.locals 5
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x17
if-gt v0, v1, :cond_1
sget-object v0, Landroidx/appcompat/widget/ListPopupWindow;->sGetMaxAvailableHeightMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_0
:try_start_0
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
const/4 v2, 0x3
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const/4 v3, 0x1
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v4
aput-object v4, v2, v3
const/4 v3, 0x2
invoke-static {p3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p3
aput-object p3, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p3
check-cast p3, Ljava/lang/Integer;
invoke-virtual {p3}, Ljava/lang/Integer;->intValue()I
move-result p1
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return p1
:catch_0
const-string p3, "ListPopupWindow"
const-string v0, "Could not call getMaxAvailableHeightMethod(View, int, boolean) on PopupWindow. Using the public version."
invoke-static {p3, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
:cond_0
iget-object p3, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {p3, p1, p2}, Landroid/widget/PopupWindow;->getMaxAvailableHeight(Landroid/view/View;I)I
move-result p1
return p1
:cond_1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, p1, p2, p3}, Landroid/widget/PopupWindow;->getMaxAvailableHeight(Landroid/view/View;IZ)I
move-result p1
return p1
.end method
.method public static isConfirmKey(I)Z
.locals 1
const/16 v0, 0x42
if-eq p0, v0, :cond_1
const/16 v0, 0x17
if-ne p0, v0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
goto :goto_1
:cond_1
:goto_0
const/4 p0, 0x1
:goto_1
return p0
.end method
.method private removePromptView()V
.locals 2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptView:Landroid/view/View;
if-eqz v0, :cond_0
invoke-virtual {v0}, Landroid/view/View;->getParent()Landroid/view/ViewParent;
move-result-object v0
instance-of v1, v0, Landroid/view/ViewGroup;
if-eqz v1, :cond_0
check-cast v0, Landroid/view/ViewGroup;
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptView:Landroid/view/View;
invoke-virtual {v0, v1}, Landroid/view/ViewGroup;->removeView(Landroid/view/View;)V
:cond_0
return-void
.end method
.method private setPopupClipToScreenEnabled(Z)V
.locals 4
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-gt v0, v1, :cond_0
sget-object v0, Landroidx/appcompat/widget/ListPopupWindow;->sSetClipToWindowEnabledMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_1
:try_start_0
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p1
aput-object p1, v2, v3
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
const-string p1, "ListPopupWindow"
const-string v0, "Could not call setClipToScreenEnabled() on PopupWindow. Oh well."
invoke-static {p1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
goto :goto_0
:cond_0
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, p1}, Landroid/widget/PopupWindow;->setIsClippedToScreen(Z)V
:cond_1
:goto_0
return-void
.end method
# virtual methods
.method public clearListSelection()V
.locals 2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
if-eqz v0, :cond_0
const/4 v1, 0x1
invoke-virtual {v0, v1}, Landroidx/appcompat/widget/DropDownListView;->setListSelectionHidden(Z)V
invoke-virtual {v0}, Landroid/widget/ListView;->requestLayout()V
:cond_0
return-void
.end method
.method public createDragToOpenListener(Landroid/view/View;)Landroid/view/View$OnTouchListener;
.locals 1
new-instance v0, Landroidx/appcompat/widget/ListPopupWindow$1;
invoke-direct {v0, p0, p1}, Landroidx/appcompat/widget/ListPopupWindow$1;-><init>(Landroidx/appcompat/widget/ListPopupWindow;Landroid/view/View;)V
return-object v0
.end method
.method public createDropDownListView(Landroid/content/Context;Z)Landroidx/appcompat/widget/DropDownListView;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
new-instance v0, Landroidx/appcompat/widget/DropDownListView;
invoke-direct {v0, p1, p2}, Landroidx/appcompat/widget/DropDownListView;-><init>(Landroid/content/Context;Z)V
return-object v0
.end method
.method public dismiss()V
.locals 2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->dismiss()V
invoke-direct {p0}, Landroidx/appcompat/widget/ListPopupWindow;->removePromptView()V
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;->setContentView(Landroid/view/View;)V
iput-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mResizePopupRunnable:Landroidx/appcompat/widget/ListPopupWindow$ResizePopupRunnable;
invoke-virtual {v0, v1}, Landroid/os/Handler;->removeCallbacks(Ljava/lang/Runnable;)V
return-void
.end method
.method public getAnchorView()Landroid/view/View;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAnchorView:Landroid/view/View;
return-object v0
.end method
.method public getAnimationStyle()I
.locals 1
.annotation build Landroidx/annotation/StyleRes;
.end annotation
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->getAnimationStyle()I
move-result v0
return v0
.end method
.method public getBackground()Landroid/graphics/drawable/Drawable;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
return-object v0
.end method
.method public getEpicenterBounds()Landroid/graphics/Rect;
.locals 2
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mEpicenterBounds:Landroid/graphics/Rect;
if-eqz v0, :cond_0
new-instance v0, Landroid/graphics/Rect;
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mEpicenterBounds:Landroid/graphics/Rect;
invoke-direct {v0, v1}, Landroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return-object v0
.end method
.method public getHeight()I
.locals 1
iget v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHeight:I
return v0
.end method
.method public getHorizontalOffset()I
.locals 1
iget v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHorizontalOffset:I
return v0
.end method
.method public getInputMethodMode()I
.locals 1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->getInputMethodMode()I
move-result v0
return v0
.end method
.method public getListView()Landroid/widget/ListView;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
return-object v0
.end method
.method public getPromptPosition()I
.locals 1
iget v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptPosition:I
return v0
.end method
.method public getSelectedItem()Ljava/lang/Object;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x0
return-object v0
:cond_0
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedItem()Ljava/lang/Object;
move-result-object v0
return-object v0
.end method
.method public getSelectedItemId()J
.locals 2
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v0
if-nez v0, :cond_0
const-wide/high16 v0, -0x8000000000000000L
return-wide v0
:cond_0
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedItemId()J
move-result-wide v0
return-wide v0
.end method
.method public getSelectedItemPosition()I
.locals 1
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v0
if-nez v0, :cond_0
const/4 v0, -0x1
return v0
:cond_0
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedItemPosition()I
move-result v0
return v0
.end method
.method public getSelectedView()Landroid/view/View;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x0
return-object v0
:cond_0
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedView()Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method public getSoftInputMode()I
.locals 1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->getSoftInputMode()I
move-result v0
return v0
.end method
.method public getVerticalOffset()I
.locals 1
iget-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffsetSet:Z
if-nez v0, :cond_0
const/4 v0, 0x0
return v0
:cond_0
iget v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffset:I
return v0
.end method
.method public getWidth()I
.locals 1
iget v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
return v0
.end method
.method public isDropDownAlwaysVisible()Z
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iget-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAlwaysVisible:Z
return v0
.end method
.method public isInputMethodNotNeeded()Z
.locals 2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->getInputMethodMode()I
move-result v0
const/4 v1, 0x2
if-ne v0, v1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public isModal()Z
.locals 1
iget-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mModal:Z
return v0
.end method
.method public isShowing()Z
.locals 1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->isShowing()Z
move-result v0
return v0
.end method
.method public onKeyDown(ILandroid/view/KeyEvent;)Z
.locals 9
.param p2 # Landroid/view/KeyEvent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_a
const/16 v0, 0x3e
if-eq p1, v0, :cond_a
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedItemPosition()I
move-result v0
if-gez v0, :cond_0
invoke-static {p1}, Landroidx/appcompat/widget/ListPopupWindow;->isConfirmKey(I)Z
move-result v0
if-nez v0, :cond_a
:cond_0
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedItemPosition()I
move-result v0
iget-object v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v2}, Landroid/widget/PopupWindow;->isAboveAnchor()Z
move-result v2
const/4 v3, 0x1
xor-int/2addr v2, v3
iget-object v4, p0, Landroidx/appcompat/widget/ListPopupWindow;->mAdapter:Landroid/widget/ListAdapter;
const v5, 0x7fffffff
const/high16 v6, -0x80000000
if-eqz v4, :cond_3
invoke-interface {v4}, Landroid/widget/ListAdapter;->areAllItemsEnabled()Z
move-result v5
if-eqz v5, :cond_1
const/4 v6, 0x0
goto :goto_0
:cond_1
iget-object v6, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v6, v1, v3}, Landroidx/appcompat/widget/DropDownListView;->lookForSelectablePosition(IZ)I
move-result v6
:goto_0
if-eqz v5, :cond_2
invoke-interface {v4}, Landroid/widget/ListAdapter;->getCount()I
move-result v4
sub-int/2addr v4, v3
goto :goto_1
:cond_2
iget-object v5, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-interface {v4}, Landroid/widget/ListAdapter;->getCount()I
move-result v4
sub-int/2addr v4, v3
invoke-virtual {v5, v4, v1}, Landroidx/appcompat/widget/DropDownListView;->lookForSelectablePosition(IZ)I
move-result v4
:goto_1
move v5, v6
move v6, v4
:cond_3
const/16 v4, 0x13
if-eqz v2, :cond_4
if-ne p1, v4, :cond_4
if-le v0, v5, :cond_5
:cond_4
const/16 v7, 0x14
if-nez v2, :cond_6
if-ne p1, v7, :cond_6
if-lt v0, v6, :cond_6
:cond_5
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->clearListSelection()V
iget-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {p1, v3}, Landroid/widget/PopupWindow;->setInputMethodMode(I)V
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->show()V
return v3
:cond_6
iget-object v8, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v8, v1}, Landroidx/appcompat/widget/DropDownListView;->setListSelectionHidden(Z)V
iget-object v8, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v8, p1, p2}, Landroid/widget/ListView;->onKeyDown(ILandroid/view/KeyEvent;)Z
move-result p2
if-eqz p2, :cond_8
iget-object p2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
const/4 v0, 0x2
invoke-virtual {p2, v0}, Landroid/widget/PopupWindow;->setInputMethodMode(I)V
iget-object p2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {p2}, Landroid/widget/ListView;->requestFocusFromTouch()Z
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->show()V
if-eq p1, v4, :cond_7
if-eq p1, v7, :cond_7
const/16 p2, 0x17
if-eq p1, p2, :cond_7
const/16 p2, 0x42
if-eq p1, p2, :cond_7
goto :goto_2
:cond_7
return v3
:cond_8
if-eqz v2, :cond_9
if-ne p1, v7, :cond_9
if-ne v0, v6, :cond_a
return v3
:cond_9
if-nez v2, :cond_a
if-ne p1, v4, :cond_a
if-ne v0, v5, :cond_a
return v3
:cond_a
:goto_2
return v1
.end method
.method public onKeyPreIme(ILandroid/view/KeyEvent;)Z
.locals 2
.param p2 # Landroid/view/KeyEvent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
const/4 v0, 0x4
if-ne p1, v0, :cond_3
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result p1
if-eqz p1, :cond_3
iget-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAnchorView:Landroid/view/View;
invoke-virtual {p2}, Landroid/view/KeyEvent;->getAction()I
move-result v0
const/4 v1, 0x1
if-nez v0, :cond_1
invoke-virtual {p2}, Landroid/view/KeyEvent;->getRepeatCount()I
move-result v0
if-nez v0, :cond_1
invoke-virtual {p1}, Landroid/view/View;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState;
move-result-object p1
if-eqz p1, :cond_0
invoke-virtual {p1, p2, p0}, Landroid/view/KeyEvent$DispatcherState;->startTracking(Landroid/view/KeyEvent;Ljava/lang/Object;)V
:cond_0
return v1
:cond_1
invoke-virtual {p2}, Landroid/view/KeyEvent;->getAction()I
move-result v0
if-ne v0, v1, :cond_3
invoke-virtual {p1}, Landroid/view/View;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState;
move-result-object p1
if-eqz p1, :cond_2
invoke-virtual {p1, p2}, Landroid/view/KeyEvent$DispatcherState;->handleUpEvent(Landroid/view/KeyEvent;)V
:cond_2
invoke-virtual {p2}, Landroid/view/KeyEvent;->isTracking()Z
move-result p1
if-eqz p1, :cond_3
invoke-virtual {p2}, Landroid/view/KeyEvent;->isCanceled()Z
move-result p1
if-nez p1, :cond_3
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->dismiss()V
return v1
:cond_3
const/4 p1, 0x0
return p1
.end method
.method public onKeyUp(ILandroid/view/KeyEvent;)Z
.locals 1
.param p2 # Landroid/view/KeyEvent;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0}, Landroid/widget/ListView;->getSelectedItemPosition()I
move-result v0
if-ltz v0, :cond_1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0, p1, p2}, Landroid/widget/ListView;->onKeyUp(ILandroid/view/KeyEvent;)Z
move-result p2
if-eqz p2, :cond_0
invoke-static {p1}, Landroidx/appcompat/widget/ListPopupWindow;->isConfirmKey(I)Z
move-result p1
if-eqz p1, :cond_0
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->dismiss()V
:cond_0
return p2
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public performItemClick(I)Z
.locals 7
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v0
if-eqz v0, :cond_1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
if-eqz v0, :cond_0
iget-object v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v2}, Landroid/widget/ListView;->getFirstVisiblePosition()I
move-result v0
sub-int v0, p1, v0
invoke-virtual {v2, v0}, Landroid/widget/ListView;->getChildAt(I)Landroid/view/View;
move-result-object v3
invoke-virtual {v2}, Landroid/widget/ListView;->getAdapter()Landroid/widget/ListAdapter;
move-result-object v0
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
invoke-interface {v0, p1}, Landroid/widget/ListAdapter;->getItemId(I)J
move-result-wide v5
move v4, p1
invoke-interface/range {v1 .. v6}, Landroid/widget/AdapterView$OnItemClickListener;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
:cond_0
const/4 p1, 0x1
return p1
:cond_1
const/4 p1, 0x0
return p1
.end method
.method public postShow()V
.locals 2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mShowDropDownRunnable:Ljava/lang/Runnable;
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
return-void
.end method
.method public setAdapter(Landroid/widget/ListAdapter;)V
.locals 2
.param p1 # Landroid/widget/ListAdapter;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mObserver:Landroid/database/DataSetObserver;
if-nez v0, :cond_0
new-instance v0, Landroidx/appcompat/widget/ListPopupWindow$PopupDataSetObserver;
invoke-direct {v0, p0}, Landroidx/appcompat/widget/ListPopupWindow$PopupDataSetObserver;-><init>(Landroidx/appcompat/widget/ListPopupWindow;)V
iput-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mObserver:Landroid/database/DataSetObserver;
goto :goto_0
:cond_0
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mAdapter:Landroid/widget/ListAdapter;
if-eqz v1, :cond_1
invoke-interface {v1, v0}, Landroid/widget/ListAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
:cond_1
:goto_0
iput-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mAdapter:Landroid/widget/ListAdapter;
if-eqz p1, :cond_2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mObserver:Landroid/database/DataSetObserver;
invoke-interface {p1, v0}, Landroid/widget/ListAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
:cond_2
iget-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
if-eqz p1, :cond_3
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mAdapter:Landroid/widget/ListAdapter;
invoke-virtual {p1, v0}, Landroid/widget/ListView;->setAdapter(Landroid/widget/ListAdapter;)V
:cond_3
return-void
.end method
.method public setAnchorView(Landroid/view/View;)V
.locals 0
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iput-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAnchorView:Landroid/view/View;
return-void
.end method
.method public setAnimationStyle(I)V
.locals 1
.param p1 # I
.annotation build Landroidx/annotation/StyleRes;
.end annotation
.end param
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, p1}, Landroid/widget/PopupWindow;->setAnimationStyle(I)V
return-void
.end method
.method public setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
.locals 1
.param p1 # Landroid/graphics/drawable/Drawable;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, p1}, Landroid/widget/PopupWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
return-void
.end method
.method public setContentWidth(I)V
.locals 2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0}, Landroid/widget/PopupWindow;->getBackground()Landroid/graphics/drawable/Drawable;
move-result-object v0
if-eqz v0, :cond_0
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
invoke-virtual {v0, v1}, Landroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTempRect:Landroid/graphics/Rect;
iget v1, v0, Landroid/graphics/Rect;->left:I
iget v0, v0, Landroid/graphics/Rect;->right:I
add-int/2addr v1, v0
add-int/2addr v1, p1
iput v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
goto :goto_0
:cond_0
invoke-virtual {p0, p1}, Landroidx/appcompat/widget/ListPopupWindow;->setWidth(I)V
:goto_0
return-void
.end method
.method public setDropDownAlwaysVisible(Z)V
.locals 0
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iput-boolean p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAlwaysVisible:Z
return-void
.end method
.method public setDropDownGravity(I)V
.locals 0
iput p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownGravity:I
return-void
.end method
.method public setEpicenterBounds(Landroid/graphics/Rect;)V
.locals 1
.param p1 # Landroid/graphics/Rect;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
if-eqz p1, :cond_0
new-instance v0, Landroid/graphics/Rect;
invoke-direct {v0, p1}, Landroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
iput-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mEpicenterBounds:Landroid/graphics/Rect;
return-void
.end method
.method public setForceIgnoreOutsideTouch(Z)V
.locals 0
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
iput-boolean p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mForceIgnoreOutsideTouch:Z
return-void
.end method
.method public setHeight(I)V
.locals 1
if-gez p1, :cond_1
const/4 v0, -0x2
if-eq v0, p1, :cond_1
const/4 v0, -0x1
if-ne v0, p1, :cond_0
goto :goto_0
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string v0, "Invalid height. Must be a positive value, MATCH_PARENT, or WRAP_CONTENT."
invoke-direct {p1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
:cond_1
:goto_0
iput p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHeight:I
return-void
.end method
.method public setHorizontalOffset(I)V
.locals 0
iput p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHorizontalOffset:I
return-void
.end method
.method public setInputMethodMode(I)V
.locals 1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, p1}, Landroid/widget/PopupWindow;->setInputMethodMode(I)V
return-void
.end method
.method public setListItemExpandMax(I)V
.locals 0
iput p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mListItemExpandMaximum:I
return-void
.end method
.method public setListSelector(Landroid/graphics/drawable/Drawable;)V
.locals 0
iput-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownListHighlight:Landroid/graphics/drawable/Drawable;
return-void
.end method
.method public setModal(Z)V
.locals 1
iput-boolean p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mModal:Z
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, p1}, Landroid/widget/PopupWindow;->setFocusable(Z)V
return-void
.end method
.method public setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
.locals 1
.param p1 # Landroid/widget/PopupWindow$OnDismissListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, p1}, Landroid/widget/PopupWindow;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
return-void
.end method
.method public setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
.locals 0
.param p1 # Landroid/widget/AdapterView$OnItemClickListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iput-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mItemClickListener:Landroid/widget/AdapterView$OnItemClickListener;
return-void
.end method
.method public setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V
.locals 0
.param p1 # Landroid/widget/AdapterView$OnItemSelectedListener;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iput-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mItemSelectedListener:Landroid/widget/AdapterView$OnItemSelectedListener;
return-void
.end method
.method public setOverlapAnchor(Z)V
.locals 1
.annotation build Landroidx/annotation/RestrictTo;
value = {
.enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope;
}
.end annotation
const/4 v0, 0x1
iput-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mOverlapAnchorSet:Z
iput-boolean p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mOverlapAnchor:Z
return-void
.end method
.method public setPromptPosition(I)V
.locals 0
iput p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptPosition:I
return-void
.end method
.method public setPromptView(Landroid/view/View;)V
.locals 1
.param p1 # Landroid/view/View;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v0
if-eqz v0, :cond_0
invoke-direct {p0}, Landroidx/appcompat/widget/ListPopupWindow;->removePromptView()V
:cond_0
iput-object p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPromptView:Landroid/view/View;
if-eqz v0, :cond_1
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->show()V
:cond_1
return-void
.end method
.method public setSelection(I)V
.locals 2
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isShowing()Z
move-result v1
if-eqz v1, :cond_0
if-eqz v0, :cond_0
const/4 v1, 0x0
invoke-virtual {v0, v1}, Landroidx/appcompat/widget/DropDownListView;->setListSelectionHidden(Z)V
invoke-virtual {v0, p1}, Landroid/widget/ListView;->setSelection(I)V
invoke-virtual {v0}, Landroid/widget/ListView;->getChoiceMode()I
move-result v1
if-eqz v1, :cond_0
const/4 v1, 0x1
invoke-virtual {v0, p1, v1}, Landroid/widget/ListView;->setItemChecked(IZ)V
:cond_0
return-void
.end method
.method public setSoftInputMode(I)V
.locals 1
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v0, p1}, Landroid/widget/PopupWindow;->setSoftInputMode(I)V
return-void
.end method
.method public setVerticalOffset(I)V
.locals 0
iput p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffset:I
const/4 p1, 0x1
iput-boolean p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffsetSet:Z
return-void
.end method
.method public setWidth(I)V
.locals 0
iput p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
return-void
.end method
.method public setWindowLayoutType(I)V
.locals 0
iput p1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWindowLayoutType:I
return-void
.end method
.method public show()V
.locals 13
invoke-direct {p0}, Landroidx/appcompat/widget/ListPopupWindow;->buildDropDown()I
move-result v0
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->isInputMethodNotNeeded()Z
move-result v1
iget-object v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
iget v3, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWindowLayoutType:I
invoke-static {v2, v3}, Landroidx/core/widget/PopupWindowCompat;->setWindowLayoutType(Landroid/widget/PopupWindow;I)V
iget-object v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v2}, Landroid/widget/PopupWindow;->isShowing()Z
move-result v2
const/4 v3, 0x1
const/4 v4, -0x2
const/4 v5, 0x0
const/4 v6, -0x1
if-eqz v2, :cond_c
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->getAnchorView()Landroid/view/View;
move-result-object v2
invoke-static {v2}, Landroidx/core/view/ViewCompat;->isAttachedToWindow(Landroid/view/View;)Z
move-result v2
if-nez v2, :cond_0
return-void
:cond_0
iget v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
if-ne v2, v6, :cond_1
const/4 v2, -0x1
goto :goto_0
:cond_1
if-ne v2, v4, :cond_2
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->getAnchorView()Landroid/view/View;
move-result-object v2
invoke-virtual {v2}, Landroid/view/View;->getWidth()I
move-result v2
:cond_2
:goto_0
iget v7, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHeight:I
if-ne v7, v6, :cond_7
if-eqz v1, :cond_3
goto :goto_1
:cond_3
const/4 v0, -0x1
:goto_1
if-eqz v1, :cond_5
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
iget v4, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
if-ne v4, v6, :cond_4
const/4 v4, -0x1
goto :goto_2
:cond_4
const/4 v4, 0x0
:goto_2
invoke-virtual {v1, v4}, Landroid/widget/PopupWindow;->setWidth(I)V
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v1, v5}, Landroid/widget/PopupWindow;->setHeight(I)V
goto :goto_4
:cond_5
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
iget v4, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
if-ne v4, v6, :cond_6
const/4 v4, -0x1
goto :goto_3
:cond_6
const/4 v4, 0x0
:goto_3
invoke-virtual {v1, v4}, Landroid/widget/PopupWindow;->setWidth(I)V
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v1, v6}, Landroid/widget/PopupWindow;->setHeight(I)V
goto :goto_4
:cond_7
if-ne v7, v4, :cond_8
goto :goto_4
:cond_8
move v0, v7
:goto_4
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
iget-boolean v4, p0, Landroidx/appcompat/widget/ListPopupWindow;->mForceIgnoreOutsideTouch:Z
if-nez v4, :cond_9
iget-boolean v4, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAlwaysVisible:Z
if-nez v4, :cond_9
goto :goto_5
:cond_9
const/4 v3, 0x0
:goto_5
invoke-virtual {v1, v3}, Landroid/widget/PopupWindow;->setOutsideTouchable(Z)V
iget-object v7, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->getAnchorView()Landroid/view/View;
move-result-object v8
iget v9, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHorizontalOffset:I
iget v10, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffset:I
if-gez v2, :cond_a
const/4 v11, -0x1
goto :goto_6
:cond_a
move v11, v2
:goto_6
if-gez v0, :cond_b
const/4 v12, -0x1
goto :goto_7
:cond_b
move v12, v0
:goto_7
invoke-virtual/range {v7 .. v12}, Landroid/widget/PopupWindow;->update(Landroid/view/View;IIII)V
goto/16 :goto_c
:cond_c
iget v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownWidth:I
if-ne v1, v6, :cond_d
const/4 v1, -0x1
goto :goto_8
:cond_d
if-ne v1, v4, :cond_e
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->getAnchorView()Landroid/view/View;
move-result-object v1
invoke-virtual {v1}, Landroid/view/View;->getWidth()I
move-result v1
:cond_e
:goto_8
iget v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHeight:I
if-ne v2, v6, :cond_f
const/4 v0, -0x1
goto :goto_9
:cond_f
if-ne v2, v4, :cond_10
goto :goto_9
:cond_10
move v0, v2
:goto_9
iget-object v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v2, v1}, Landroid/widget/PopupWindow;->setWidth(I)V
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {v1, v0}, Landroid/widget/PopupWindow;->setHeight(I)V
invoke-direct {p0, v3}, Landroidx/appcompat/widget/ListPopupWindow;->setPopupClipToScreenEnabled(Z)V
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
iget-boolean v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mForceIgnoreOutsideTouch:Z
if-nez v1, :cond_11
iget-boolean v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownAlwaysVisible:Z
if-nez v1, :cond_11
const/4 v1, 0x1
goto :goto_a
:cond_11
const/4 v1, 0x0
:goto_a
invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;->setOutsideTouchable(Z)V
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mTouchInterceptor:Landroidx/appcompat/widget/ListPopupWindow$PopupTouchInterceptor;
invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;->setTouchInterceptor(Landroid/view/View$OnTouchListener;)V
iget-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mOverlapAnchorSet:Z
if-eqz v0, :cond_12
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
iget-boolean v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mOverlapAnchor:Z
invoke-static {v0, v1}, Landroidx/core/widget/PopupWindowCompat;->setOverlapAnchor(Landroid/widget/PopupWindow;Z)V
:cond_12
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-gt v0, v1, :cond_13
sget-object v0, Landroidx/appcompat/widget/ListPopupWindow;->sSetEpicenterBoundsMethod:Ljava/lang/reflect/Method;
if-eqz v0, :cond_14
:try_start_0
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
new-array v2, v3, [Ljava/lang/Object;
iget-object v3, p0, Landroidx/appcompat/widget/ListPopupWindow;->mEpicenterBounds:Landroid/graphics/Rect;
aput-object v3, v2, v5
invoke-virtual {v0, v1, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_b
:catch_0
move-exception v0
const-string v1, "ListPopupWindow"
const-string v2, "Could not invoke setEpicenterBounds on PopupWindow"
invoke-static {v1, v2, v0}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
goto :goto_b
:cond_13
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mEpicenterBounds:Landroid/graphics/Rect;
invoke-virtual {v0, v1}, Landroid/widget/PopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V
:cond_14
:goto_b
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mPopup:Landroid/widget/PopupWindow;
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->getAnchorView()Landroid/view/View;
move-result-object v1
iget v2, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownHorizontalOffset:I
iget v3, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownVerticalOffset:I
iget v4, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownGravity:I
invoke-static {v0, v1, v2, v3, v4}, Landroidx/core/widget/PopupWindowCompat;->showAsDropDown(Landroid/widget/PopupWindow;Landroid/view/View;III)V
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0, v6}, Landroid/widget/ListView;->setSelection(I)V
iget-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mModal:Z
if-eqz v0, :cond_15
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mDropDownList:Landroidx/appcompat/widget/DropDownListView;
invoke-virtual {v0}, Landroidx/appcompat/widget/DropDownListView;->isInTouchMode()Z
move-result v0
if-eqz v0, :cond_16
:cond_15
invoke-virtual {p0}, Landroidx/appcompat/widget/ListPopupWindow;->clearListSelection()V
:cond_16
iget-boolean v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mModal:Z
if-nez v0, :cond_17
iget-object v0, p0, Landroidx/appcompat/widget/ListPopupWindow;->mHandler:Landroid/os/Handler;
iget-object v1, p0, Landroidx/appcompat/widget/ListPopupWindow;->mHideSelector:Landroidx/appcompat/widget/ListPopupWindow$ListSelectorHider;
invoke-virtual {v0, v1}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
:cond_17
:goto_c
return-void
.end method