/* * Copyright (C) 2014 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.support.v7.widget; import android.support.v7.internal.app.WindowCallback; import android.support.v7.view.ActionMode; import android.view.Menu; import android.view.MenuItem; import android.view.View; /** * A simple decorator stub for WindowCallback that passes through any calls * to the wrapped instance as a base implementation. Call super.foo() to call into * the wrapped callback for any subclasses. * * @hide for internal use */ public class WindowCallbackWrapper implements WindowCallback { private WindowCallback mWrapped; public WindowCallbackWrapper(WindowCallback wrapped) { if (wrapped == null) { throw new IllegalArgumentException("Window callback may not be null"); } mWrapped = wrapped; } @Override public boolean onMenuItemSelected(int featureId, MenuItem menuItem) { return mWrapped.onMenuItemSelected(featureId, menuItem); } @Override public boolean onCreatePanelMenu(int featureId, Menu menu) { return mWrapped.onCreatePanelMenu(featureId, menu); } @Override public boolean onPreparePanel(int featureId, View menuView, Menu menu) { return mWrapped.onPreparePanel(featureId, menuView, menu); } @Override public void onPanelClosed(int featureId, Menu menu) { mWrapped.onPanelClosed(featureId, menu); } @Override public boolean onMenuOpened(int featureId, Menu menu) { return mWrapped.onMenuOpened(featureId, menu); } @Override public ActionMode startActionMode(ActionMode.Callback callback) { return mWrapped.startActionMode(callback); } @Override public View onCreatePanelView(int featureId) { return mWrapped.onCreatePanelView(featureId); } }