BridgeWindowSession.java revision fbf097732137a32930d151f7ba6816a5b870c32a
1c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet/*
2c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * Copyright (C) 2010 The Android Open Source Project
3c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet *
4c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * Licensed under the Apache License, Version 2.0 (the "License");
5c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * you may not use this file except in compliance with the License.
6c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * You may obtain a copy of the License at
7c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet *
8c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet *      http://www.apache.org/licenses/LICENSE-2.0
9c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet *
10c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * Unless required by applicable law or agreed to in writing, software
11c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * distributed under the License is distributed on an "AS IS" BASIS,
12c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * See the License for the specific language governing permissions and
14c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * limitations under the License.
15c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet */
16c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
17c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetpackage com.android.layoutlib.bridge.android;
18c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
19c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.content.ClipData;
20c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.content.res.Configuration;
21c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.graphics.Rect;
22c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.graphics.Region;
23c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.os.Bundle;
24c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.os.IBinder;
25c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.os.RemoteException;
26c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.view.IWindow;
27c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.view.IWindowSession;
28c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.view.InputChannel;
29c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.view.MotionEvent;
30c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.view.Surface;
31c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.view.SurfaceView;
32c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetimport android.view.WindowManager.LayoutParams;
33c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
34c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet/**
35c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * Implementation of {@link IWindowSession} so that mSession is not null in
36c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet * the {@link SurfaceView}.
37c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet */
38c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohetpublic final class BridgeWindowSession implements IWindowSession {
39c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
40c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public int add(IWindow arg0, LayoutParams arg1, int arg2, Rect arg3,
41c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            InputChannel outInputchannel)
42c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            throws RemoteException {
43c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
44c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return 0;
45c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
46c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
47c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public int addWithoutInputChannel(IWindow arg0, LayoutParams arg1, int arg2, Rect arg3)
48c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            throws RemoteException {
49c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
50c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return 0;
51c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
52c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
53c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void finishDrawing(IWindow arg0) throws RemoteException {
54c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
55c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
56c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
57c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void finishKey(IWindow arg0) throws RemoteException {
58c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
59c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
60c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
61c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public boolean getInTouchMode() throws RemoteException {
62c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
63c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return false;
64c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
65c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
66c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public boolean performHapticFeedback(IWindow window, int effectId, boolean always) {
67c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
68c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return false;
69c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
70c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
71c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public MotionEvent getPendingPointerMove(IWindow arg0) throws RemoteException {
72c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
73c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return null;
74c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
75c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
76c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public MotionEvent getPendingTrackballMove(IWindow arg0) throws RemoteException {
77c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
78c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return null;
79c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
80c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
81c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public int relayout(IWindow arg0, LayoutParams arg1, int arg2, int arg3, int arg4,
82c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            boolean arg4_5, Rect arg5, Rect arg6, Rect arg7, Configuration arg7b, Surface arg8)
83c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            throws RemoteException {
84c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
85c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return 0;
86c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
87c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
88c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void getDisplayFrame(IWindow window, Rect outDisplayFrame) {
89c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
90c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
91c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
92c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void remove(IWindow arg0) throws RemoteException {
93c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
94c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
95c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
96c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void setInTouchMode(boolean arg0) throws RemoteException {
97c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
98c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
99c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
100c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void setTransparentRegion(IWindow arg0, Region arg1) throws RemoteException {
101c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
102c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
103c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
104c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void setInsets(IWindow window, int touchable, Rect contentInsets,
105fbf097732137a32930d151f7ba6816a5b870c32aJeff Brown            Rect visibleInsets, Region touchableRegion) {
106c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
107c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
108c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
10902d2b3ba9ba830a8147db2739613f7bbb2d0fcbfChristopher Tate    public IBinder prepareDrag(IWindow window, int flags,
110c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            int thumbnailWidth, int thumbnailHeight, Surface outSurface)
111c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            throws RemoteException {
112c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now
113c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return null;
114c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
115c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
116c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public boolean performDrag(IWindow window, IBinder dragToken,
117c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            float touchX, float touchY, float thumbCenterX, float thumbCenterY,
118c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            ClipData data)
119c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            throws RemoteException {
120c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now
121c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return false;
122c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
123c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
124c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void reportDropResult(IWindow window, boolean consumed) throws RemoteException {
125c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now
126c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
127c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
128c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void dragRecipientEntered(IWindow window) throws RemoteException {
129c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now
130c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
131c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
132c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void dragRecipientExited(IWindow window) throws RemoteException {
133c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now
134c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
135c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
136c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void setWallpaperPosition(IBinder window, float x, float y,
137c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        float xStep, float yStep) {
138c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
139c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
140c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
141c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void wallpaperOffsetsComplete(IBinder window) {
142c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
143c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
144c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
145c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public Bundle sendWallpaperCommand(IBinder window, String action, int x, int y,
146c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet            int z, Bundle extras, boolean sync) {
147c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
148c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return null;
149c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
150c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
151c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void wallpaperCommandComplete(IBinder window, Bundle result) {
152c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
153c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
154c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
155c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public void closeSystemDialogs(String reason) {
156c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
157c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
158c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet
159c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    public IBinder asBinder() {
160c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        // pass for now.
161c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet        return null;
162c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet    }
163310a4d815b693e358d151b9aa2823c5022993f9bXavier Ducrohet
164310a4d815b693e358d151b9aa2823c5022993f9bXavier Ducrohet    public IBinder prepareDrag(IWindow arg0, boolean arg1, int arg2, int arg3, Surface arg4)
165310a4d815b693e358d151b9aa2823c5022993f9bXavier Ducrohet            throws RemoteException {
166310a4d815b693e358d151b9aa2823c5022993f9bXavier Ducrohet        // TODO Auto-generated method stub
167310a4d815b693e358d151b9aa2823c5022993f9bXavier Ducrohet        return null;
168310a4d815b693e358d151b9aa2823c5022993f9bXavier Ducrohet    }
169c2e9651bf386a1f7bf7fc706cf5424950570470cXavier Ducrohet}
170