diff options
Diffstat (limited to 'core/java')
5 files changed, 23 insertions, 20 deletions
diff --git a/core/java/android/accessibilityservice/AccessibilityService.java b/core/java/android/accessibilityservice/AccessibilityService.java index 2620c44..cbc8150 100644 --- a/core/java/android/accessibilityservice/AccessibilityService.java +++ b/core/java/android/accessibilityservice/AccessibilityService.java @@ -462,7 +462,9 @@ public abstract class AccessibilityService extends Service { * anything behind it, then only the modal window will be reported * (assuming it is the top one). For convenience the returned windows * are ordered in a descending layer order, which is the windows that - * are higher in the Z-order are reported first. + * are higher in the Z-order are reported first. Since the user can always + * interact with the window that has input focus by typing, the focused + * window is always returned (even if covered by a modal window). * <p> * <strong>Note:</strong> In order to access the windows your service has * to declare the capability to retrieve window content by setting the diff --git a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java index 4f9ba59..4edb0c6 100644 --- a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java +++ b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java @@ -286,8 +286,8 @@ public class AccessibilityServiceInfo implements Parcelable { /** * This flag indicates to the system that the accessibility service wants * to access content of all interactive windows. An interactive window is a - * window that can be touched by a sighted user when explore by touch is not - * enabled. If this flag is not set your service will not receive + * window that has input focus or can be touched by a sighted user when explore + * by touch is not enabled. If this flag is not set your service will not receive * {@link android.view.accessibility.AccessibilityEvent#TYPE_WINDOWS_CHANGED} * events, calling AccessibilityService{@link AccessibilityService#getWindows() * AccessibilityService.getWindows()} will return an empty list, and {@link diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl index c32a2c9..fa5bd88 100644 --- a/core/java/android/view/IWindowSession.aidl +++ b/core/java/android/view/IWindowSession.aidl @@ -46,7 +46,7 @@ interface IWindowSession { int addToDisplayWithoutInputChannel(IWindow window, int seq, in WindowManager.LayoutParams attrs, in int viewVisibility, in int layerStackId, out Rect outContentInsets); void remove(IWindow window); - + /** * Change the parameters of a window. You supply the * new parameters, it returns the new frame of the window on screen (the @@ -109,7 +109,7 @@ interface IWindowSession { * to optimize compositing of this part of the window. */ void setTransparentRegion(IWindow window, in Region region); - + /** * Tell the window manager about the content and visible insets of the * given window, which can be used to adjust the <var>outContentInsets</var> @@ -122,20 +122,20 @@ interface IWindowSession { */ void setInsets(IWindow window, int touchableInsets, in Rect contentInsets, in Rect visibleInsets, in Region touchableRegion); - + /** * Return the current display size in which the window is being laid out, * accounting for screen decorations around it. */ void getDisplayFrame(IWindow window, out Rect outDisplayFrame); - + void finishDrawing(IWindow window); - + void setInTouchMode(boolean showFocus); boolean getInTouchMode(); - + boolean performHapticFeedback(IWindow window, int effectId, boolean always); - + /** * Allocate the drag's thumbnail surface. Also assigns a token that identifies * the drag to the OS and passes that as the return value. A return value of @@ -150,11 +150,11 @@ interface IWindowSession { boolean performDrag(IWindow window, IBinder dragToken, float touchX, float touchY, float thumbCenterX, float thumbCenterY, in ClipData data); - /** - * Report the result of a drop action targeted to the given window. - * consumed is 'true' when the drop was accepted by a valid recipient, - * 'false' otherwise. - */ + /** + * Report the result of a drop action targeted to the given window. + * consumed is 'true' when the drop was accepted by a valid recipient, + * 'false' otherwise. + */ void reportDropResult(IWindow window, boolean consumed); /** @@ -174,12 +174,12 @@ interface IWindowSession { * how big the increment is from one screen to another. */ void setWallpaperPosition(IBinder windowToken, float x, float y, float xstep, float ystep); - + void wallpaperOffsetsComplete(IBinder window); - + Bundle sendWallpaperCommand(IBinder window, String action, int x, int y, int z, in Bundle extras, boolean sync); - + void wallpaperCommandComplete(IBinder window, in Bundle result); void setUniverseTransform(IBinder window, float alpha, float offx, float offy, @@ -188,7 +188,7 @@ interface IWindowSession { /** * Notifies that a rectangle on the screen has been requested. */ - void onRectangleOnScreenRequested(IBinder token, in Rect rectangle, boolean immediate); + void onRectangleOnScreenRequested(IBinder token, in Rect rectangle); IWindowId getWindowId(IBinder window); } diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 76d5038..1be0d4e 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -6215,7 +6215,7 @@ public final class ViewRootImpl implements ViewParent, mTempRect.offset(0, -mCurScrollY); mTempRect.offset(mAttachInfo.mWindowLeft, mAttachInfo.mWindowTop); try { - mWindowSession.onRectangleOnScreenRequested(mWindow, mTempRect, immediate); + mWindowSession.onRectangleOnScreenRequested(mWindow, mTempRect); } catch (RemoteException re) { /* ignore */ } diff --git a/core/java/android/view/WindowInfo.java b/core/java/android/view/WindowInfo.java index 7f89044..b721074 100644 --- a/core/java/android/view/WindowInfo.java +++ b/core/java/android/view/WindowInfo.java @@ -111,6 +111,7 @@ public class WindowInfo implements Parcelable { builder.append("type=").append(type); builder.append(", layer=").append(layer); builder.append(", token=").append(token); + builder.append(", bounds=").append(boundsInScreen); builder.append(", parent=").append(parentToken); builder.append(", focused=").append(focused); builder.append(", children=").append(childTokens); |
