1/*
2 * Copyright (C) 2010 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
17package com.android.layoutlib.bridge.android;
18
19import android.content.ClipData;
20import android.content.res.Configuration;
21import android.graphics.Rect;
22import android.graphics.Region;
23import android.os.Bundle;
24import android.os.IBinder;
25import android.os.RemoteException;
26import android.view.IWindow;
27import android.view.IWindowId;
28import android.view.IWindowSession;
29import android.view.InputChannel;
30import android.view.Surface;
31import android.view.SurfaceView;
32import android.view.WindowManager.LayoutParams;
33
34/**
35 * Implementation of {@link IWindowSession} so that mSession is not null in
36 * the {@link SurfaceView}.
37 */
38public final class BridgeWindowSession implements IWindowSession {
39
40    @Override
41    public int add(IWindow arg0, int seq, LayoutParams arg1, int arg2, Rect arg3,
42            InputChannel outInputchannel)
43            throws RemoteException {
44        // pass for now.
45        return 0;
46    }
47
48    @Override
49    public int addToDisplay(IWindow arg0, int seq, LayoutParams arg1, int arg2, int displayId,
50                            Rect arg3, InputChannel outInputchannel)
51            throws RemoteException {
52        // pass for now.
53        return 0;
54    }
55
56    @Override
57    public int addWithoutInputChannel(IWindow arg0, int seq, LayoutParams arg1, int arg2,
58                                      Rect arg3)
59            throws RemoteException {
60        // pass for now.
61        return 0;
62    }
63
64    @Override
65    public int addToDisplayWithoutInputChannel(IWindow arg0, int seq, LayoutParams arg1, int arg2,
66                                               int displayId, Rect arg3)
67            throws RemoteException {
68        // pass for now.
69        return 0;
70    }
71
72    @Override
73    public void finishDrawing(IWindow arg0) throws RemoteException {
74        // pass for now.
75    }
76
77    @Override
78    public boolean getInTouchMode() throws RemoteException {
79        // pass for now.
80        return false;
81    }
82
83    @Override
84    public boolean performHapticFeedback(IWindow window, int effectId, boolean always) {
85        // pass for now.
86        return false;
87    }
88    @Override
89    public int relayout(IWindow arg0, int seq, LayoutParams arg1, int arg2, int arg3, int arg4,
90            int arg4_5, Rect arg5Z, Rect arg5, Rect arg6, Rect arg7, Configuration arg7b,
91            Surface arg8) throws RemoteException {
92        // pass for now.
93        return 0;
94    }
95
96    @Override
97    public void performDeferredDestroy(IWindow window) {
98        // pass for now.
99    }
100
101    @Override
102    public boolean outOfMemory(IWindow window) throws RemoteException {
103        return false;
104    }
105
106    @Override
107    public void getDisplayFrame(IWindow window, Rect outDisplayFrame) {
108        // pass for now.
109    }
110
111    @Override
112    public void remove(IWindow arg0) throws RemoteException {
113        // pass for now.
114    }
115
116    @Override
117    public void setInTouchMode(boolean arg0) throws RemoteException {
118        // pass for now.
119    }
120
121    @Override
122    public void setTransparentRegion(IWindow arg0, Region arg1) throws RemoteException {
123        // pass for now.
124    }
125
126    @Override
127    public void setInsets(IWindow window, int touchable, Rect contentInsets,
128            Rect visibleInsets, Region touchableRegion) {
129        // pass for now.
130    }
131
132    @Override
133    public IBinder prepareDrag(IWindow window, int flags,
134            int thumbnailWidth, int thumbnailHeight, Surface outSurface)
135            throws RemoteException {
136        // pass for now
137        return null;
138    }
139
140    @Override
141    public boolean performDrag(IWindow window, IBinder dragToken,
142            float touchX, float touchY, float thumbCenterX, float thumbCenterY,
143            ClipData data)
144            throws RemoteException {
145        // pass for now
146        return false;
147    }
148
149    @Override
150    public void reportDropResult(IWindow window, boolean consumed) throws RemoteException {
151        // pass for now
152    }
153
154    @Override
155    public void dragRecipientEntered(IWindow window) throws RemoteException {
156        // pass for now
157    }
158
159    @Override
160    public void dragRecipientExited(IWindow window) throws RemoteException {
161        // pass for now
162    }
163
164    @Override
165    public void setWallpaperPosition(IBinder window, float x, float y,
166        float xStep, float yStep) {
167        // pass for now.
168    }
169
170    @Override
171    public void wallpaperOffsetsComplete(IBinder window) {
172        // pass for now.
173    }
174
175    @Override
176    public Bundle sendWallpaperCommand(IBinder window, String action, int x, int y,
177            int z, Bundle extras, boolean sync) {
178        // pass for now.
179        return null;
180    }
181
182    @Override
183    public void wallpaperCommandComplete(IBinder window, Bundle result) {
184        // pass for now.
185    }
186
187    @Override
188    public void setUniverseTransform(IBinder window, float alpha, float offx, float offy,
189            float dsdx, float dtdx, float dsdy, float dtdy) {
190        // pass for now.
191    }
192
193    @Override
194    public IBinder asBinder() {
195        // pass for now.
196        return null;
197    }
198
199    @Override
200    public void onRectangleOnScreenRequested(IBinder window, Rect rectangle, boolean immediate) {
201        // pass for now.
202    }
203
204    @Override
205    public IWindowId getWindowId(IBinder window) throws RemoteException {
206        // pass for now.
207        return null;
208    }
209}
210