1 /* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package androidx.appcompat.view.menu; 18 19 import static androidx.annotation.RestrictTo.Scope.LIBRARY_GROUP; 20 21 import android.content.Context; 22 import android.graphics.drawable.Drawable; 23 import android.view.MenuItem; 24 import android.view.SubMenu; 25 import android.view.View; 26 27 import androidx.annotation.RestrictTo; 28 import androidx.core.internal.view.SupportSubMenu; 29 30 /** 31 * Wraps a support {@link SupportSubMenu} as a framework {@link android.view.SubMenu} 32 * @hide 33 */ 34 @RestrictTo(LIBRARY_GROUP) 35 class SubMenuWrapperICS extends MenuWrapperICS implements SubMenu { 36 37 SubMenuWrapperICS(Context context, SupportSubMenu subMenu) { 38 super(context, subMenu); 39 } 40 41 @Override 42 public SupportSubMenu getWrappedObject() { 43 return (SupportSubMenu) mWrappedObject; 44 } 45 46 @Override 47 public SubMenu setHeaderTitle(int titleRes) { 48 getWrappedObject().setHeaderTitle(titleRes); 49 return this; 50 } 51 52 @Override 53 public SubMenu setHeaderTitle(CharSequence title) { 54 getWrappedObject().setHeaderTitle(title); 55 return this; 56 } 57 58 @Override 59 public SubMenu setHeaderIcon(int iconRes) { 60 getWrappedObject().setHeaderIcon(iconRes); 61 return this; 62 } 63 64 @Override 65 public SubMenu setHeaderIcon(Drawable icon) { 66 getWrappedObject().setHeaderIcon(icon); 67 return this; 68 } 69 70 @Override 71 public SubMenu setHeaderView(View view) { 72 getWrappedObject().setHeaderView(view); 73 return this; 74 } 75 76 @Override 77 public void clearHeader() { 78 getWrappedObject().clearHeader(); 79 } 80 81 @Override 82 public SubMenu setIcon(int iconRes) { 83 getWrappedObject().setIcon(iconRes); 84 return this; 85 } 86 87 @Override 88 public SubMenu setIcon(Drawable icon) { 89 getWrappedObject().setIcon(icon); 90 return this; 91 } 92 93 @Override 94 public MenuItem getItem() { 95 return getMenuItemWrapper(getWrappedObject().getItem()); 96 } 97 } 98