16c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki/* 26c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * Copyright (C) 2015 The Android Open Source Project 36c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * 46c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * Licensed under the Apache License, Version 2.0 (the "License"); 56c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * you may not use this file except in compliance with the License. 66c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * You may obtain a copy of the License at 76c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * 86c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * http://www.apache.org/licenses/LICENSE-2.0 96c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * 106c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * Unless required by applicable law or agreed to in writing, software 116c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * distributed under the License is distributed on an "AS IS" BASIS, 126c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * See the License for the specific language governing permissions and 146c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * limitations under the License. 156c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki */ 166c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 176c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Arakipackage android.support.design.internal; 186c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 196c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Arakiimport android.content.Context; 206c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Arakiimport android.support.v7.internal.view.menu.MenuBuilder; 216c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Arakiimport android.support.v7.internal.view.menu.MenuItemImpl; 226c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Arakiimport android.support.v7.internal.view.menu.SubMenuBuilder; 236c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Arakiimport android.view.MenuItem; 246c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 256c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki/** 266c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * This is a {@link SubMenuBuilder} that it notifies the parent {@link NavigationMenu} of its menu 276c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * updates. 286c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * 296c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki * @hide 306c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki */ 316c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Arakipublic class NavigationSubMenu extends SubMenuBuilder { 326c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 336c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki public NavigationSubMenu(Context context, NavigationMenu menu, MenuItemImpl item) { 346c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki super(context, menu, item); 356c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki } 366c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 376c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki @Override 386c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki public MenuItem add(CharSequence title) { 396c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki MenuItem item = super.add(title); 406c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki notifyParent(); 416c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki return item; 426c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki } 436c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 446c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki @Override 456c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki public MenuItem add(int titleRes) { 466c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki MenuItem item = super.add(titleRes); 476c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki notifyParent(); 486c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki return item; 496c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki } 506c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 516c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki @Override 526c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki public MenuItem add(int groupId, int itemId, int order, CharSequence title) { 536c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki MenuItem item = super.add(groupId, itemId, order, title); 546c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki notifyParent(); 556c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki return item; 566c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki } 576c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 586c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki @Override 596c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki public MenuItem add(int groupId, int itemId, int order, int titleRes) { 606c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki MenuItem item = super.add(groupId, itemId, order, titleRes); 616c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki notifyParent(); 626c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki return item; 636c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki } 646c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 656c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki private void notifyParent() { 666c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki ((MenuBuilder) getParentMenu()).onItemsChanged(true); 676c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki } 686c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki 696c72ea0134a3309ff8197f0862aad8d7bc712b55Yuichi Araki} 70