1282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski/*
2282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Copyright (C) 2010 The Android Open Source Project
3282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski *
4282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Licensed under the Apache License, Version 2.0 (the "License");
5282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * you may not use this file except in compliance with the License.
6282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * You may obtain a copy of the License at
7282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski *
8282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski *      http://www.apache.org/licenses/LICENSE-2.0
9282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski *
10282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Unless required by applicable law or agreed to in writing, software
11282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * distributed under the License is distributed on an "AS IS" BASIS,
12282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * See the License for the specific language governing permissions and
14282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * limitations under the License.
15282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski */
16282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
17282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskipackage com.android.layoutlib.bridge.android;
18282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
19282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.content.ClipData;
20282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.content.res.Configuration;
21282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.graphics.Rect;
22282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.graphics.Region;
23282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.os.Bundle;
24282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.os.IBinder;
25282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.os.RemoteException;
26282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.view.IWindow;
27282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.view.IWindowId;
28282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.view.IWindowSession;
29282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.view.InputChannel;
30282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.view.Surface;
31282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.view.SurfaceView;
32282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskiimport android.view.WindowManager.LayoutParams;
33282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
34282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski/**
35282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * Implementation of {@link IWindowSession} so that mSession is not null in
36282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski * the {@link SurfaceView}.
37282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski */
38282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinskipublic final class BridgeWindowSession implements IWindowSession {
39282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
40282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
4137d7a68de7e353c31a3a4736054cd86f0e002eafAdrian Roos    public int add(IWindow arg0, int seq, LayoutParams arg1, int arg2, Rect arg3, Rect arg4,
42282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            InputChannel outInputchannel)
43282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            throws RemoteException {
44282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
45282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return 0;
46282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
47282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
48282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
49282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public int addToDisplay(IWindow arg0, int seq, LayoutParams arg1, int arg2, int displayId,
5037d7a68de7e353c31a3a4736054cd86f0e002eafAdrian Roos                            Rect arg3, Rect arg4, InputChannel outInputchannel)
51282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            throws RemoteException {
52282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
53282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return 0;
54282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
55282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
56282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
57282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public int addWithoutInputChannel(IWindow arg0, int seq, LayoutParams arg1, int arg2,
5837d7a68de7e353c31a3a4736054cd86f0e002eafAdrian Roos                                      Rect arg3, Rect arg4)
59282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            throws RemoteException {
60282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
61282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return 0;
62282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
63282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
64282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
65282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public int addToDisplayWithoutInputChannel(IWindow arg0, int seq, LayoutParams arg1, int arg2,
6637d7a68de7e353c31a3a4736054cd86f0e002eafAdrian Roos                                               int displayId, Rect arg3, Rect arg4)
67282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            throws RemoteException {
68282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
69282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return 0;
70282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
71282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
72282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
73282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void finishDrawing(IWindow arg0) throws RemoteException {
74282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
75282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
76282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
77282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
78282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public boolean getInTouchMode() throws RemoteException {
79282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
80282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return false;
81282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
82282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
83282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
84282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public boolean performHapticFeedback(IWindow window, int effectId, boolean always) {
85282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
86282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return false;
87282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
889657804afb9eb628fa5485750c43e78458b2d002Adrian Roos
89282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
909657804afb9eb628fa5485750c43e78458b2d002Adrian Roos    public int relayout(IWindow iWindow, int i, LayoutParams layoutParams, int i2,
919657804afb9eb628fa5485750c43e78458b2d002Adrian Roos            int i3, int i4, int i5, Rect rect, Rect rect2, Rect rect3, Rect rect4, Rect rect5,
929657804afb9eb628fa5485750c43e78458b2d002Adrian Roos            Configuration configuration, Surface surface) throws RemoteException {
93282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
94282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return 0;
95282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
96282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
97282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
98282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void performDeferredDestroy(IWindow window) {
99282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
100282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
101282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
102282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
103282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public boolean outOfMemory(IWindow window) throws RemoteException {
104282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return false;
105282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
106282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
107282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
108282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void getDisplayFrame(IWindow window, Rect outDisplayFrame) {
109282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
110282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
111282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
112282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
113282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void remove(IWindow arg0) throws RemoteException {
114282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
115282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
116282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
117282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
118282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void setInTouchMode(boolean arg0) throws RemoteException {
119282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
120282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
121282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
122282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
123282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void setTransparentRegion(IWindow arg0, Region arg1) throws RemoteException {
124282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
125282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
126282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
127282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
128282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void setInsets(IWindow window, int touchable, Rect contentInsets,
129282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            Rect visibleInsets, Region touchableRegion) {
130282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
131282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
132282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
133282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
134282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public IBinder prepareDrag(IWindow window, int flags,
135282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            int thumbnailWidth, int thumbnailHeight, Surface outSurface)
136282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            throws RemoteException {
137282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now
138282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return null;
139282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
140282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
141282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
142282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public boolean performDrag(IWindow window, IBinder dragToken,
143282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            float touchX, float touchY, float thumbCenterX, float thumbCenterY,
144282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            ClipData data)
145282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            throws RemoteException {
146282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now
147282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return false;
148282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
149282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
150282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
151282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void reportDropResult(IWindow window, boolean consumed) throws RemoteException {
152282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now
153282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
154282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
155282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
156282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void dragRecipientEntered(IWindow window) throws RemoteException {
157282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now
158282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
159282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
160282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
161282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void dragRecipientExited(IWindow window) throws RemoteException {
162282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now
163282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
164282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
165282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
166282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void setWallpaperPosition(IBinder window, float x, float y,
167282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        float xStep, float yStep) {
168282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
169282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
170282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
171282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
172282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void wallpaperOffsetsComplete(IBinder window) {
173282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
174282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
175282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
176282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
177f5cc3644f6d246138d22f35d00f1ce562cd715d5Dianne Hackborn    public void setWallpaperDisplayOffset(IBinder windowToken, int x, int y) {
178f5cc3644f6d246138d22f35d00f1ce562cd715d5Dianne Hackborn        // pass for now.
179f5cc3644f6d246138d22f35d00f1ce562cd715d5Dianne Hackborn    }
180f5cc3644f6d246138d22f35d00f1ce562cd715d5Dianne Hackborn
181f5cc3644f6d246138d22f35d00f1ce562cd715d5Dianne Hackborn    @Override
182282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public Bundle sendWallpaperCommand(IBinder window, String action, int x, int y,
183282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            int z, Bundle extras, boolean sync) {
184282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
185282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return null;
186282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
187282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
188282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
189282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void wallpaperCommandComplete(IBinder window, Bundle result) {
190282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
191282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
192282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
193282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
194282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public void setUniverseTransform(IBinder window, float alpha, float offx, float offy,
195282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski            float dsdx, float dtdx, float dsdy, float dtdy) {
196282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
197282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
198282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
199282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
200282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public IBinder asBinder() {
201282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
202282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return null;
203282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
204282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
205282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
206a3874f0ac649a865d6ad7a8a032f57539bd0d0c3Ji-Hwan Lee    public void onRectangleOnScreenRequested(IBinder window, Rect rectangle) {
207282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
208282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
209282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski
210282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    @Override
211282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    public IWindowId getWindowId(IBinder window) throws RemoteException {
212282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        // pass for now.
213282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski        return null;
214282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski    }
215282e181b58cf72b6ca770dc7ca5f91f135444502Adam Lesinski}
216