114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell/* 214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * Copyright (C) 2014 The Android Open Source Project 314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * 414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * Licensed under the Apache License, Version 2.0 (the "License"); 514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * you may not use this file except in compliance with the License. 614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * You may obtain a copy of the License at 714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * 814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * http://www.apache.org/licenses/LICENSE-2.0 914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * 1014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * Unless required by applicable law or agreed to in writing, software 1114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * distributed under the License is distributed on an "AS IS" BASIS, 1214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * See the License for the specific language governing permissions and 1414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * limitations under the License. 1514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell */ 1614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 1714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 1814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powellpackage android.view; 1914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 2014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powellimport android.view.accessibility.AccessibilityEvent; 2114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 2275e097965cc273d33192555b0e65de3dbc1753ceClara Bayarriimport java.util.List; 2375e097965cc273d33192555b0e65de3dbc1753ceClara Bayarri 2414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell/** 2514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * A simple decorator stub for Window.Callback that passes through any calls 2614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * to the wrapped instance as a base implementation. Call super.foo() to call into 2714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * the wrapped callback for any subclasses. 2814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * 2914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell * @hide for internal use 3014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell */ 3114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powellpublic class WindowCallbackWrapper implements Window.Callback { 3214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell private Window.Callback mWrapped; 3314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 3414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public WindowCallbackWrapper(Window.Callback wrapped) { 3514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell if (wrapped == null) { 3614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell throw new IllegalArgumentException("Window callback may not be null"); 3714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 3814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped = wrapped; 3914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 4014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 4114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 4214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean dispatchKeyEvent(KeyEvent event) { 4314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.dispatchKeyEvent(event); 4414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 4514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 4614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 4714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean dispatchKeyShortcutEvent(KeyEvent event) { 4814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.dispatchKeyShortcutEvent(event); 4914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 5014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 5114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 5214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean dispatchTouchEvent(MotionEvent event) { 5314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.dispatchTouchEvent(event); 5414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 5514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 5614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 5714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean dispatchTrackballEvent(MotionEvent event) { 5814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.dispatchTrackballEvent(event); 5914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 6014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 6114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 6214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean dispatchGenericMotionEvent(MotionEvent event) { 6314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.dispatchGenericMotionEvent(event); 6414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 6514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 6614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 6714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) { 6814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.dispatchPopulateAccessibilityEvent(event); 6914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 7014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 7114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 7214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public View onCreatePanelView(int featureId) { 7314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.onCreatePanelView(featureId); 7414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 7514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 7614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 7714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean onCreatePanelMenu(int featureId, Menu menu) { 7814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.onCreatePanelMenu(featureId, menu); 7914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 8014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 8114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 8214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean onPreparePanel(int featureId, View view, Menu menu) { 8314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.onPreparePanel(featureId, view, menu); 8414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 8514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 8614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 8714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean onMenuOpened(int featureId, Menu menu) { 8814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.onMenuOpened(featureId, menu); 8914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 9014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 9114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 9214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean onMenuItemSelected(int featureId, MenuItem item) { 9314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.onMenuItemSelected(featureId, item); 9414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 9514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 9614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 9714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public void onWindowAttributesChanged(WindowManager.LayoutParams attrs) { 9814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped.onWindowAttributesChanged(attrs); 9914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 10014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 10114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 10214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public void onContentChanged() { 10314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped.onContentChanged(); 10414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 10514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 10614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 10714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public void onWindowFocusChanged(boolean hasFocus) { 10814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped.onWindowFocusChanged(hasFocus); 10914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 11014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 11114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 11214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public void onAttachedToWindow() { 11314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped.onAttachedToWindow(); 11414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 11514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 11614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 11714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public void onDetachedFromWindow() { 11814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped.onDetachedFromWindow(); 11914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 12014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 12114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 12214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public void onPanelClosed(int featureId, Menu menu) { 12314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped.onPanelClosed(featureId, menu); 12414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 12514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 12614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 1276a975b3c3597a4ad9202432f3c3d867a03d43fa4Tim Kilbourn public boolean onSearchRequested(SearchEvent searchEvent) { 1286a975b3c3597a4ad9202432f3c3d867a03d43fa4Tim Kilbourn return mWrapped.onSearchRequested(searchEvent); 1296a975b3c3597a4ad9202432f3c3d867a03d43fa4Tim Kilbourn } 1306a975b3c3597a4ad9202432f3c3d867a03d43fa4Tim Kilbourn 1316a975b3c3597a4ad9202432f3c3d867a03d43fa4Tim Kilbourn @Override 13214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public boolean onSearchRequested() { 13314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.onSearchRequested(); 13414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 13514e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 13614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 13714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) { 13814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell return mWrapped.onWindowStartingActionMode(callback); 13914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 14014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 14114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 1424423d91de5300d3fd318bf5bc2d4d7e5bb856abfClara Bayarri public ActionMode onWindowStartingActionMode(ActionMode.Callback callback, int type) { 1434423d91de5300d3fd318bf5bc2d4d7e5bb856abfClara Bayarri return mWrapped.onWindowStartingActionMode(callback, type); 1444423d91de5300d3fd318bf5bc2d4d7e5bb856abfClara Bayarri } 1454423d91de5300d3fd318bf5bc2d4d7e5bb856abfClara Bayarri 1464423d91de5300d3fd318bf5bc2d4d7e5bb856abfClara Bayarri @Override 14714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public void onActionModeStarted(ActionMode mode) { 14814e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped.onActionModeStarted(mode); 14914e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 15014e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 15114e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell @Override 15214e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell public void onActionModeFinished(ActionMode mode) { 15314e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell mWrapped.onActionModeFinished(mode); 15414e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell } 15575e097965cc273d33192555b0e65de3dbc1753ceClara Bayarri 15675e097965cc273d33192555b0e65de3dbc1753ceClara Bayarri @Override 157fcd7e80b21cc9db6be00e37371401ea1d0938796Clara Bayarri public void onProvideKeyboardShortcuts( 158fcd7e80b21cc9db6be00e37371401ea1d0938796Clara Bayarri List<KeyboardShortcutGroup> data, Menu menu, int deviceId) { 159fcd7e80b21cc9db6be00e37371401ea1d0938796Clara Bayarri mWrapped.onProvideKeyboardShortcuts(data, menu, deviceId); 16075e097965cc273d33192555b0e65de3dbc1753ceClara Bayarri } 1613787de16d24001eeb452e1c711d4290a396e67c9Vladislav Kaznacheev 1623787de16d24001eeb452e1c711d4290a396e67c9Vladislav Kaznacheev @Override 1633787de16d24001eeb452e1c711d4290a396e67c9Vladislav Kaznacheev public void onPointerCaptureChanged(boolean hasCapture) { 1643787de16d24001eeb452e1c711d4290a396e67c9Vladislav Kaznacheev mWrapped.onPointerCaptureChanged(hasCapture); 1653787de16d24001eeb452e1c711d4290a396e67c9Vladislav Kaznacheev } 16614e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell} 16714e1afe0d86de826ae1831d64ca00da03da86b4bAdam Powell 168