/* * 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.internal.view; import android.view.ActionMode; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.accessibility.AccessibilityEvent; /** * A simple decorator stub for Window.Callback 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 */ public class WindowCallbackWrapper implements Window.Callback { final Window.Callback mWrapped; public WindowCallbackWrapper(Window.Callback wrapped) { if (wrapped == null) { throw new IllegalArgumentException("Window callback may not be null"); } mWrapped = wrapped; } @Override public boolean dispatchKeyEvent(KeyEvent event) { return mWrapped.dispatchKeyEvent(event); } @Override public boolean dispatchKeyShortcutEvent(KeyEvent event) { return mWrapped.dispatchKeyShortcutEvent(event); } @Override public boolean dispatchTouchEvent(MotionEvent event) { return mWrapped.dispatchTouchEvent(event); } @Override public boolean dispatchTrackballEvent(MotionEvent event) { return mWrapped.dispatchTrackballEvent(event); } @Override public boolean dispatchGenericMotionEvent(MotionEvent event) { return mWrapped.dispatchGenericMotionEvent(event); } @Override public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { return mWrapped.dispatchPopulateAccessibilityEvent(event); } @Override public View onCreatePanelView(int featureId) { return mWrapped.onCreatePanelView(featureId); } @Override public boolean onCreatePanelMenu(int featureId, Menu menu) { return mWrapped.onCreatePanelMenu(featureId, menu); } @Override public boolean onPreparePanel(int featureId, View view, Menu menu) { return mWrapped.onPreparePanel(featureId, view, menu); } @Override public boolean onMenuOpened(int featureId, Menu menu) { return mWrapped.onMenuOpened(featureId, menu); } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { return mWrapped.onMenuItemSelected(featureId, item); } @Override public void onWindowAttributesChanged(WindowManager.LayoutParams attrs) { mWrapped.onWindowAttributesChanged(attrs); } @Override public void onContentChanged() { mWrapped.onContentChanged(); } @Override public void onWindowFocusChanged(boolean hasFocus) { mWrapped.onWindowFocusChanged(hasFocus); } @Override public void onAttachedToWindow() { mWrapped.onAttachedToWindow(); } @Override public void onDetachedFromWindow() { mWrapped.onDetachedFromWindow(); } @Override public void onPanelClosed(int featureId, Menu menu) { mWrapped.onPanelClosed(featureId, menu); } @Override public boolean onSearchRequested() { return mWrapped.onSearchRequested(); } @Override public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) { return mWrapped.onWindowStartingActionMode(callback); } @Override public void onActionModeStarted(ActionMode mode) { mWrapped.onActionModeStarted(mode); } @Override public void onActionModeFinished(ActionMode mode) { mWrapped.onActionModeFinished(mode); } }