NavigationMenuPresenter.smali
.class public Landroid/support/design/internal/NavigationMenuPresenter;
.super Ljava/lang/Object;
.source "NavigationMenuPresenter.java"
# interfaces
.implements Landroid/support/v7/view/menu/MenuPresenter;
# static fields
.field private static final STATE_ADAPTER:Ljava/lang/String; = "android:menu:adapter"
.field private static final STATE_HEADER:Ljava/lang/String; = "android:menu:header"
.field private static final STATE_HIERARCHY:Ljava/lang/String; = "android:menu:list"
# instance fields
.field mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
.field private mCallback:Landroid/support/v7/view/menu/MenuPresenter$Callback;
.field mHeaderLayout:Landroid/widget/LinearLayout;
.field mIconTintList:Landroid/content/res/ColorStateList;
.field private mId:I
.field mItemBackground:Landroid/graphics/drawable/Drawable;
.field mLayoutInflater:Landroid/view/LayoutInflater;
.field mMenu:Landroid/support/v7/view/menu/MenuBuilder;
.field private mMenuView:Landroid/support/design/internal/NavigationMenuView;
.field final mOnClickListener:Landroid/view/View$OnClickListener;
.field mPaddingSeparator:I
.field private mPaddingTopDefault:I
.field mTextAppearance:I
.field mTextAppearanceSet:Z
.field mTextColor:Landroid/content/res/ColorStateList;
# direct methods
.method public constructor <init>()V
.registers 2
.prologue
.line 56
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 335
new-instance v0, Landroid/support/design/internal/NavigationMenuPresenter$1;
invoke-direct {v0, p0}, Landroid/support/design/internal/NavigationMenuPresenter$1;-><init>(Landroid/support/design/internal/NavigationMenuPresenter;)V
iput-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mOnClickListener:Landroid/view/View$OnClickListener;
.line 680
return-void
.end method
# virtual methods
.method public addHeaderView(Landroid/view/View;)V
.registers 5
.prologue
const/4 v2, 0x0
.line 217
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-virtual {v0, p1}, Landroid/widget/LinearLayout;->addView(Landroid/view/View;)V
.line 219
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
invoke-virtual {v1}, Landroid/support/design/internal/NavigationMenuView;->getPaddingBottom()I
move-result v1
invoke-virtual {v0, v2, v2, v2, v1}, Landroid/support/design/internal/NavigationMenuView;->setPadding(IIII)V
.line 220
return-void
.end method
.method public collapseItemActionView(Landroid/support/v7/view/menu/MenuBuilder;Landroid/support/v7/view/menu/MenuItemImpl;)Z
.registers 4
.prologue
.line 150
const/4 v0, 0x0
return v0
.end method
.method public dispatchApplyWindowInsets(Landroid/support/v4/view/bl;)V
.registers 6
.prologue
const/4 v3, 0x0
.line 280
invoke-virtual {p1}, Landroid/support/v4/view/bl;->getSystemWindowInsetTop()I
move-result v0
.line 281
iget v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mPaddingTopDefault:I
if-eq v1, v0, :cond_20
.line 282
iput v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mPaddingTopDefault:I
.line 283
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-virtual {v0}, Landroid/widget/LinearLayout;->getChildCount()I
move-result v0
if-nez v0, :cond_20
.line 284
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
iget v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mPaddingTopDefault:I
iget-object v2, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
invoke-virtual {v2}, Landroid/support/design/internal/NavigationMenuView;->getPaddingBottom()I
move-result v2
invoke-virtual {v0, v3, v1, v3, v2}, Landroid/support/design/internal/NavigationMenuView;->setPadding(IIII)V
.line 287
:cond_20
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-static {v0, p1}, Landroid/support/v4/view/af;->a(Landroid/view/View;Landroid/support/v4/view/bl;)Landroid/support/v4/view/bl;
.line 288
return-void
.end method
.method public expandItemActionView(Landroid/support/v7/view/menu/MenuBuilder;Landroid/support/v7/view/menu/MenuItemImpl;)Z
.registers 4
.prologue
.line 145
const/4 v0, 0x0
return v0
.end method
.method public flagActionItems()Z
.registers 2
.prologue
.line 140
const/4 v0, 0x0
return v0
.end method
.method public getHeaderCount()I
.registers 2
.prologue
.line 230
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-virtual {v0}, Landroid/widget/LinearLayout;->getChildCount()I
move-result v0
return v0
.end method
.method public getHeaderView(I)Landroid/view/View;
.registers 3
.prologue
.line 234
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-virtual {v0, p1}, Landroid/widget/LinearLayout;->getChildAt(I)Landroid/view/View;
move-result-object v0
return-object v0
.end method
.method public getId()I
.registers 2
.prologue
.line 155
iget v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mId:I
return v0
.end method
.method public getItemBackground()Landroid/graphics/drawable/Drawable;
.registers 2
.prologue
.line 265
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mItemBackground:Landroid/graphics/drawable/Drawable;
return-object v0
.end method
.method public getItemTextColor()Landroid/content/res/ColorStateList;
.registers 2
.prologue
.line 249
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mTextColor:Landroid/content/res/ColorStateList;
return-object v0
.end method
.method public getItemTintList()Landroid/content/res/ColorStateList;
.registers 2
.prologue
.line 239
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mIconTintList:Landroid/content/res/ColorStateList;
return-object v0
.end method
.method public getMenuView(Landroid/view/ViewGroup;)Landroid/support/v7/view/menu/MenuView;
.registers 6
.prologue
const/4 v3, 0x0
.line 100
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
if-nez v0, :cond_31
.line 101
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mLayoutInflater:Landroid/view/LayoutInflater;
sget v1, Landroid/support/design/R$layout;->design_navigation_menu:I
invoke-virtual {v0, v1, p1, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/support/design/internal/NavigationMenuView;
iput-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
.line 103
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
if-nez v0, :cond_1c
.line 104
new-instance v0, Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
invoke-direct {v0, p0}, Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;-><init>(Landroid/support/design/internal/NavigationMenuPresenter;)V
iput-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
.line 106
:cond_1c
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mLayoutInflater:Landroid/view/LayoutInflater;
sget v1, Landroid/support/design/R$layout;->design_navigation_item_header:I
iget-object v2, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
.line 107
invoke-virtual {v0, v1, v2, v3}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object v0
check-cast v0, Landroid/widget/LinearLayout;
iput-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
.line 109
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
invoke-virtual {v0, v1}, Landroid/support/design/internal/NavigationMenuView;->setAdapter(Landroid/support/v7/widget/RecyclerView$Adapter;)V
.line 111
:cond_31
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
return-object v0
.end method
.method public inflateHeaderView(I)Landroid/view/View;
.registers 5
.prologue
.line 211
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mLayoutInflater:Landroid/view/LayoutInflater;
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
const/4 v2, 0x0
invoke-virtual {v0, p1, v1, v2}, Landroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
move-result-object v0
.line 212
invoke-virtual {p0, v0}, Landroid/support/design/internal/NavigationMenuPresenter;->addHeaderView(Landroid/view/View;)V
.line 213
return-object v0
.end method
.method public initForMenu(Landroid/content/Context;Landroid/support/v7/view/menu/MenuBuilder;)V
.registers 5
.prologue
.line 91
invoke-static {p1}, Landroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
move-result-object v0
iput-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mLayoutInflater:Landroid/view/LayoutInflater;
.line 92
iput-object p2, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenu:Landroid/support/v7/view/menu/MenuBuilder;
.line 93
invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
.line 94
sget v1, Landroid/support/design/R$dimen;->design_navigation_separator_vertical_padding:I
invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getDimensionPixelOffset(I)I
move-result v0
iput v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mPaddingSeparator:I
.line 96
return-void
.end method
.method public onCloseMenu(Landroid/support/v7/view/menu/MenuBuilder;Z)V
.registers 4
.prologue
.line 133
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mCallback:Landroid/support/v7/view/menu/MenuPresenter$Callback;
if-eqz v0, :cond_9
.line 134
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mCallback:Landroid/support/v7/view/menu/MenuPresenter$Callback;
invoke-interface {v0, p1, p2}, Landroid/support/v7/view/menu/MenuPresenter$Callback;->onCloseMenu(Landroid/support/v7/view/menu/MenuBuilder;Z)V
.line 136
:cond_9
return-void
.end method
.method public onRestoreInstanceState(Landroid/os/Parcelable;)V
.registers 4
.prologue
.line 189
instance-of v0, p1, Landroid/os/Bundle;
if-eqz v0, :cond_2d
.line 190
check-cast p1, Landroid/os/Bundle;
.line 191
const-string v0, "android:menu:list"
invoke-virtual {p1, v0}, Landroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray;
move-result-object v0
.line 192
if-eqz v0, :cond_13
.line 193
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
invoke-virtual {v1, v0}, Landroid/support/design/internal/NavigationMenuView;->restoreHierarchyState(Landroid/util/SparseArray;)V
.line 195
:cond_13
const-string v0, "android:menu:adapter"
invoke-virtual {p1, v0}, Landroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
move-result-object v0
.line 196
if-eqz v0, :cond_20
.line 197
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
invoke-virtual {v1, v0}, Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;->restoreInstanceState(Landroid/os/Bundle;)V
.line 199
:cond_20
const-string v0, "android:menu:header"
invoke-virtual {p1, v0}, Landroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray;
move-result-object v0
.line 200
if-eqz v0, :cond_2d
.line 201
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-virtual {v1, v0}, Landroid/widget/LinearLayout;->restoreHierarchyState(Landroid/util/SparseArray;)V
.line 204
:cond_2d
return-void
.end method
.method public onSaveInstanceState()Landroid/os/Parcelable;
.registers 4
.prologue
.line 164
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0xb
if-lt v0, v1, :cond_41
.line 168
new-instance v0, Landroid/os/Bundle;
invoke-direct {v0}, Landroid/os/Bundle;-><init>()V
.line 169
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
if-eqz v1, :cond_1e
.line 170
new-instance v1, Landroid/util/SparseArray;
invoke-direct {v1}, Landroid/util/SparseArray;-><init>()V
.line 171
iget-object v2, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
invoke-virtual {v2, v1}, Landroid/support/design/internal/NavigationMenuView;->saveHierarchyState(Landroid/util/SparseArray;)V
.line 172
const-string v2, "android:menu:list"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V
.line 174
:cond_1e
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
if-eqz v1, :cond_2d
.line 175
const-string v1, "android:menu:adapter"
iget-object v2, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
invoke-virtual {v2}, Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;->createInstanceState()Landroid/os/Bundle;
move-result-object v2
invoke-virtual {v0, v1, v2}, Landroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
.line 177
:cond_2d
iget-object v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
if-eqz v1, :cond_40
.line 178
new-instance v1, Landroid/util/SparseArray;
invoke-direct {v1}, Landroid/util/SparseArray;-><init>()V
.line 179
iget-object v2, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-virtual {v2, v1}, Landroid/widget/LinearLayout;->saveHierarchyState(Landroid/util/SparseArray;)V
.line 180
const-string v2, "android:menu:header"
invoke-virtual {v0, v2, v1}, Landroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V
.line 184
:cond_40
:goto_40
return-object v0
:cond_41
const/4 v0, 0x0
goto :goto_40
.end method
.method public onSubMenuSelected(Landroid/support/v7/view/menu/SubMenuBuilder;)Z
.registers 3
.prologue
.line 128
const/4 v0, 0x0
return v0
.end method
.method public removeHeaderView(Landroid/view/View;)V
.registers 6
.prologue
const/4 v3, 0x0
.line 223
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-virtual {v0, p1}, Landroid/widget/LinearLayout;->removeView(Landroid/view/View;)V
.line 224
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mHeaderLayout:Landroid/widget/LinearLayout;
invoke-virtual {v0}, Landroid/widget/LinearLayout;->getChildCount()I
move-result v0
if-nez v0, :cond_1b
.line 225
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
iget v1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mPaddingTopDefault:I
iget-object v2, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mMenuView:Landroid/support/design/internal/NavigationMenuView;
invoke-virtual {v2}, Landroid/support/design/internal/NavigationMenuView;->getPaddingBottom()I
move-result v2
invoke-virtual {v0, v3, v1, v3, v2}, Landroid/support/design/internal/NavigationMenuView;->setPadding(IIII)V
.line 227
:cond_1b
return-void
.end method
.method public setCallback(Landroid/support/v7/view/menu/MenuPresenter$Callback;)V
.registers 2
.prologue
.line 123
iput-object p1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mCallback:Landroid/support/v7/view/menu/MenuPresenter$Callback;
.line 124
return-void
.end method
.method public setCheckedItem(Landroid/support/v7/view/menu/MenuItemImpl;)V
.registers 3
.prologue
.line 207
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
invoke-virtual {v0, p1}, Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;->setCheckedItem(Landroid/support/v7/view/menu/MenuItemImpl;)V
.line 208
return-void
.end method
.method public setId(I)V
.registers 2
.prologue
.line 159
iput p1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mId:I
.line 160
return-void
.end method
.method public setItemBackground(Landroid/graphics/drawable/Drawable;)V
.registers 3
.prologue
.line 269
iput-object p1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mItemBackground:Landroid/graphics/drawable/Drawable;
.line 270
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/support/design/internal/NavigationMenuPresenter;->updateMenuView(Z)V
.line 271
return-void
.end method
.method public setItemIconTintList(Landroid/content/res/ColorStateList;)V
.registers 3
.prologue
.line 243
iput-object p1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mIconTintList:Landroid/content/res/ColorStateList;
.line 244
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/support/design/internal/NavigationMenuPresenter;->updateMenuView(Z)V
.line 245
return-void
.end method
.method public setItemTextAppearance(I)V
.registers 3
.prologue
.line 258
iput p1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mTextAppearance:I
.line 259
const/4 v0, 0x1
iput-boolean v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mTextAppearanceSet:Z
.line 260
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/support/design/internal/NavigationMenuPresenter;->updateMenuView(Z)V
.line 261
return-void
.end method
.method public setItemTextColor(Landroid/content/res/ColorStateList;)V
.registers 3
.prologue
.line 253
iput-object p1, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mTextColor:Landroid/content/res/ColorStateList;
.line 254
const/4 v0, 0x0
invoke-virtual {p0, v0}, Landroid/support/design/internal/NavigationMenuPresenter;->updateMenuView(Z)V
.line 255
return-void
.end method
.method public setUpdateSuspended(Z)V
.registers 3
.prologue
.line 274
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
if-eqz v0, :cond_9
.line 275
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
invoke-virtual {v0, p1}, Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;->setUpdateSuspended(Z)V
.line 277
:cond_9
return-void
.end method
.method public updateMenuView(Z)V
.registers 3
.prologue
.line 116
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
if-eqz v0, :cond_9
.line 117
iget-object v0, p0, Landroid/support/design/internal/NavigationMenuPresenter;->mAdapter:Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;
invoke-virtual {v0}, Landroid/support/design/internal/NavigationMenuPresenter$NavigationMenuAdapter;->update()V
.line 119
:cond_9
return-void
.end method