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, Rect arg4,
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, Rect arg4, 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, Rect arg4)
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, Rect arg4)
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
89    @Override
90    public int relayout(IWindow iWindow, int i, LayoutParams layoutParams, int i2,
91            int i3, int i4, int i5, Rect rect, Rect rect2, Rect rect3, Rect rect4, Rect rect5,
92            Configuration configuration, Surface surface) throws RemoteException {
93        // pass for now.
94        return 0;
95    }
96
97    @Override
98    public void performDeferredDestroy(IWindow window) {
99        // pass for now.
100    }
101
102    @Override
103    public boolean outOfMemory(IWindow window) throws RemoteException {
104        return false;
105    }
106
107    @Override
108    public void getDisplayFrame(IWindow window, Rect outDisplayFrame) {
109        // pass for now.
110    }
111
112    @Override
113    public void remove(IWindow arg0) throws RemoteException {
114        // pass for now.
115    }
116
117    @Override
118    public void setInTouchMode(boolean arg0) throws RemoteException {
119        // pass for now.
120    }
121
122    @Override
123    public void setTransparentRegion(IWindow arg0, Region arg1) throws RemoteException {
124        // pass for now.
125    }
126
127    @Override
128    public void setInsets(IWindow window, int touchable, Rect contentInsets,
129            Rect visibleInsets, Region touchableRegion) {
130        // pass for now.
131    }
132
133    @Override
134    public IBinder prepareDrag(IWindow window, int flags,
135            int thumbnailWidth, int thumbnailHeight, Surface outSurface)
136            throws RemoteException {
137        // pass for now
138        return null;
139    }
140
141    @Override
142    public boolean performDrag(IWindow window, IBinder dragToken,
143            float touchX, float touchY, float thumbCenterX, float thumbCenterY,
144            ClipData data)
145            throws RemoteException {
146        // pass for now
147        return false;
148    }
149
150    @Override
151    public void reportDropResult(IWindow window, boolean consumed) throws RemoteException {
152        // pass for now
153    }
154
155    @Override
156    public void dragRecipientEntered(IWindow window) throws RemoteException {
157        // pass for now
158    }
159
160    @Override
161    public void dragRecipientExited(IWindow window) throws RemoteException {
162        // pass for now
163    }
164
165    @Override
166    public void setWallpaperPosition(IBinder window, float x, float y,
167        float xStep, float yStep) {
168        // pass for now.
169    }
170
171    @Override
172    public void wallpaperOffsetsComplete(IBinder window) {
173        // pass for now.
174    }
175
176    @Override
177    public void setWallpaperDisplayOffset(IBinder windowToken, int x, int y) {
178        // pass for now.
179    }
180
181    @Override
182    public Bundle sendWallpaperCommand(IBinder window, String action, int x, int y,
183            int z, Bundle extras, boolean sync) {
184        // pass for now.
185        return null;
186    }
187
188    @Override
189    public void wallpaperCommandComplete(IBinder window, Bundle result) {
190        // pass for now.
191    }
192
193    @Override
194    public void setUniverseTransform(IBinder window, float alpha, float offx, float offy,
195            float dsdx, float dtdx, float dsdy, float dtdy) {
196        // pass for now.
197    }
198
199    @Override
200    public IBinder asBinder() {
201        // pass for now.
202        return null;
203    }
204
205    @Override
206    public void onRectangleOnScreenRequested(IBinder window, Rect rectangle) {
207        // pass for now.
208    }
209
210    @Override
211    public IWindowId getWindowId(IBinder window) throws RemoteException {
212        // pass for now.
213        return null;
214    }
215}
216