BaseIWindow.java revision 8df8b2b405c60cacf7a66c4e2ca078dd3d7ec7bd
1package com.android.internal.view; 2 3import android.graphics.Rect; 4import android.os.ParcelFileDescriptor; 5import android.os.RemoteException; 6import android.view.IWindow; 7import android.view.IWindowSession; 8import android.view.KeyEvent; 9import android.view.MotionEvent; 10 11public class BaseIWindow extends IWindow.Stub { 12 private IWindowSession mSession; 13 14 public void setSession(IWindowSession session) { 15 mSession = session; 16 } 17 18 public void resized(int w, int h, Rect coveredInsets, 19 Rect visibleInsets, boolean reportDraw) { 20 if (reportDraw) { 21 try { 22 mSession.finishDrawing(this); 23 } catch (RemoteException e) { 24 } 25 } 26 } 27 28 public void dispatchKey(KeyEvent event) { 29 try { 30 mSession.finishKey(this); 31 } catch (RemoteException ex) { 32 } 33 } 34 35 public boolean onDispatchPointer(MotionEvent event, long eventTime, 36 boolean callWhenDone) { 37 event.recycle(); 38 return false; 39 } 40 41 public void dispatchPointer(MotionEvent event, long eventTime, 42 boolean callWhenDone) { 43 try { 44 if (event == null) { 45 event = mSession.getPendingPointerMove(this); 46 onDispatchPointer(event, eventTime, false); 47 } else if (callWhenDone) { 48 if (!onDispatchPointer(event, eventTime, true)) { 49 mSession.finishKey(this); 50 } 51 } else { 52 onDispatchPointer(event, eventTime, false); 53 } 54 } catch (RemoteException ex) { 55 } 56 } 57 58 public boolean onDispatchTrackball(MotionEvent event, long eventTime, 59 boolean callWhenDone) { 60 event.recycle(); 61 return false; 62 } 63 64 public void dispatchTrackball(MotionEvent event, long eventTime, 65 boolean callWhenDone) { 66 try { 67 if (event == null) { 68 event = mSession.getPendingTrackballMove(this); 69 onDispatchTrackball(event, eventTime, false); 70 } else if (callWhenDone) { 71 if (!onDispatchTrackball(event, eventTime, true)) { 72 mSession.finishKey(this); 73 } 74 } else { 75 onDispatchTrackball(event, eventTime, false); 76 } 77 } catch (RemoteException ex) { 78 } 79 } 80 81 public void dispatchAppVisibility(boolean visible) { 82 } 83 84 public void dispatchGetNewSurface() { 85 } 86 87 public void windowFocusChanged(boolean hasFocus, boolean touchEnabled) { 88 } 89 90 public void executeCommand(String command, String parameters, ParcelFileDescriptor out) { 91 } 92 93 public void dispatchWallpaperOffsets(float x, float y) { 94 } 95} 96