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