MenuWrapperFactory.java revision c39d9c75590eca86a5e7e32a8824ba04a0d42e9b
16e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown/* 26e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * Copyright (C) 2012 The Android Open Source Project 36e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * 46e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * Licensed under the Apache License, Version 2.0 (the "License"); 56e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * you may not use this file except in compliance with the License. 66e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * You may obtain a copy of the License at 76e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * 86e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * http://www.apache.org/licenses/LICENSE-2.0 96e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * 106e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * Unless required by applicable law or agreed to in writing, software 116e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * distributed under the License is distributed on an "AS IS" BASIS, 126e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * See the License for the specific language governing permissions and 146e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown * limitations under the License. 156e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown */ 166e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 1766698bb15ba0f873aa1c2290cc50d6bb839a474aChris Banespackage android.support.v7.view.menu; 186e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 19d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banesimport android.content.Context; 206e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.os.Build; 21c39d9c75590eca86a5e7e32a8824ba04a0d42e9bAlan Viveretteimport android.support.annotation.RestrictTo; 226e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportMenu; 236e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportMenuItem; 246e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.support.v4.internal.view.SupportSubMenu; 256e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.view.Menu; 266e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownimport android.view.MenuItem; 27d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banesimport android.view.SubMenu; 286e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 29c39d9c75590eca86a5e7e32a8824ba04a0d42e9bAlan Viveretteimport static android.support.annotation.RestrictTo.Scope.GROUP_ID; 30c39d9c75590eca86a5e7e32a8824ba04a0d42e9bAlan Viverette 3189208232f3b5d1451408d787872504a190bc7ee0Chris Banes/** 3289208232f3b5d1451408d787872504a190bc7ee0Chris Banes * @hide 3389208232f3b5d1451408d787872504a190bc7ee0Chris Banes */ 34c39d9c75590eca86a5e7e32a8824ba04a0d42e9bAlan Viverette@RestrictTo(GROUP_ID) 356e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brownpublic final class MenuWrapperFactory { 366e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown private MenuWrapperFactory() { 376e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 386e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 39d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static Menu wrapSupportMenu(Context context, SupportMenu supportMenu) { 4089208232f3b5d1451408d787872504a190bc7ee0Chris Banes if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 41d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new MenuWrapperICS(context, supportMenu); 426e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 43d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes throw new UnsupportedOperationException(); 446e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 456e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 46d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static MenuItem wrapSupportMenuItem(Context context, SupportMenuItem supportMenuItem) { 476e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 48d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new MenuItemWrapperJB(context, supportMenuItem); 496e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 50d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new MenuItemWrapperICS(context, supportMenuItem); 516e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 526e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown throw new UnsupportedOperationException(); 536e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 546e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown 55d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes public static SubMenu wrapSupportSubMenu(Context context, SupportSubMenu supportSubMenu) { 5689208232f3b5d1451408d787872504a190bc7ee0Chris Banes if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH) { 57d837ef307ff53290159c0d7c8cf9e3e0dc2fa410Chris Banes return new SubMenuWrapperICS(context, supportSubMenu); 586e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 596e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown throw new UnsupportedOperationException(); 606e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown } 616e6abe6eb358db4c3932752249c8ac61dd3dab21Jeff Brown} 62