1 /*
2  * Copyright (C) 2014 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 
18 package android.view;
19 
20 import android.view.accessibility.AccessibilityEvent;
21 
22 /**
23  * A simple decorator stub for Window.Callback that passes through any calls
24  * to the wrapped instance as a base implementation. Call super.foo() to call into
25  * the wrapped callback for any subclasses.
26  *
27  * @hide for internal use
28  */
29 public class WindowCallbackWrapper implements Window.Callback {
30     private Window.Callback mWrapped;
31 
WindowCallbackWrapper(Window.Callback wrapped)32     public WindowCallbackWrapper(Window.Callback wrapped) {
33         if (wrapped == null) {
34             throw new IllegalArgumentException("Window callback may not be null");
35         }
36         mWrapped = wrapped;
37     }
38 
39     @Override
dispatchKeyEvent(KeyEvent event)40     public boolean dispatchKeyEvent(KeyEvent event) {
41         return mWrapped.dispatchKeyEvent(event);
42     }
43 
44     @Override
dispatchKeyShortcutEvent(KeyEvent event)45     public boolean dispatchKeyShortcutEvent(KeyEvent event) {
46         return mWrapped.dispatchKeyShortcutEvent(event);
47     }
48 
49     @Override
dispatchTouchEvent(MotionEvent event)50     public boolean dispatchTouchEvent(MotionEvent event) {
51         return mWrapped.dispatchTouchEvent(event);
52     }
53 
54     @Override
dispatchTrackballEvent(MotionEvent event)55     public boolean dispatchTrackballEvent(MotionEvent event) {
56         return mWrapped.dispatchTrackballEvent(event);
57     }
58 
59     @Override
dispatchGenericMotionEvent(MotionEvent event)60     public boolean dispatchGenericMotionEvent(MotionEvent event) {
61         return mWrapped.dispatchGenericMotionEvent(event);
62     }
63 
64     @Override
dispatchPopulateAccessibilityEvent(AccessibilityEvent event)65     public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
66         return mWrapped.dispatchPopulateAccessibilityEvent(event);
67     }
68 
69     @Override
onCreatePanelView(int featureId)70     public View onCreatePanelView(int featureId) {
71         return mWrapped.onCreatePanelView(featureId);
72     }
73 
74     @Override
onCreatePanelMenu(int featureId, Menu menu)75     public boolean onCreatePanelMenu(int featureId, Menu menu) {
76         return mWrapped.onCreatePanelMenu(featureId, menu);
77     }
78 
79     @Override
onPreparePanel(int featureId, View view, Menu menu)80     public boolean onPreparePanel(int featureId, View view, Menu menu) {
81         return mWrapped.onPreparePanel(featureId, view, menu);
82     }
83 
84     @Override
onMenuOpened(int featureId, Menu menu)85     public boolean onMenuOpened(int featureId, Menu menu) {
86         return mWrapped.onMenuOpened(featureId, menu);
87     }
88 
89     @Override
onMenuItemSelected(int featureId, MenuItem item)90     public boolean onMenuItemSelected(int featureId, MenuItem item) {
91         return mWrapped.onMenuItemSelected(featureId, item);
92     }
93 
94     @Override
onWindowAttributesChanged(WindowManager.LayoutParams attrs)95     public void onWindowAttributesChanged(WindowManager.LayoutParams attrs) {
96         mWrapped.onWindowAttributesChanged(attrs);
97     }
98 
99     @Override
onContentChanged()100     public void onContentChanged() {
101         mWrapped.onContentChanged();
102     }
103 
104     @Override
onWindowFocusChanged(boolean hasFocus)105     public void onWindowFocusChanged(boolean hasFocus) {
106         mWrapped.onWindowFocusChanged(hasFocus);
107     }
108 
109     @Override
onAttachedToWindow()110     public void onAttachedToWindow() {
111         mWrapped.onAttachedToWindow();
112     }
113 
114     @Override
onDetachedFromWindow()115     public void onDetachedFromWindow() {
116         mWrapped.onDetachedFromWindow();
117     }
118 
119     @Override
onPanelClosed(int featureId, Menu menu)120     public void onPanelClosed(int featureId, Menu menu) {
121         mWrapped.onPanelClosed(featureId, menu);
122     }
123 
124     @Override
onSearchRequested()125     public boolean onSearchRequested() {
126         return mWrapped.onSearchRequested();
127     }
128 
129     @Override
onWindowStartingActionMode(ActionMode.Callback callback)130     public ActionMode onWindowStartingActionMode(ActionMode.Callback callback) {
131         return mWrapped.onWindowStartingActionMode(callback);
132     }
133 
134     @Override
onActionModeStarted(ActionMode mode)135     public void onActionModeStarted(ActionMode mode) {
136         mWrapped.onActionModeStarted(mode);
137     }
138 
139     @Override
onActionModeFinished(ActionMode mode)140     public void onActionModeFinished(ActionMode mode) {
141         mWrapped.onActionModeFinished(mode);
142     }
143 }
144 
145