From 974bff077bf9bf5aaa666e2a3c25e06f3cef37c2 Mon Sep 17 00:00:00 2001 From: Yuichi Araki Date: Wed, 30 Nov 2016 01:19:38 +0000 Subject: [PATCH] am 5d774a17: am 1243f6f3: am 762955b3: am af016cf1: Merge "Fix for menu XML ending with a sub menu" into lmp-mr1-ub-dev * commit '5d774a17320f94d75b360f572a562d00c78e5911': Fix for menu XML ending with a sub menu GitOrigin-RevId=245d1e14c05a695e45c7f887a1ac1d03cfae2d7a PiperOrigin-RevId: 140548800 --- .../design/internal/NavigationMenuPresenter.java | 10 ++++++++++ src/android/support/design/widget/NavigationView.java | 3 +++ 2 files changed, 13 insertions(+) diff --git a/src/android/support/design/internal/NavigationMenuPresenter.java b/src/android/support/design/internal/NavigationMenuPresenter.java index 55a759443..b89c603a1 100644 --- a/src/android/support/design/internal/NavigationMenuPresenter.java +++ b/src/android/support/design/internal/NavigationMenuPresenter.java @@ -233,6 +233,12 @@ public class NavigationMenuPresenter implements MenuPresenter, AdapterView.OnIte mItemBackground = itemBackground; } + public void setUpdateSuspended(boolean updateSuspended) { + if (mAdapter != null) { + mAdapter.setUpdateSuspended(updateSuspended); + } + } + private class NavigationMenuAdapter extends BaseAdapter { private static final String STATE_CHECKED_ITEMS = "android:menu:checked"; @@ -432,6 +438,10 @@ public class NavigationMenuPresenter implements MenuPresenter, AdapterView.OnIte } } + public void setUpdateSuspended(boolean updateSuspended) { + mUpdateSuspended = updateSuspended; + } + } /** diff --git a/src/android/support/design/widget/NavigationView.java b/src/android/support/design/widget/NavigationView.java index 02dfa3ce2..e3a626eb6 100644 --- a/src/android/support/design/widget/NavigationView.java +++ b/src/android/support/design/widget/NavigationView.java @@ -207,7 +207,10 @@ public class NavigationView extends ScrimInsetsFrameLayout { * @param resId ID of a menu resource to inflate */ public void inflateMenu(int resId) { + mPresenter.setUpdateSuspended(true); getMenuInflater().inflate(resId, mMenu); + mPresenter.setUpdateSuspended(false); + mPresenter.updateMenuView(false); } /**