.class public Landroidx/appcompat/view/menu/d; .super Ljava/lang/Object; .source "MenuBuilder.java" # interfaces .implements Lh1/a; # annotations .annotation build Landroidx/annotation/RestrictTo; value = { .enum Landroidx/annotation/RestrictTo$Scope;->LIBRARY_GROUP_PREFIX:Landroidx/annotation/RestrictTo$Scope; } .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/appcompat/view/menu/d$b;, Landroidx/appcompat/view/menu/d$a; } .end annotation # static fields .field private static final ACTION_VIEW_STATES_KEY:Ljava/lang/String; = "android:menu:actionviewstates" .field private static final EXPANDED_ACTION_VIEW_ID:Ljava/lang/String; = "android:menu:expandedactionview" .field private static final PRESENTER_KEY:Ljava/lang/String; = "android:menu:presenters" .field private static final TAG:Ljava/lang/String; = "MenuBuilder" .field private static final sCategoryToOrder:[I # instance fields .field private mActionItems:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;" } .end annotation .end field .field private mCallback:Landroidx/appcompat/view/menu/d$a; .field private final mContext:Landroid/content/Context; .field private mCurrentMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo; .field private mDefaultShowAsAction:I .field private mExpandedItem:Landroidx/appcompat/view/menu/g; .field private mGroupDividerEnabled:Z .field public mHeaderIcon:Landroid/graphics/drawable/Drawable; .field public mHeaderTitle:Ljava/lang/CharSequence; .field public mHeaderView:Landroid/view/View; .field private mIsActionItemsStale:Z .field private mIsClosing:Z .field private mIsVisibleItemsStale:Z .field private mItems:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;" } .end annotation .end field .field private mItemsChangedWhileDispatchPrevented:Z .field private mNonActionItems:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;" } .end annotation .end field .field private mOptionalIconsVisible:Z .field private mOverrideVisibleItems:Z .field private mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/concurrent/CopyOnWriteArrayList<", "Ljava/lang/ref/WeakReference<", "Landroidx/appcompat/view/menu/i;", ">;>;" } .end annotation .end field .field private mPreventDispatchingItemsChanged:Z .field private mQwertyMode:Z .field private final mResources:Landroid/content/res/Resources; .field private mShortcutsVisible:Z .field private mStructureChangedWhileDispatchPrevented:Z .field private mTempShortcutItemList:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;" } .end annotation .end field .field private mVisibleItems:Ljava/util/ArrayList; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;" } .end annotation .end field # direct methods .method public static constructor ()V .locals 1 const/4 v0, 0x6 new-array v0, v0, [I .line 1 fill-array-data v0, :array_0 sput-object v0, Landroidx/appcompat/view/menu/d;->sCategoryToOrder:[I return-void nop :array_0 .array-data 4 0x1 0x4 0x5 0x3 0x2 0x0 .end array-data .end method .method public constructor (Landroid/content/Context;)V .locals 2 .line 1 invoke-direct {p0}, Ljava/lang/Object;->()V const/4 v0, 0x0 .line 2 iput v0, p0, Landroidx/appcompat/view/menu/d;->mDefaultShowAsAction:I .line 3 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mPreventDispatchingItemsChanged:Z .line 4 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mItemsChangedWhileDispatchPrevented:Z .line 5 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mStructureChangedWhileDispatchPrevented:Z .line 6 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mOptionalIconsVisible:Z .line 7 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mIsClosing:Z .line 8 new-instance v1, Ljava/util/ArrayList; invoke-direct {v1}, Ljava/util/ArrayList;->()V iput-object v1, p0, Landroidx/appcompat/view/menu/d;->mTempShortcutItemList:Ljava/util/ArrayList; .line 9 new-instance v1, Ljava/util/concurrent/CopyOnWriteArrayList; invoke-direct {v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->()V iput-object v1, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; .line 10 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mGroupDividerEnabled:Z .line 11 iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mContext:Landroid/content/Context; .line 12 invoke-virtual {p1}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object p1 iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mResources:Landroid/content/res/Resources; .line 13 new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; .line 14 new-instance p1, Ljava/util/ArrayList; invoke-direct {p1}, Ljava/util/ArrayList;->()V iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mVisibleItems:Ljava/util/ArrayList; const/4 p1, 0x1 .line 15 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mIsVisibleItemsStale:Z .line 16 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/appcompat/view/menu/d;->mActionItems:Ljava/util/ArrayList; .line 17 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V iput-object v0, p0, Landroidx/appcompat/view/menu/d;->mNonActionItems:Ljava/util/ArrayList; .line 18 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mIsActionItemsStale:Z .line 19 invoke-direct {p0, p1}, Landroidx/appcompat/view/menu/d;->setShortcutsVisibleInner(Z)V return-void .end method .method private createNewMenuItem(IIIILjava/lang/CharSequence;I)Landroidx/appcompat/view/menu/g; .locals 9 .line 1 new-instance v8, Landroidx/appcompat/view/menu/g; move-object v0, v8 move-object v1, p0 move v2, p1 move v3, p2 move v4, p3 move v5, p4 move-object v6, p5 move v7, p6 invoke-direct/range {v0 .. v7}, Landroidx/appcompat/view/menu/g;->(Landroidx/appcompat/view/menu/d;IIIILjava/lang/CharSequence;I)V return-object v8 .end method .method private dispatchPresenterUpdate(Z)V .locals 3 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_0 return-void .line 2 :cond_0 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->stopDispatchingItemsChanged()V .line 3 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/ref/WeakReference; .line 4 invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/i; if-nez v2, :cond_1 .line 5 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v2, v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 .line 6 :cond_1 invoke-interface {v2, p1}, Landroidx/appcompat/view/menu/i;->updateMenuView(Z)V goto :goto_0 .line 7 :cond_2 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->startDispatchingItemsChanged()V return-void .end method .method private dispatchRestoreInstanceState(Landroid/os/Bundle;)V .locals 3 const-string v0, "android:menu:presenters" .line 1 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray; move-result-object p1 if-eqz p1, :cond_3 .line 2 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_0 goto :goto_1 .line 3 :cond_0 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_1 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_3 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/ref/WeakReference; .line 4 invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/i; if-nez v2, :cond_2 .line 5 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v2, v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 .line 6 :cond_2 invoke-interface {v2}, Landroidx/appcompat/view/menu/i;->getId()I move-result v1 if-lez v1, :cond_1 .line 7 invoke-virtual {p1, v1}, Landroid/util/SparseArray;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/os/Parcelable; if-eqz v1, :cond_1 .line 8 invoke-interface {v2, v1}, Landroidx/appcompat/view/menu/i;->onRestoreInstanceState(Landroid/os/Parcelable;)V goto :goto_0 :cond_3 :goto_1 return-void .end method .method private dispatchSaveInstanceState(Landroid/os/Bundle;)V .locals 4 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->isEmpty()Z move-result v0 if-eqz v0, :cond_0 return-void .line 2 :cond_0 new-instance v0, Landroid/util/SparseArray; invoke-direct {v0}, Landroid/util/SparseArray;->()V .line 3 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object v1 :cond_1 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_3 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/ref/WeakReference; .line 4 invoke-virtual {v2}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/appcompat/view/menu/i; if-nez v3, :cond_2 .line 5 iget-object v3, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v3, v2}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 .line 6 :cond_2 invoke-interface {v3}, Landroidx/appcompat/view/menu/i;->getId()I move-result v2 if-lez v2, :cond_1 .line 7 invoke-interface {v3}, Landroidx/appcompat/view/menu/i;->onSaveInstanceState()Landroid/os/Parcelable; move-result-object v3 if-eqz v3, :cond_1 .line 8 invoke-virtual {v0, v2, v3}, Landroid/util/SparseArray;->put(ILjava/lang/Object;)V goto :goto_0 :cond_3 const-string v1, "android:menu:presenters" .line 9 invoke-virtual {p1, v1, v0}, Landroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V return-void .end method .method private dispatchSubMenuSelected(Landroidx/appcompat/view/menu/l;Landroidx/appcompat/view/menu/i;)Z .locals 3 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->isEmpty()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_0 return v1 :cond_0 if-eqz p2, :cond_1 .line 2 invoke-interface {p2, p1}, Landroidx/appcompat/view/menu/i;->onSubMenuSelected(Landroidx/appcompat/view/menu/l;)Z move-result v1 .line 3 :cond_1 iget-object p2, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {p2}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object p2 :cond_2 :goto_0 invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z move-result v0 if-eqz v0, :cond_4 invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v0 check-cast v0, Ljava/lang/ref/WeakReference; .line 4 invoke-virtual {v0}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/i; if-nez v2, :cond_3 .line 5 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v2, v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 :cond_3 if-nez v1, :cond_2 .line 6 invoke-interface {v2, p1}, Landroidx/appcompat/view/menu/i;->onSubMenuSelected(Landroidx/appcompat/view/menu/l;)Z move-result v0 move v1, v0 goto :goto_0 :cond_4 return v1 .end method .method private static findInsertIndex(Ljava/util/ArrayList;I)I .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;I)I" } .end annotation .line 1 invoke-virtual {p0}, Ljava/util/ArrayList;->size()I move-result v0 add-int/lit8 v0, v0, -0x1 :goto_0 if-ltz v0, :cond_1 .line 2 invoke-virtual {p0, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/appcompat/view/menu/g; .line 3 invoke-virtual {v1}, Landroidx/appcompat/view/menu/g;->i()I move-result v1 if-gt v1, p1, :cond_0 add-int/lit8 v0, v0, 0x1 return v0 :cond_0 add-int/lit8 v0, v0, -0x1 goto :goto_0 :cond_1 const/4 p0, 0x0 return p0 .end method .method private static getOrdering(I)I .locals 3 const/high16 v0, -0x10000 and-int/2addr v0, p0 shr-int/lit8 v0, v0, 0x10 if-ltz v0, :cond_0 .line 1 sget-object v1, Landroidx/appcompat/view/menu/d;->sCategoryToOrder:[I array-length v2, v1 if-ge v0, v2, :cond_0 .line 2 aget v0, v1, v0 shl-int/lit8 v0, v0, 0x10 const v1, 0xffff and-int/2addr p0, v1 or-int/2addr p0, v0 return p0 .line 3 :cond_0 new-instance p0, Ljava/lang/IllegalArgumentException; const-string v0, "order does not contain a valid category." invoke-direct {p0, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .end method .method private removeItemAtInt(IZ)V .locals 1 if-ltz p1, :cond_1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 if-lt p1, v0, :cond_0 goto :goto_0 .line 2 :cond_0 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->remove(I)Ljava/lang/Object; if-eqz p2, :cond_1 const/4 p1, 0x1 .line 3 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V :cond_1 :goto_0 return-void .end method .method private setHeaderInternal(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V .locals 2 .line 1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->getResources()Landroid/content/res/Resources; move-result-object v0 const/4 v1, 0x0 if-eqz p5, :cond_0 .line 2 iput-object p5, p0, Landroidx/appcompat/view/menu/d;->mHeaderView:Landroid/view/View; .line 3 iput-object v1, p0, Landroidx/appcompat/view/menu/d;->mHeaderTitle:Ljava/lang/CharSequence; .line 4 iput-object v1, p0, Landroidx/appcompat/view/menu/d;->mHeaderIcon:Landroid/graphics/drawable/Drawable; goto :goto_2 :cond_0 if-lez p1, :cond_1 .line 5 invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getText(I)Ljava/lang/CharSequence; move-result-object p1 iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mHeaderTitle:Ljava/lang/CharSequence; goto :goto_0 :cond_1 if-eqz p2, :cond_2 .line 6 iput-object p2, p0, Landroidx/appcompat/view/menu/d;->mHeaderTitle:Ljava/lang/CharSequence; :cond_2 :goto_0 if-lez p3, :cond_3 .line 7 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->getContext()Landroid/content/Context; move-result-object p1 invoke-static {p1, p3}, Landroidx/core/content/d;->i(Landroid/content/Context;I)Landroid/graphics/drawable/Drawable; move-result-object p1 iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mHeaderIcon:Landroid/graphics/drawable/Drawable; goto :goto_1 :cond_3 if-eqz p4, :cond_4 .line 8 iput-object p4, p0, Landroidx/appcompat/view/menu/d;->mHeaderIcon:Landroid/graphics/drawable/Drawable; .line 9 :cond_4 :goto_1 iput-object v1, p0, Landroidx/appcompat/view/menu/d;->mHeaderView:Landroid/view/View; :goto_2 const/4 p1, 0x0 .line 10 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-void .end method .method private setShortcutsVisibleInner(Z)V .locals 2 const/4 v0, 0x1 if-eqz p1, :cond_0 .line 1 iget-object p1, p0, Landroidx/appcompat/view/menu/d;->mResources:Landroid/content/res/Resources; .line 2 invoke-virtual {p1}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration; move-result-object p1 iget p1, p1, Landroid/content/res/Configuration;->keyboard:I if-eq p1, v0, :cond_0 iget-object p1, p0, Landroidx/appcompat/view/menu/d;->mContext:Landroid/content/Context; .line 3 invoke-static {p1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object p1 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mContext:Landroid/content/Context; .line 4 invoke-static {p1, v1}, Ls1/p0;->g(Landroid/view/ViewConfiguration;Landroid/content/Context;)Z move-result p1 if-eqz p1, :cond_0 goto :goto_0 :cond_0 const/4 v0, 0x0 :goto_0 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mShortcutsVisible:Z return-void .end method # virtual methods .method public add(I)Landroid/view/MenuItem; .locals 1 .line 2 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mResources:Landroid/content/res/Resources; invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; move-result-object p1 const/4 v0, 0x0 invoke-virtual {p0, v0, v0, v0, p1}, Landroidx/appcompat/view/menu/d;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; move-result-object p1 return-object p1 .end method .method public add(IIII)Landroid/view/MenuItem; .locals 1 .line 4 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mResources:Landroid/content/res/Resources; invoke-virtual {v0, p4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; move-result-object p4 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/appcompat/view/menu/d;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; move-result-object p1 return-object p1 .end method .method public add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; .locals 0 .line 3 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/appcompat/view/menu/d;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; move-result-object p1 return-object p1 .end method .method public add(Ljava/lang/CharSequence;)Landroid/view/MenuItem; .locals 1 const/4 v0, 0x0 .line 1 invoke-virtual {p0, v0, v0, v0, p1}, Landroidx/appcompat/view/menu/d;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; move-result-object p1 return-object p1 .end method .method public addIntentOptions(IIILandroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I[Landroid/view/MenuItem;)I .locals 7 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mContext:Landroid/content/Context; invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object v0 const/4 v1, 0x0 .line 2 invoke-virtual {v0, p4, p5, p6, v1}, Landroid/content/pm/PackageManager;->queryIntentActivityOptions(Landroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I)Ljava/util/List; move-result-object p4 if-eqz p4, :cond_0 .line 3 invoke-interface {p4}, Ljava/util/List;->size()I move-result v2 goto :goto_0 :cond_0 move v2, v1 :goto_0 and-int/lit8 p7, p7, 0x1 if-nez p7, :cond_1 .line 4 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->removeGroup(I)V :cond_1 :goto_1 if-ge v1, v2, :cond_4 .line 5 invoke-interface {p4, v1}, Ljava/util/List;->get(I)Ljava/lang/Object; move-result-object p7 check-cast p7, Landroid/content/pm/ResolveInfo; .line 6 new-instance v3, Landroid/content/Intent; .line 7 iget v4, p7, Landroid/content/pm/ResolveInfo;->specificIndex:I if-gez v4, :cond_2 move-object v4, p6 goto :goto_2 :cond_2 aget-object v4, p5, v4 :goto_2 invoke-direct {v3, v4}, Landroid/content/Intent;->(Landroid/content/Intent;)V .line 8 new-instance v4, Landroid/content/ComponentName; iget-object v5, p7, Landroid/content/pm/ResolveInfo;->activityInfo:Landroid/content/pm/ActivityInfo; iget-object v6, v5, Landroid/content/pm/ActivityInfo;->applicationInfo:Landroid/content/pm/ApplicationInfo; iget-object v6, v6, Landroid/content/pm/ApplicationInfo;->packageName:Ljava/lang/String; iget-object v5, v5, Landroid/content/pm/ActivityInfo;->name:Ljava/lang/String; invoke-direct {v4, v6, v5}, Landroid/content/ComponentName;->(Ljava/lang/String;Ljava/lang/String;)V invoke-virtual {v3, v4}, Landroid/content/Intent;->setComponent(Landroid/content/ComponentName;)Landroid/content/Intent; .line 9 invoke-virtual {p7, v0}, Landroid/content/pm/ResolveInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence; move-result-object v4 invoke-virtual {p0, p1, p2, p3, v4}, Landroidx/appcompat/view/menu/d;->add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; move-result-object v4 .line 10 invoke-virtual {p7, v0}, Landroid/content/pm/ResolveInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable; move-result-object v5 invoke-interface {v4, v5}, Landroid/view/MenuItem;->setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem; move-result-object v4 .line 11 invoke-interface {v4, v3}, Landroid/view/MenuItem;->setIntent(Landroid/content/Intent;)Landroid/view/MenuItem; move-result-object v3 if-eqz p8, :cond_3 .line 12 iget p7, p7, Landroid/content/pm/ResolveInfo;->specificIndex:I if-ltz p7, :cond_3 .line 13 aput-object v3, p8, p7 :cond_3 add-int/lit8 v1, v1, 0x1 goto :goto_1 :cond_4 return v2 .end method .method public addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; .locals 8 .line 1 invoke-static {p3}, Landroidx/appcompat/view/menu/d;->getOrdering(I)I move-result v7 .line 2 iget v6, p0, Landroidx/appcompat/view/menu/d;->mDefaultShowAsAction:I move-object v0, p0 move v1, p1 move v2, p2 move v3, p3 move v4, v7 move-object v5, p4 invoke-direct/range {v0 .. v6}, Landroidx/appcompat/view/menu/d;->createNewMenuItem(IIIILjava/lang/CharSequence;I)Landroidx/appcompat/view/menu/g; move-result-object p1 .line 3 iget-object p2, p0, Landroidx/appcompat/view/menu/d;->mCurrentMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo; if-eqz p2, :cond_0 .line 4 invoke-virtual {p1, p2}, Landroidx/appcompat/view/menu/g;->y(Landroid/view/ContextMenu$ContextMenuInfo;)V .line 5 :cond_0 iget-object p2, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-static {p2, v7}, Landroidx/appcompat/view/menu/d;->findInsertIndex(Ljava/util/ArrayList;I)I move-result p3 invoke-virtual {p2, p3, p1}, Ljava/util/ArrayList;->add(ILjava/lang/Object;)V const/4 p2, 0x1 .line 6 invoke-virtual {p0, p2}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-object p1 .end method .method public addMenuPresenter(Landroidx/appcompat/view/menu/i;)V .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mContext:Landroid/content/Context; invoke-virtual {p0, p1, v0}, Landroidx/appcompat/view/menu/d;->addMenuPresenter(Landroidx/appcompat/view/menu/i;Landroid/content/Context;)V return-void .end method .method public addMenuPresenter(Landroidx/appcompat/view/menu/i;Landroid/content/Context;)V .locals 2 .line 2 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; new-instance v1, Ljava/lang/ref/WeakReference; invoke-direct {v1, p1}, Ljava/lang/ref/WeakReference;->(Ljava/lang/Object;)V invoke-virtual {v0, v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->add(Ljava/lang/Object;)Z .line 3 invoke-interface {p1, p2, p0}, Landroidx/appcompat/view/menu/i;->initForMenu(Landroid/content/Context;Landroidx/appcompat/view/menu/d;)V const/4 p1, 0x1 .line 4 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mIsActionItemsStale:Z return-void .end method .method public addSubMenu(I)Landroid/view/SubMenu; .locals 1 .line 2 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mResources:Landroid/content/res/Resources; invoke-virtual {v0, p1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; move-result-object p1 const/4 v0, 0x0 invoke-virtual {p0, v0, v0, v0, p1}, Landroidx/appcompat/view/menu/d;->addSubMenu(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; move-result-object p1 return-object p1 .end method .method public addSubMenu(IIII)Landroid/view/SubMenu; .locals 1 .line 6 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mResources:Landroid/content/res/Resources; invoke-virtual {v0, p4}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String; move-result-object p4 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/appcompat/view/menu/d;->addSubMenu(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; move-result-object p1 return-object p1 .end method .method public addSubMenu(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; .locals 0 .line 3 invoke-virtual {p0, p1, p2, p3, p4}, Landroidx/appcompat/view/menu/d;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem; move-result-object p1 check-cast p1, Landroidx/appcompat/view/menu/g; .line 4 new-instance p2, Landroidx/appcompat/view/menu/l; iget-object p3, p0, Landroidx/appcompat/view/menu/d;->mContext:Landroid/content/Context; invoke-direct {p2, p3, p0, p1}, Landroidx/appcompat/view/menu/l;->(Landroid/content/Context;Landroidx/appcompat/view/menu/d;Landroidx/appcompat/view/menu/g;)V .line 5 invoke-virtual {p1, p2}, Landroidx/appcompat/view/menu/g;->A(Landroidx/appcompat/view/menu/l;)V return-object p2 .end method .method public addSubMenu(Ljava/lang/CharSequence;)Landroid/view/SubMenu; .locals 1 const/4 v0, 0x0 .line 1 invoke-virtual {p0, v0, v0, v0, p1}, Landroidx/appcompat/view/menu/d;->addSubMenu(IIILjava/lang/CharSequence;)Landroid/view/SubMenu; move-result-object p1 return-object p1 .end method .method public changeMenuMode()V .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mCallback:Landroidx/appcompat/view/menu/d$a; if-eqz v0, :cond_0 .line 2 invoke-interface {v0, p0}, Landroidx/appcompat/view/menu/d$a;->onMenuModeChange(Landroidx/appcompat/view/menu/d;)V :cond_0 return-void .end method .method public clear()V .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mExpandedItem:Landroidx/appcompat/view/menu/g; if-eqz v0, :cond_0 .line 2 invoke-virtual {p0, v0}, Landroidx/appcompat/view/menu/d;->collapseItemActionView(Landroidx/appcompat/view/menu/g;)Z .line 3 :cond_0 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V const/4 v0, 0x1 .line 4 invoke-virtual {p0, v0}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-void .end method .method public clearAll()V .locals 2 const/4 v0, 0x1 .line 1 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mPreventDispatchingItemsChanged:Z .line 2 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->clear()V .line 3 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->clearHeader()V .line 4 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->clear()V const/4 v1, 0x0 .line 5 iput-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mPreventDispatchingItemsChanged:Z .line 6 iput-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mItemsChangedWhileDispatchPrevented:Z .line 7 iput-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mStructureChangedWhileDispatchPrevented:Z .line 8 invoke-virtual {p0, v0}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-void .end method .method public clearHeader()V .locals 1 const/4 v0, 0x0 .line 1 iput-object v0, p0, Landroidx/appcompat/view/menu/d;->mHeaderIcon:Landroid/graphics/drawable/Drawable; .line 2 iput-object v0, p0, Landroidx/appcompat/view/menu/d;->mHeaderTitle:Ljava/lang/CharSequence; .line 3 iput-object v0, p0, Landroidx/appcompat/view/menu/d;->mHeaderView:Landroid/view/View; const/4 v0, 0x0 .line 4 invoke-virtual {p0, v0}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-void .end method .method public close()V .locals 1 const/4 v0, 0x1 .line 8 invoke-virtual {p0, v0}, Landroidx/appcompat/view/menu/d;->close(Z)V return-void .end method .method public final close(Z)V .locals 3 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mIsClosing:Z if-eqz v0, :cond_0 return-void :cond_0 const/4 v0, 0x1 .line 2 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mIsClosing:Z .line 3 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/ref/WeakReference; .line 4 invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/i; if-nez v2, :cond_1 .line 5 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v2, v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 .line 6 :cond_1 invoke-interface {v2, p0, p1}, Landroidx/appcompat/view/menu/i;->onCloseMenu(Landroidx/appcompat/view/menu/d;Z)V goto :goto_0 :cond_2 const/4 p1, 0x0 .line 7 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mIsClosing:Z return-void .end method .method public collapseItemActionView(Landroidx/appcompat/view/menu/g;)Z .locals 4 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->isEmpty()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_4 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mExpandedItem:Landroidx/appcompat/view/menu/g; if-eq v0, p1, :cond_0 goto :goto_1 .line 2 :cond_0 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->stopDispatchingItemsChanged()V .line 3 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_1 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_3 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/ref/WeakReference; .line 4 invoke-virtual {v2}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/appcompat/view/menu/i; if-nez v3, :cond_2 .line 5 iget-object v3, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v3, v2}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 .line 6 :cond_2 invoke-interface {v3, p0, p1}, Landroidx/appcompat/view/menu/i;->collapseItemActionView(Landroidx/appcompat/view/menu/d;Landroidx/appcompat/view/menu/g;)Z move-result v1 if-eqz v1, :cond_1 .line 7 :cond_3 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->startDispatchingItemsChanged()V if-eqz v1, :cond_4 const/4 p1, 0x0 .line 8 iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mExpandedItem:Landroidx/appcompat/view/menu/g; :cond_4 :goto_1 return v1 .end method .method public dispatchMenuItemSelected(Landroidx/appcompat/view/menu/d;Landroid/view/MenuItem;)Z .locals 1 .param p1 # Landroidx/appcompat/view/menu/d; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .param p2 # Landroid/view/MenuItem; .annotation build Landroidx/annotation/NonNull; .end annotation .end param .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mCallback:Landroidx/appcompat/view/menu/d$a; if-eqz v0, :cond_0 invoke-interface {v0, p1, p2}, Landroidx/appcompat/view/menu/d$a;->onMenuItemSelected(Landroidx/appcompat/view/menu/d;Landroid/view/MenuItem;)Z move-result p1 if-eqz p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public expandItemActionView(Landroidx/appcompat/view/menu/g;)Z .locals 4 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->isEmpty()Z move-result v0 const/4 v1, 0x0 if-eqz v0, :cond_0 return v1 .line 2 :cond_0 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->stopDispatchingItemsChanged()V .line 3 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_1 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v2 if-eqz v2, :cond_3 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v2 check-cast v2, Ljava/lang/ref/WeakReference; .line 4 invoke-virtual {v2}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/appcompat/view/menu/i; if-nez v3, :cond_2 .line 5 iget-object v3, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v3, v2}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 .line 6 :cond_2 invoke-interface {v3, p0, p1}, Landroidx/appcompat/view/menu/i;->expandItemActionView(Landroidx/appcompat/view/menu/d;Landroidx/appcompat/view/menu/g;)Z move-result v1 if-eqz v1, :cond_1 .line 7 :cond_3 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->startDispatchingItemsChanged()V if-eqz v1, :cond_4 .line 8 iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mExpandedItem:Landroidx/appcompat/view/menu/g; :cond_4 return v1 .end method .method public findGroupIndex(I)I .locals 1 const/4 v0, 0x0 .line 1 invoke-virtual {p0, p1, v0}, Landroidx/appcompat/view/menu/d;->findGroupIndex(II)I move-result p1 return p1 .end method .method public findGroupIndex(II)I .locals 2 .line 2 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->size()I move-result v0 if-gez p2, :cond_0 const/4 p2, 0x0 :cond_0 :goto_0 if-ge p2, v0, :cond_2 .line 3 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v1, p2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/appcompat/view/menu/g; .line 4 invoke-virtual {v1}, Landroidx/appcompat/view/menu/g;->getGroupId()I move-result v1 if-ne v1, p1, :cond_1 return p2 :cond_1 add-int/lit8 p2, p2, 0x1 goto :goto_0 :cond_2 const/4 p1, -0x1 return p1 .end method .method public findItem(I)Landroid/view/MenuItem; .locals 4 .line 1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_2 .line 2 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/g; .line 3 invoke-virtual {v2}, Landroidx/appcompat/view/menu/g;->getItemId()I move-result v3 if-ne v3, p1, :cond_0 return-object v2 .line 4 :cond_0 invoke-virtual {v2}, Landroidx/appcompat/view/menu/g;->hasSubMenu()Z move-result v3 if-eqz v3, :cond_1 .line 5 invoke-virtual {v2}, Landroidx/appcompat/view/menu/g;->getSubMenu()Landroid/view/SubMenu; move-result-object v2 invoke-interface {v2, p1}, Landroid/view/SubMenu;->findItem(I)Landroid/view/MenuItem; move-result-object v2 if-eqz v2, :cond_1 return-object v2 :cond_1 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_2 const/4 p1, 0x0 return-object p1 .end method .method public findItemIndex(I)I .locals 3 .line 1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 .line 2 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/g; .line 3 invoke-virtual {v2}, Landroidx/appcompat/view/menu/g;->getItemId()I move-result v2 if-ne v2, p1, :cond_0 return v1 :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 const/4 p1, -0x1 return p1 .end method .method public findItemWithShortcutForKey(ILandroid/view/KeyEvent;)Landroidx/appcompat/view/menu/g; .locals 11 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mTempShortcutItemList:Ljava/util/ArrayList; .line 2 invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V .line 3 invoke-virtual {p0, v0, p1, p2}, Landroidx/appcompat/view/menu/d;->findItemsWithShortcutForKey(Ljava/util/List;ILandroid/view/KeyEvent;)V .line 4 invoke-virtual {v0}, Ljava/util/ArrayList;->isEmpty()Z move-result v1 const/4 v2, 0x0 if-eqz v1, :cond_0 return-object v2 .line 5 :cond_0 invoke-virtual {p2}, Landroid/view/KeyEvent;->getMetaState()I move-result v1 .line 6 new-instance v3, Landroid/view/KeyCharacterMap$KeyData; invoke-direct {v3}, Landroid/view/KeyCharacterMap$KeyData;->()V .line 7 invoke-virtual {p2, v3}, Landroid/view/KeyEvent;->getKeyData(Landroid/view/KeyCharacterMap$KeyData;)Z .line 8 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result p2 const/4 v4, 0x1 const/4 v5, 0x0 if-ne p2, v4, :cond_1 .line 9 invoke-virtual {v0, v5}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroidx/appcompat/view/menu/g; return-object p1 .line 10 :cond_1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->isQwertyMode()Z move-result v4 move v6, v5 :goto_0 if-ge v6, p2, :cond_7 .line 11 invoke-virtual {v0, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v7 check-cast v7, Landroidx/appcompat/view/menu/g; if-eqz v4, :cond_2 .line 12 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->getAlphabeticShortcut()C move-result v8 goto :goto_1 .line 13 :cond_2 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->getNumericShortcut()C move-result v8 .line 14 :goto_1 iget-object v9, v3, Landroid/view/KeyCharacterMap$KeyData;->meta:[C aget-char v10, v9, v5 if-ne v8, v10, :cond_3 and-int/lit8 v10, v1, 0x2 if-eqz v10, :cond_5 :cond_3 const/4 v10, 0x2 aget-char v9, v9, v10 if-ne v8, v9, :cond_4 and-int/lit8 v9, v1, 0x2 if-nez v9, :cond_5 :cond_4 if-eqz v4, :cond_6 const/16 v9, 0x8 if-ne v8, v9, :cond_6 const/16 v8, 0x43 if-ne p1, v8, :cond_6 :cond_5 return-object v7 :cond_6 add-int/lit8 v6, v6, 0x1 goto :goto_0 :cond_7 return-object v2 .end method .method public findItemsWithShortcutForKey(Ljava/util/List;ILandroid/view/KeyEvent;)V .locals 12 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "Landroidx/appcompat/view/menu/g;", ">;I", "Landroid/view/KeyEvent;", ")V" } .end annotation .line 1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->isQwertyMode()Z move-result v0 .line 2 invoke-virtual {p3}, Landroid/view/KeyEvent;->getModifiers()I move-result v1 .line 3 new-instance v2, Landroid/view/KeyCharacterMap$KeyData; invoke-direct {v2}, Landroid/view/KeyCharacterMap$KeyData;->()V .line 4 invoke-virtual {p3, v2}, Landroid/view/KeyEvent;->getKeyData(Landroid/view/KeyCharacterMap$KeyData;)Z move-result v3 const/16 v4, 0x43 if-nez v3, :cond_0 if-eq p2, v4, :cond_0 return-void .line 5 :cond_0 iget-object v3, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v3}, Ljava/util/ArrayList;->size()I move-result v3 const/4 v5, 0x0 move v6, v5 :goto_0 if-ge v6, v3, :cond_7 .line 6 iget-object v7, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v7, v6}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v7 check-cast v7, Landroidx/appcompat/view/menu/g; .line 7 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->hasSubMenu()Z move-result v8 if-eqz v8, :cond_1 .line 8 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->getSubMenu()Landroid/view/SubMenu; move-result-object v8 check-cast v8, Landroidx/appcompat/view/menu/d; invoke-virtual {v8, p1, p2, p3}, Landroidx/appcompat/view/menu/d;->findItemsWithShortcutForKey(Ljava/util/List;ILandroid/view/KeyEvent;)V :cond_1 if-eqz v0, :cond_2 .line 9 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->getAlphabeticShortcut()C move-result v8 goto :goto_1 :cond_2 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->getNumericShortcut()C move-result v8 :goto_1 if-eqz v0, :cond_3 .line 10 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->getAlphabeticModifiers()I move-result v9 goto :goto_2 :cond_3 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->getNumericModifiers()I move-result v9 :goto_2 const v10, 0x1100f and-int v11, v1, v10 and-int/2addr v9, v10 if-ne v11, v9, :cond_4 const/4 v9, 0x1 goto :goto_3 :cond_4 move v9, v5 :goto_3 if-eqz v9, :cond_6 if-eqz v8, :cond_6 .line 11 iget-object v9, v2, Landroid/view/KeyCharacterMap$KeyData;->meta:[C aget-char v10, v9, v5 if-eq v8, v10, :cond_5 const/4 v10, 0x2 aget-char v9, v9, v10 if-eq v8, v9, :cond_5 if-eqz v0, :cond_6 const/16 v9, 0x8 if-ne v8, v9, :cond_6 if-ne p2, v4, :cond_6 .line 12 :cond_5 invoke-virtual {v7}, Landroidx/appcompat/view/menu/g;->isEnabled()Z move-result v8 if-eqz v8, :cond_6 .line 13 invoke-interface {p1, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z :cond_6 add-int/lit8 v6, v6, 0x1 goto :goto_0 :cond_7 return-void .end method .method public flagActionItems()V .locals 6 .line 1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->getVisibleItems()Ljava/util/ArrayList; move-result-object v0 .line 2 iget-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mIsActionItemsStale:Z if-nez v1, :cond_0 return-void .line 3 :cond_0 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object v1 const/4 v2, 0x0 move v3, v2 :goto_0 invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z move-result v4 if-eqz v4, :cond_2 invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v4 check-cast v4, Ljava/lang/ref/WeakReference; .line 4 invoke-virtual {v4}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v5 check-cast v5, Landroidx/appcompat/view/menu/i; if-nez v5, :cond_1 .line 5 iget-object v5, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v5, v4}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 .line 6 :cond_1 invoke-interface {v5}, Landroidx/appcompat/view/menu/i;->flagActionItems()Z move-result v4 or-int/2addr v3, v4 goto :goto_0 :cond_2 if-eqz v3, :cond_4 .line 7 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mActionItems:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->clear()V .line 8 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mNonActionItems:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->clear()V .line 9 invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v1 move v3, v2 :goto_1 if-ge v3, v1, :cond_5 .line 10 invoke-virtual {v0, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/appcompat/view/menu/g; .line 11 invoke-virtual {v4}, Landroidx/appcompat/view/menu/g;->o()Z move-result v5 if-eqz v5, :cond_3 .line 12 iget-object v5, p0, Landroidx/appcompat/view/menu/d;->mActionItems:Ljava/util/ArrayList; invoke-virtual {v5, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z goto :goto_2 .line 13 :cond_3 iget-object v5, p0, Landroidx/appcompat/view/menu/d;->mNonActionItems:Ljava/util/ArrayList; invoke-virtual {v5, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :goto_2 add-int/lit8 v3, v3, 0x1 goto :goto_1 .line 14 :cond_4 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mActionItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V .line 15 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mNonActionItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V .line 16 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mNonActionItems:Ljava/util/ArrayList; invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->getVisibleItems()Ljava/util/ArrayList; move-result-object v1 invoke-virtual {v0, v1}, Ljava/util/ArrayList;->addAll(Ljava/util/Collection;)Z .line 17 :cond_5 iput-boolean v2, p0, Landroidx/appcompat/view/menu/d;->mIsActionItemsStale:Z return-void .end method .method public getActionItems()Ljava/util/ArrayList; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;" } .end annotation .line 1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->flagActionItems()V .line 2 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mActionItems:Ljava/util/ArrayList; return-object v0 .end method .method public getActionViewStatesKey()Ljava/lang/String; .locals 1 const-string v0, "android:menu:actionviewstates" return-object v0 .end method .method public getContext()Landroid/content/Context; .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mContext:Landroid/content/Context; return-object v0 .end method .method public getExpandedItem()Landroidx/appcompat/view/menu/g; .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mExpandedItem:Landroidx/appcompat/view/menu/g; return-object v0 .end method .method public getHeaderIcon()Landroid/graphics/drawable/Drawable; .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mHeaderIcon:Landroid/graphics/drawable/Drawable; return-object v0 .end method .method public getHeaderTitle()Ljava/lang/CharSequence; .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mHeaderTitle:Ljava/lang/CharSequence; return-object v0 .end method .method public getHeaderView()Landroid/view/View; .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mHeaderView:Landroid/view/View; return-object v0 .end method .method public getItem(I)Landroid/view/MenuItem; .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0, p1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object p1 check-cast p1, Landroid/view/MenuItem; return-object p1 .end method .method public getNonActionItems()Ljava/util/ArrayList; .locals 1 .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;" } .end annotation .line 1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->flagActionItems()V .line 2 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mNonActionItems:Ljava/util/ArrayList; return-object v0 .end method .method public getOptionalIconsVisible()Z .locals 1 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mOptionalIconsVisible:Z return v0 .end method .method public getResources()Landroid/content/res/Resources; .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mResources:Landroid/content/res/Resources; return-object v0 .end method .method public getRootMenu()Landroidx/appcompat/view/menu/d; .locals 0 return-object p0 .end method .method public getVisibleItems()Ljava/util/ArrayList; .locals 5 .annotation build Landroidx/annotation/NonNull; .end annotation .annotation system Ldalvik/annotation/Signature; value = { "()", "Ljava/util/ArrayList<", "Landroidx/appcompat/view/menu/g;", ">;" } .end annotation .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mIsVisibleItemsStale:Z if-nez v0, :cond_0 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mVisibleItems:Ljava/util/ArrayList; return-object v0 .line 2 :cond_0 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mVisibleItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->clear()V .line 3 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v2, v0, :cond_2 .line 4 iget-object v3, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v3, v2}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/appcompat/view/menu/g; .line 5 invoke-virtual {v3}, Landroidx/appcompat/view/menu/g;->isVisible()Z move-result v4 if-eqz v4, :cond_1 iget-object v4, p0, Landroidx/appcompat/view/menu/d;->mVisibleItems:Ljava/util/ArrayList; invoke-virtual {v4, v3}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z :cond_1 add-int/lit8 v2, v2, 0x1 goto :goto_0 .line 6 :cond_2 iput-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mIsVisibleItemsStale:Z const/4 v0, 0x1 .line 7 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mIsActionItemsStale:Z .line 8 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mVisibleItems:Ljava/util/ArrayList; return-object v0 .end method .method public hasVisibleItems()Z .locals 5 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mOverrideVisibleItems:Z const/4 v1, 0x1 if-eqz v0, :cond_0 return v1 .line 2 :cond_0 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->size()I move-result v0 const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v3, v0, :cond_2 .line 3 iget-object v4, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/appcompat/view/menu/g; .line 4 invoke-virtual {v4}, Landroidx/appcompat/view/menu/g;->isVisible()Z move-result v4 if-eqz v4, :cond_1 return v1 :cond_1 add-int/lit8 v3, v3, 0x1 goto :goto_0 :cond_2 return v2 .end method .method public isGroupDividerEnabled()Z .locals 1 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mGroupDividerEnabled:Z return v0 .end method .method public isQwertyMode()Z .locals 1 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mQwertyMode:Z return v0 .end method .method public isShortcutKey(ILandroid/view/KeyEvent;)Z .locals 0 .line 1 invoke-virtual {p0, p1, p2}, Landroidx/appcompat/view/menu/d;->findItemWithShortcutForKey(ILandroid/view/KeyEvent;)Landroidx/appcompat/view/menu/g; move-result-object p1 if-eqz p1, :cond_0 const/4 p1, 0x1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 return p1 .end method .method public isShortcutsVisible()Z .locals 1 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mShortcutsVisible:Z return v0 .end method .method public onItemActionRequestChanged(Landroidx/appcompat/view/menu/g;)V .locals 0 const/4 p1, 0x1 .line 1 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mIsActionItemsStale:Z .line 2 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-void .end method .method public onItemVisibleChanged(Landroidx/appcompat/view/menu/g;)V .locals 0 const/4 p1, 0x1 .line 1 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mIsVisibleItemsStale:Z .line 2 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-void .end method .method public onItemsChanged(Z)V .locals 2 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mPreventDispatchingItemsChanged:Z const/4 v1, 0x1 if-nez v0, :cond_1 if-eqz p1, :cond_0 .line 2 iput-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mIsVisibleItemsStale:Z .line 3 iput-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mIsActionItemsStale:Z .line 4 :cond_0 invoke-direct {p0, p1}, Landroidx/appcompat/view/menu/d;->dispatchPresenterUpdate(Z)V goto :goto_0 .line 5 :cond_1 iput-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mItemsChangedWhileDispatchPrevented:Z if-eqz p1, :cond_2 .line 6 iput-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mStructureChangedWhileDispatchPrevented:Z :cond_2 :goto_0 return-void .end method .method public performIdentifierAction(II)Z .locals 0 .line 1 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->findItem(I)Landroid/view/MenuItem; move-result-object p1 invoke-virtual {p0, p1, p2}, Landroidx/appcompat/view/menu/d;->performItemAction(Landroid/view/MenuItem;I)Z move-result p1 return p1 .end method .method public performItemAction(Landroid/view/MenuItem;I)Z .locals 1 const/4 v0, 0x0 .line 1 invoke-virtual {p0, p1, v0, p2}, Landroidx/appcompat/view/menu/d;->performItemAction(Landroid/view/MenuItem;Landroidx/appcompat/view/menu/i;I)Z move-result p1 return p1 .end method .method public performItemAction(Landroid/view/MenuItem;Landroidx/appcompat/view/menu/i;I)Z .locals 6 .line 2 check-cast p1, Landroidx/appcompat/view/menu/g; const/4 v0, 0x0 if-eqz p1, :cond_9 .line 3 invoke-virtual {p1}, Landroidx/appcompat/view/menu/g;->isEnabled()Z move-result v1 if-nez v1, :cond_0 goto :goto_3 .line 4 :cond_0 invoke-virtual {p1}, Landroidx/appcompat/view/menu/g;->n()Z move-result v1 .line 5 invoke-virtual {p1}, Landroidx/appcompat/view/menu/g;->a()Ls1/a; move-result-object v2 const/4 v3, 0x1 if-eqz v2, :cond_1 .line 6 invoke-virtual {v2}, Ls1/a;->b()Z move-result v4 if-eqz v4, :cond_1 move v4, v3 goto :goto_0 :cond_1 move v4, v0 .line 7 :goto_0 invoke-virtual {p1}, Landroidx/appcompat/view/menu/g;->m()Z move-result v5 if-eqz v5, :cond_2 .line 8 invoke-virtual {p1}, Landroidx/appcompat/view/menu/g;->expandActionView()Z move-result p1 or-int/2addr v1, p1 if-eqz v1, :cond_8 .line 9 invoke-virtual {p0, v3}, Landroidx/appcompat/view/menu/d;->close(Z)V goto :goto_2 .line 10 :cond_2 invoke-virtual {p1}, Landroidx/appcompat/view/menu/g;->hasSubMenu()Z move-result v5 if-nez v5, :cond_4 if-eqz v4, :cond_3 goto :goto_1 :cond_3 and-int/lit8 p1, p3, 0x1 if-nez p1, :cond_8 .line 11 invoke-virtual {p0, v3}, Landroidx/appcompat/view/menu/d;->close(Z)V goto :goto_2 :cond_4 :goto_1 and-int/lit8 p3, p3, 0x4 if-nez p3, :cond_5 .line 12 invoke-virtual {p0, v0}, Landroidx/appcompat/view/menu/d;->close(Z)V .line 13 :cond_5 invoke-virtual {p1}, Landroidx/appcompat/view/menu/g;->hasSubMenu()Z move-result p3 if-nez p3, :cond_6 .line 14 new-instance p3, Landroidx/appcompat/view/menu/l; invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->getContext()Landroid/content/Context; move-result-object v0 invoke-direct {p3, v0, p0, p1}, Landroidx/appcompat/view/menu/l;->(Landroid/content/Context;Landroidx/appcompat/view/menu/d;Landroidx/appcompat/view/menu/g;)V invoke-virtual {p1, p3}, Landroidx/appcompat/view/menu/g;->A(Landroidx/appcompat/view/menu/l;)V .line 15 :cond_6 invoke-virtual {p1}, Landroidx/appcompat/view/menu/g;->getSubMenu()Landroid/view/SubMenu; move-result-object p1 check-cast p1, Landroidx/appcompat/view/menu/l; if-eqz v4, :cond_7 .line 16 invoke-virtual {v2, p1}, Ls1/a;->g(Landroid/view/SubMenu;)V .line 17 :cond_7 invoke-direct {p0, p1, p2}, Landroidx/appcompat/view/menu/d;->dispatchSubMenuSelected(Landroidx/appcompat/view/menu/l;Landroidx/appcompat/view/menu/i;)Z move-result p1 or-int/2addr v1, p1 if-nez v1, :cond_8 .line 18 invoke-virtual {p0, v3}, Landroidx/appcompat/view/menu/d;->close(Z)V :cond_8 :goto_2 return v1 :cond_9 :goto_3 return v0 .end method .method public performShortcut(ILandroid/view/KeyEvent;I)Z .locals 0 .line 1 invoke-virtual {p0, p1, p2}, Landroidx/appcompat/view/menu/d;->findItemWithShortcutForKey(ILandroid/view/KeyEvent;)Landroidx/appcompat/view/menu/g; move-result-object p1 if-eqz p1, :cond_0 .line 2 invoke-virtual {p0, p1, p3}, Landroidx/appcompat/view/menu/d;->performItemAction(Landroid/view/MenuItem;I)Z move-result p1 goto :goto_0 :cond_0 const/4 p1, 0x0 :goto_0 and-int/lit8 p2, p3, 0x2 if-eqz p2, :cond_1 const/4 p2, 0x1 .line 3 invoke-virtual {p0, p2}, Landroidx/appcompat/view/menu/d;->close(Z)V :cond_1 return p1 .end method .method public removeGroup(I)V .locals 5 .line 1 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->findGroupIndex(I)I move-result v0 if-ltz v0, :cond_1 .line 2 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 sub-int/2addr v1, v0 const/4 v2, 0x0 move v3, v2 :goto_0 add-int/lit8 v4, v3, 0x1 if-ge v3, v1, :cond_0 .line 3 iget-object v3, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v3, v0}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v3 check-cast v3, Landroidx/appcompat/view/menu/g; invoke-virtual {v3}, Landroidx/appcompat/view/menu/g;->getGroupId()I move-result v3 if-ne v3, p1, :cond_0 .line 4 invoke-direct {p0, v0, v2}, Landroidx/appcompat/view/menu/d;->removeItemAtInt(IZ)V move v3, v4 goto :goto_0 :cond_0 const/4 p1, 0x1 .line 5 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V :cond_1 return-void .end method .method public removeItem(I)V .locals 1 .line 1 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->findItemIndex(I)I move-result p1 const/4 v0, 0x1 invoke-direct {p0, p1, v0}, Landroidx/appcompat/view/menu/d;->removeItemAtInt(IZ)V return-void .end method .method public removeItemAt(I)V .locals 1 const/4 v0, 0x1 .line 1 invoke-direct {p0, p1, v0}, Landroidx/appcompat/view/menu/d;->removeItemAtInt(IZ)V return-void .end method .method public removeMenuPresenter(Landroidx/appcompat/view/menu/i;)V .locals 3 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v0}, Ljava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator; move-result-object v0 :cond_0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Ljava/lang/ref/WeakReference; .line 2 invoke-virtual {v1}, Ljava/lang/ref/WeakReference;->get()Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/i; if-eqz v2, :cond_1 if-ne v2, p1, :cond_0 .line 3 :cond_1 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mPresenters:Ljava/util/concurrent/CopyOnWriteArrayList; invoke-virtual {v2, v1}, Ljava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;)Z goto :goto_0 :cond_2 return-void .end method .method public restoreActionViewStates(Landroid/os/Bundle;)V .locals 7 if-nez p1, :cond_0 return-void .line 1 :cond_0 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->getActionViewStatesKey()Ljava/lang/String; move-result-object v0 .line 2 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray; move-result-object v0 .line 3 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->size()I move-result v1 const/4 v2, 0x0 :goto_0 if-ge v2, v1, :cond_3 .line 4 invoke-virtual {p0, v2}, Landroidx/appcompat/view/menu/d;->getItem(I)Landroid/view/MenuItem; move-result-object v3 .line 5 invoke-interface {v3}, Landroid/view/MenuItem;->getActionView()Landroid/view/View; move-result-object v4 if-eqz v4, :cond_1 .line 6 invoke-virtual {v4}, Landroid/view/View;->getId()I move-result v5 const/4 v6, -0x1 if-eq v5, v6, :cond_1 .line 7 invoke-virtual {v4, v0}, Landroid/view/View;->restoreHierarchyState(Landroid/util/SparseArray;)V .line 8 :cond_1 invoke-interface {v3}, Landroid/view/MenuItem;->hasSubMenu()Z move-result v4 if-eqz v4, :cond_2 .line 9 invoke-interface {v3}, Landroid/view/MenuItem;->getSubMenu()Landroid/view/SubMenu; move-result-object v3 check-cast v3, Landroidx/appcompat/view/menu/l; .line 10 invoke-virtual {v3, p1}, Landroidx/appcompat/view/menu/d;->restoreActionViewStates(Landroid/os/Bundle;)V :cond_2 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 const-string v0, "android:menu:expandedactionview" .line 11 invoke-virtual {p1, v0}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I move-result p1 if-lez p1, :cond_4 .line 12 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->findItem(I)Landroid/view/MenuItem; move-result-object p1 if-eqz p1, :cond_4 .line 13 invoke-interface {p1}, Landroid/view/MenuItem;->expandActionView()Z :cond_4 return-void .end method .method public restorePresenterStates(Landroid/os/Bundle;)V .locals 0 .line 1 invoke-direct {p0, p1}, Landroidx/appcompat/view/menu/d;->dispatchRestoreInstanceState(Landroid/os/Bundle;)V return-void .end method .method public saveActionViewStates(Landroid/os/Bundle;)V .locals 7 .line 1 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->size()I move-result v0 const/4 v1, 0x0 const/4 v2, 0x0 :goto_0 if-ge v2, v0, :cond_3 .line 2 invoke-virtual {p0, v2}, Landroidx/appcompat/view/menu/d;->getItem(I)Landroid/view/MenuItem; move-result-object v3 .line 3 invoke-interface {v3}, Landroid/view/MenuItem;->getActionView()Landroid/view/View; move-result-object v4 if-eqz v4, :cond_1 .line 4 invoke-virtual {v4}, Landroid/view/View;->getId()I move-result v5 const/4 v6, -0x1 if-eq v5, v6, :cond_1 if-nez v1, :cond_0 .line 5 new-instance v1, Landroid/util/SparseArray; invoke-direct {v1}, Landroid/util/SparseArray;->()V .line 6 :cond_0 invoke-virtual {v4, v1}, Landroid/view/View;->saveHierarchyState(Landroid/util/SparseArray;)V .line 7 invoke-interface {v3}, Landroid/view/MenuItem;->isActionViewExpanded()Z move-result v4 if-eqz v4, :cond_1 .line 8 invoke-interface {v3}, Landroid/view/MenuItem;->getItemId()I move-result v4 const-string v5, "android:menu:expandedactionview" invoke-virtual {p1, v5, v4}, Landroid/os/Bundle;->putInt(Ljava/lang/String;I)V .line 9 :cond_1 invoke-interface {v3}, Landroid/view/MenuItem;->hasSubMenu()Z move-result v4 if-eqz v4, :cond_2 .line 10 invoke-interface {v3}, Landroid/view/MenuItem;->getSubMenu()Landroid/view/SubMenu; move-result-object v3 check-cast v3, Landroidx/appcompat/view/menu/l; .line 11 invoke-virtual {v3, p1}, Landroidx/appcompat/view/menu/d;->saveActionViewStates(Landroid/os/Bundle;)V :cond_2 add-int/lit8 v2, v2, 0x1 goto :goto_0 :cond_3 if-eqz v1, :cond_4 .line 12 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->getActionViewStatesKey()Ljava/lang/String; move-result-object v0 invoke-virtual {p1, v0, v1}, Landroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V :cond_4 return-void .end method .method public savePresenterStates(Landroid/os/Bundle;)V .locals 0 .line 1 invoke-direct {p0, p1}, Landroidx/appcompat/view/menu/d;->dispatchSaveInstanceState(Landroid/os/Bundle;)V return-void .end method .method public setCallback(Landroidx/appcompat/view/menu/d$a;)V .locals 0 .line 1 iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mCallback:Landroidx/appcompat/view/menu/d$a; return-void .end method .method public setCurrentMenuInfo(Landroid/view/ContextMenu$ContextMenuInfo;)V .locals 0 .line 1 iput-object p1, p0, Landroidx/appcompat/view/menu/d;->mCurrentMenuInfo:Landroid/view/ContextMenu$ContextMenuInfo; return-void .end method .method public setDefaultShowAsAction(I)Landroidx/appcompat/view/menu/d; .locals 0 .line 1 iput p1, p0, Landroidx/appcompat/view/menu/d;->mDefaultShowAsAction:I return-object p0 .end method .method public setExclusiveItemChecked(Landroid/view/MenuItem;)V .locals 6 .line 1 invoke-interface {p1}, Landroid/view/MenuItem;->getGroupId()I move-result v0 .line 2 iget-object v1, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v1}, Ljava/util/ArrayList;->size()I move-result v1 .line 3 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->stopDispatchingItemsChanged()V const/4 v2, 0x0 move v3, v2 :goto_0 if-ge v3, v1, :cond_4 .line 4 iget-object v4, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v4, v3}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/appcompat/view/menu/g; .line 5 invoke-virtual {v4}, Landroidx/appcompat/view/menu/g;->getGroupId()I move-result v5 if-ne v5, v0, :cond_3 .line 6 invoke-virtual {v4}, Landroidx/appcompat/view/menu/g;->p()Z move-result v5 if-nez v5, :cond_0 goto :goto_2 .line 7 :cond_0 invoke-virtual {v4}, Landroidx/appcompat/view/menu/g;->isCheckable()Z move-result v5 if-nez v5, :cond_1 goto :goto_2 :cond_1 if-ne v4, p1, :cond_2 const/4 v5, 0x1 goto :goto_1 :cond_2 move v5, v2 .line 8 :goto_1 invoke-virtual {v4, v5}, Landroidx/appcompat/view/menu/g;->v(Z)V :cond_3 :goto_2 add-int/lit8 v3, v3, 0x1 goto :goto_0 .line 9 :cond_4 invoke-virtual {p0}, Landroidx/appcompat/view/menu/d;->startDispatchingItemsChanged()V return-void .end method .method public setGroupCheckable(IZZ)V .locals 4 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 .line 2 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/g; .line 3 invoke-virtual {v2}, Landroidx/appcompat/view/menu/g;->getGroupId()I move-result v3 if-ne v3, p1, :cond_0 .line 4 invoke-virtual {v2, p3}, Landroidx/appcompat/view/menu/g;->w(Z)V .line 5 invoke-virtual {v2, p2}, Landroidx/appcompat/view/menu/g;->setCheckable(Z)Landroid/view/MenuItem; :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 return-void .end method .method public setGroupDividerEnabled(Z)V .locals 0 .line 1 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mGroupDividerEnabled:Z return-void .end method .method public setGroupEnabled(IZ)V .locals 4 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 :goto_0 if-ge v1, v0, :cond_1 .line 2 iget-object v2, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v2, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v2 check-cast v2, Landroidx/appcompat/view/menu/g; .line 3 invoke-virtual {v2}, Landroidx/appcompat/view/menu/g;->getGroupId()I move-result v3 if-ne v3, p1, :cond_0 .line 4 invoke-virtual {v2, p2}, Landroidx/appcompat/view/menu/g;->setEnabled(Z)Landroid/view/MenuItem; :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 return-void .end method .method public setGroupVisible(IZ)V .locals 6 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 const/4 v1, 0x0 move v2, v1 :goto_0 const/4 v3, 0x1 if-ge v1, v0, :cond_1 .line 2 iget-object v4, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v4, v1}, Ljava/util/ArrayList;->get(I)Ljava/lang/Object; move-result-object v4 check-cast v4, Landroidx/appcompat/view/menu/g; .line 3 invoke-virtual {v4}, Landroidx/appcompat/view/menu/g;->getGroupId()I move-result v5 if-ne v5, p1, :cond_0 .line 4 invoke-virtual {v4, p2}, Landroidx/appcompat/view/menu/g;->B(Z)Z move-result v4 if-eqz v4, :cond_0 move v2, v3 :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 :cond_1 if-eqz v2, :cond_2 .line 5 invoke-virtual {p0, v3}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V :cond_2 return-void .end method .method public setHeaderIconInt(I)Landroidx/appcompat/view/menu/d; .locals 6 const/4 v1, 0x0 const/4 v2, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 move-object v0, p0 move v3, p1 .line 2 invoke-direct/range {v0 .. v5}, Landroidx/appcompat/view/menu/d;->setHeaderInternal(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V return-object p0 .end method .method public setHeaderIconInt(Landroid/graphics/drawable/Drawable;)Landroidx/appcompat/view/menu/d; .locals 6 const/4 v1, 0x0 const/4 v2, 0x0 const/4 v3, 0x0 const/4 v5, 0x0 move-object v0, p0 move-object v4, p1 .line 1 invoke-direct/range {v0 .. v5}, Landroidx/appcompat/view/menu/d;->setHeaderInternal(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V return-object p0 .end method .method public setHeaderTitleInt(I)Landroidx/appcompat/view/menu/d; .locals 6 const/4 v2, 0x0 const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 move-object v0, p0 move v1, p1 .line 2 invoke-direct/range {v0 .. v5}, Landroidx/appcompat/view/menu/d;->setHeaderInternal(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V return-object p0 .end method .method public setHeaderTitleInt(Ljava/lang/CharSequence;)Landroidx/appcompat/view/menu/d; .locals 6 const/4 v1, 0x0 const/4 v3, 0x0 const/4 v4, 0x0 const/4 v5, 0x0 move-object v0, p0 move-object v2, p1 .line 1 invoke-direct/range {v0 .. v5}, Landroidx/appcompat/view/menu/d;->setHeaderInternal(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V return-object p0 .end method .method public setHeaderViewInt(Landroid/view/View;)Landroidx/appcompat/view/menu/d; .locals 6 const/4 v1, 0x0 const/4 v2, 0x0 const/4 v3, 0x0 const/4 v4, 0x0 move-object v0, p0 move-object v5, p1 .line 1 invoke-direct/range {v0 .. v5}, Landroidx/appcompat/view/menu/d;->setHeaderInternal(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V return-object p0 .end method .method public setOptionalIconsVisible(Z)V .locals 0 .line 1 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mOptionalIconsVisible:Z return-void .end method .method public setOverrideVisibleItems(Z)V .locals 0 .line 1 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mOverrideVisibleItems:Z return-void .end method .method public setQwertyMode(Z)V .locals 0 .line 1 iput-boolean p1, p0, Landroidx/appcompat/view/menu/d;->mQwertyMode:Z const/4 p1, 0x0 .line 2 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-void .end method .method public setShortcutsVisible(Z)V .locals 1 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mShortcutsVisible:Z if-ne v0, p1, :cond_0 return-void .line 2 :cond_0 invoke-direct {p0, p1}, Landroidx/appcompat/view/menu/d;->setShortcutsVisibleInner(Z)V const/4 p1, 0x0 .line 3 invoke-virtual {p0, p1}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V return-void .end method .method public size()I .locals 1 .line 1 iget-object v0, p0, Landroidx/appcompat/view/menu/d;->mItems:Ljava/util/ArrayList; invoke-virtual {v0}, Ljava/util/ArrayList;->size()I move-result v0 return v0 .end method .method public startDispatchingItemsChanged()V .locals 2 const/4 v0, 0x0 .line 1 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mPreventDispatchingItemsChanged:Z .line 2 iget-boolean v1, p0, Landroidx/appcompat/view/menu/d;->mItemsChangedWhileDispatchPrevented:Z if-eqz v1, :cond_0 .line 3 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mItemsChangedWhileDispatchPrevented:Z .line 4 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mStructureChangedWhileDispatchPrevented:Z invoke-virtual {p0, v0}, Landroidx/appcompat/view/menu/d;->onItemsChanged(Z)V :cond_0 return-void .end method .method public stopDispatchingItemsChanged()V .locals 1 .line 1 iget-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mPreventDispatchingItemsChanged:Z if-nez v0, :cond_0 const/4 v0, 0x1 .line 2 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mPreventDispatchingItemsChanged:Z const/4 v0, 0x0 .line 3 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mItemsChangedWhileDispatchPrevented:Z .line 4 iput-boolean v0, p0, Landroidx/appcompat/view/menu/d;->mStructureChangedWhileDispatchPrevented:Z :cond_0 return-void .end method