MenuPopup.smali
.class abstract Landroidx/appcompat/view/menu/MenuPopup;
.super Ljava/lang/Object;
.source "MenuPopup.java"
# interfaces
.implements Landroidx/appcompat/view/menu/ShowableListMenu;
.implements Landroidx/appcompat/view/menu/MenuPresenter;
.implements Landroid/widget/AdapterView$OnItemClickListener;
# instance fields
.field private mEpicenterBounds:Landroid/graphics/Rect;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>()V
.registers 1
.line 39
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method protected static measureIndividualMenuWidth(Landroid/widget/ListAdapter;Landroid/view/ViewGroup;Landroid/content/Context;I)I
.registers 13
.param p0, "adapter" # Landroid/widget/ListAdapter;
.param p1, "parent" # Landroid/view/ViewGroup;
.param p2, "context" # Landroid/content/Context;
.param p3, "maxAllowedWidth" # I
.line 143
const/4 v0, 0x0
.line 144
.local v0, "maxWidth":I
const/4 v1, 0x0
.line 145
.local v1, "itemView":Landroid/view/View;
const/4 v2, 0x0
.line 147
.local v2, "itemType":I
const/4 v3, 0x0
invoke-static {v3, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v4
.line 148
.local v4, "widthMeasureSpec":I
invoke-static {v3, v3}, Landroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
move-result v3
.line 149
.local v3, "heightMeasureSpec":I
invoke-interface {p0}, Landroid/widget/ListAdapter;->getCount()I
move-result v5
.line 150
.local v5, "count":I
const/4 v6, 0x0
.local v6, "i":I
:goto_11
if-ge v6, v5, :cond_37
.line 151
invoke-interface {p0, v6}, Landroid/widget/ListAdapter;->getItemViewType(I)I
move-result v7
.line 152
.local v7, "positionType":I
if-eq v7, v2, :cond_1b
.line 153
move v2, v7
.line 154
const/4 v1, 0x0
.line 157
:cond_1b
if-nez p1, :cond_23
.line 158
new-instance v8, Landroid/widget/FrameLayout;
invoke-direct {v8, p2}, Landroid/widget/FrameLayout;-><init>(Landroid/content/Context;)V
move-object p1, v8
.line 161
:cond_23
invoke-interface {p0, v6, v1, p1}, Landroid/widget/ListAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
move-result-object v1
.line 162
invoke-virtual {v1, v4, v3}, Landroid/view/View;->measure(II)V
.line 164
invoke-virtual {v1}, Landroid/view/View;->getMeasuredWidth()I
move-result v8
.line 165
.local v8, "itemWidth":I
if-lt v8, p3, :cond_31
.line 166
return p3
.line 167
:cond_31
if-le v8, v0, :cond_34
.line 168
move v0, v8
.line 150
.end local v7 # "positionType":I
.end local v8 # "itemWidth":I
:cond_34
add-int/lit8 v6, v6, 0x1
goto :goto_11
.line 172
.end local v6 # "i":I
:cond_37
return v0
.end method
.method protected static shouldPreserveIconSpacing(Landroidx/appcompat/view/menu/MenuBuilder;)Z
.registers 6
.param p0, "menu" # Landroidx/appcompat/view/menu/MenuBuilder;
.line 202
const/4 v0, 0x0
.line 203
.local v0, "preserveIconSpacing":Z
invoke-virtual {p0}, Landroidx/appcompat/view/menu/MenuBuilder;->size()I
move-result v1
.line 205
.local v1, "count":I
const/4 v2, 0x0
.local v2, "i":I
:goto_6
if-ge v2, v1, :cond_1d
.line 206
invoke-virtual {p0, v2}, Landroidx/appcompat/view/menu/MenuBuilder;->getItem(I)Landroid/view/MenuItem;
move-result-object v3
.line 207
.local v3, "childItem":Landroid/view/MenuItem;
invoke-interface {v3}, Landroid/view/MenuItem;->isVisible()Z
move-result v4
if-eqz v4, :cond_1a
invoke-interface {v3}, Landroid/view/MenuItem;->getIcon()Landroid/graphics/drawable/Drawable;
move-result-object v4
if-eqz v4, :cond_1a
.line 208
const/4 v0, 0x1
.line 209
goto :goto_1d
.line 205
.end local v3 # "childItem":Landroid/view/MenuItem;
:cond_1a
add-int/lit8 v2, v2, 0x1
goto :goto_6
.line 213
.end local v2 # "i":I
:cond_1d
:goto_1d
return v0
.end method
.method protected static toMenuAdapter(Landroid/widget/ListAdapter;)Landroidx/appcompat/view/menu/MenuAdapter;
.registers 2
.param p0, "adapter" # Landroid/widget/ListAdapter;
.line 184
instance-of v0, p0, Landroid/widget/HeaderViewListAdapter;
if-eqz v0, :cond_e
.line 185
move-object v0, p0
check-cast v0, Landroid/widget/HeaderViewListAdapter;
invoke-virtual {v0}, Landroid/widget/HeaderViewListAdapter;->getWrappedAdapter()Landroid/widget/ListAdapter;
move-result-object v0
check-cast v0, Landroidx/appcompat/view/menu/MenuAdapter;
return-object v0
.line 187
:cond_e
move-object v0, p0
check-cast v0, Landroidx/appcompat/view/menu/MenuAdapter;
return-object v0
.end method
# virtual methods
.method public abstract addMenu(Landroidx/appcompat/view/menu/MenuBuilder;)V
.end method
.method protected closeMenuOnSubMenuOpened()Z
.registers 2
.line 217
const/4 v0, 0x1
return v0
.end method
.method public collapseItemActionView(Landroidx/appcompat/view/menu/MenuBuilder;Landroidx/appcompat/view/menu/MenuItemImpl;)Z
.registers 4
.param p1, "menu" # Landroidx/appcompat/view/menu/MenuBuilder;
.param p2, "item" # Landroidx/appcompat/view/menu/MenuItemImpl;
.line 113
const/4 v0, 0x0
return v0
.end method
.method public expandItemActionView(Landroidx/appcompat/view/menu/MenuBuilder;Landroidx/appcompat/view/menu/MenuItemImpl;)Z
.registers 4
.param p1, "menu" # Landroidx/appcompat/view/menu/MenuBuilder;
.param p2, "item" # Landroidx/appcompat/view/menu/MenuItemImpl;
.line 108
const/4 v0, 0x0
return v0
.end method
.method public getEpicenterBounds()Landroid/graphics/Rect;
.registers 2
.line 78
iget-object v0, p0, Landroidx/appcompat/view/menu/MenuPopup;->mEpicenterBounds:Landroid/graphics/Rect;
return-object v0
.end method
.method public getId()I
.registers 2
.line 118
const/4 v0, 0x0
return v0
.end method
.method public getMenuView(Landroid/view/ViewGroup;)Landroidx/appcompat/view/menu/MenuView;
.registers 4
.param p1, "root" # Landroid/view/ViewGroup;
.line 103
new-instance v0, Ljava/lang/UnsupportedOperationException;
const-string v1, "MenuPopups manage their own views"
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public initForMenu(Landroid/content/Context;Landroidx/appcompat/view/menu/MenuBuilder;)V
.registers 3
.param p1, "context" # Landroid/content/Context;
.param p2, "menu" # Landroidx/appcompat/view/menu/MenuBuilder;
.line 99
return-void
.end method
.method public onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
.registers 11
.param p2, "view" # Landroid/view/View;
.param p3, "position" # I
.param p4, "id" # J
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/widget/AdapterView<",
"*>;",
"Landroid/view/View;",
"IJ)V"
}
.end annotation
.line 123
.local p1, "parent":Landroid/widget/AdapterView;, "Landroid/widget/AdapterView<*>;"
invoke-virtual {p1}, Landroid/widget/AdapterView;->getAdapter()Landroid/widget/Adapter;
move-result-object v0
check-cast v0, Landroid/widget/ListAdapter;
.line 124
.local v0, "outerAdapter":Landroid/widget/ListAdapter;
invoke-static {v0}, Landroidx/appcompat/view/menu/MenuPopup;->toMenuAdapter(Landroid/widget/ListAdapter;)Landroidx/appcompat/view/menu/MenuAdapter;
move-result-object v1
.line 128
.local v1, "wrappedAdapter":Landroidx/appcompat/view/menu/MenuAdapter;
iget-object v2, v1, Landroidx/appcompat/view/menu/MenuAdapter;->mAdapterMenu:Landroidx/appcompat/view/menu/MenuBuilder;
.line 129
invoke-interface {v0, p3}, Landroid/widget/ListAdapter;->getItem(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Landroid/view/MenuItem;
.line 131
invoke-virtual {p0}, Landroidx/appcompat/view/menu/MenuPopup;->closeMenuOnSubMenuOpened()Z
move-result v4
if-eqz v4, :cond_1a
const/4 v4, 0x0
goto :goto_1b
:cond_1a
const/4 v4, 0x4
.line 128
:goto_1b
invoke-virtual {v2, v3, p0, v4}, Landroidx/appcompat/view/menu/MenuBuilder;->performItemAction(Landroid/view/MenuItem;Landroidx/appcompat/view/menu/MenuPresenter;I)Z
.line 132
return-void
.end method
.method public abstract setAnchorView(Landroid/view/View;)V
.end method
.method public setEpicenterBounds(Landroid/graphics/Rect;)V
.registers 2
.param p1, "bounds" # Landroid/graphics/Rect;
.line 71
iput-object p1, p0, Landroidx/appcompat/view/menu/MenuPopup;->mEpicenterBounds:Landroid/graphics/Rect;
.line 72
return-void
.end method
.method public abstract setForceShowIcon(Z)V
.end method
.method public abstract setGravity(I)V
.end method
.method public abstract setHorizontalOffset(I)V
.end method
.method public abstract setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
.end method
.method public abstract setShowTitle(Z)V
.end method
.method public abstract setVerticalOffset(I)V
.end method