Loading api/current.txt +14 −0 Original line number Diff line number Diff line Loading @@ -42758,6 +42758,7 @@ package android.view { field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010 field public static final int SOURCE_KEYBOARD = 257; // 0x101 field public static final int SOURCE_MOUSE = 8194; // 0x2002 field public static final int SOURCE_MOUSE_RELATIVE = 131076; // 0x20004 field public static final int SOURCE_STYLUS = 16386; // 0x4002 field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008 field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002 Loading Loading @@ -43912,6 +43913,7 @@ package android.view { method public void createContextMenu(android.view.ContextMenu); method public void destroyDrawingCache(); method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets); method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent); method public void dispatchConfigurationChanged(android.content.res.Configuration); method public void dispatchDisplayHint(int); method public boolean dispatchDragEvent(android.view.DragEvent); Loading @@ -43930,6 +43932,7 @@ package android.view { method public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle); method public boolean dispatchNestedPreScroll(int, int, int[], int[]); method public boolean dispatchNestedScroll(int, int, int, int, int[]); method public void dispatchPointerCaptureChanged(boolean); method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void dispatchProvideAutoFillStructure(android.view.ViewStructure, int); method public void dispatchProvideStructure(android.view.ViewStructure); Loading Loading @@ -44112,6 +44115,7 @@ package android.view { method public boolean hasNestedScrollingParent(); method public boolean hasOnClickListeners(); method public boolean hasOverlappingRendering(); method public boolean hasPointerCapture(); method public boolean hasTransientState(); method public boolean hasWindowFocus(); method public static android.view.View inflate(android.content.Context, int, android.view.ViewGroup); Loading Loading @@ -44176,6 +44180,7 @@ package android.view { method public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets); method protected void onAttachedToWindow(); method public void onCancelPendingInputEvents(); method public boolean onCapturedPointerEvent(android.view.MotionEvent); method public boolean onCheckIsTextEditor(); method protected void onConfigurationChanged(android.content.res.Configuration); method protected void onCreateContextMenu(android.view.ContextMenu); Loading Loading @@ -44205,6 +44210,7 @@ package android.view { method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void onProvideAutoFillStructure(android.view.ViewStructure, int); method public void onProvideAutoFillVirtualStructure(android.view.ViewStructure, int); Loading Loading @@ -44247,6 +44253,7 @@ package android.view { method public void postOnAnimation(java.lang.Runnable); method public void postOnAnimationDelayed(java.lang.Runnable, long); method public void refreshDrawableState(); method public void releasePointerCapture(); method public boolean removeCallbacks(java.lang.Runnable); method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener); method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener); Loading @@ -44257,6 +44264,7 @@ package android.view { method public boolean requestFocus(int, android.graphics.Rect); method public final boolean requestFocusFromTouch(); method public void requestLayout(); method public void requestPointerCapture(); method public boolean requestRectangleOnScreen(android.graphics.Rect); method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean); method public final void requestUnbufferedDispatch(android.view.MotionEvent); Loading Loading @@ -44334,6 +44342,7 @@ package android.view { method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener); Loading Loading @@ -44607,6 +44616,10 @@ package android.view { method public abstract void onViewDetachedFromWindow(android.view.View); } public static abstract interface View.OnCapturedPointerListener { method public abstract boolean onCapturedPointer(android.view.View, android.view.MotionEvent); } public static abstract interface View.OnClickListener { method public abstract void onClick(android.view.View); } Loading Loading @@ -45339,6 +45352,7 @@ package android.view { method public abstract boolean onMenuItemSelected(int, android.view.MenuItem); method public abstract boolean onMenuOpened(int, android.view.Menu); method public abstract void onPanelClosed(int, android.view.Menu); method public default void onPointerCaptureChanged(boolean); method public abstract boolean onPreparePanel(int, android.view.View, android.view.Menu); method public default void onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int); method public abstract boolean onSearchRequested(); api/system-current.txt +14 −0 Original line number Diff line number Diff line Loading @@ -46157,6 +46157,7 @@ package android.view { field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010 field public static final int SOURCE_KEYBOARD = 257; // 0x101 field public static final int SOURCE_MOUSE = 8194; // 0x2002 field public static final int SOURCE_MOUSE_RELATIVE = 131076; // 0x20004 field public static final int SOURCE_STYLUS = 16386; // 0x4002 field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008 field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002 Loading Loading @@ -47311,6 +47312,7 @@ package android.view { method public void createContextMenu(android.view.ContextMenu); method public void destroyDrawingCache(); method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets); method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent); method public void dispatchConfigurationChanged(android.content.res.Configuration); method public void dispatchDisplayHint(int); method public boolean dispatchDragEvent(android.view.DragEvent); Loading @@ -47329,6 +47331,7 @@ package android.view { method public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle); method public boolean dispatchNestedPreScroll(int, int, int[], int[]); method public boolean dispatchNestedScroll(int, int, int, int, int[]); method public void dispatchPointerCaptureChanged(boolean); method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void dispatchProvideAutoFillStructure(android.view.ViewStructure, int); method public void dispatchProvideStructure(android.view.ViewStructure); Loading Loading @@ -47511,6 +47514,7 @@ package android.view { method public boolean hasNestedScrollingParent(); method public boolean hasOnClickListeners(); method public boolean hasOverlappingRendering(); method public boolean hasPointerCapture(); method public boolean hasTransientState(); method public boolean hasWindowFocus(); method public static android.view.View inflate(android.content.Context, int, android.view.ViewGroup); Loading Loading @@ -47575,6 +47579,7 @@ package android.view { method public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets); method protected void onAttachedToWindow(); method public void onCancelPendingInputEvents(); method public boolean onCapturedPointerEvent(android.view.MotionEvent); method public boolean onCheckIsTextEditor(); method protected void onConfigurationChanged(android.content.res.Configuration); method protected void onCreateContextMenu(android.view.ContextMenu); Loading Loading @@ -47604,6 +47609,7 @@ package android.view { method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void onProvideAutoFillStructure(android.view.ViewStructure, int); method public void onProvideAutoFillVirtualStructure(android.view.ViewStructure, int); Loading Loading @@ -47646,6 +47652,7 @@ package android.view { method public void postOnAnimation(java.lang.Runnable); method public void postOnAnimationDelayed(java.lang.Runnable, long); method public void refreshDrawableState(); method public void releasePointerCapture(); method public boolean removeCallbacks(java.lang.Runnable); method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener); method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener); Loading @@ -47656,6 +47663,7 @@ package android.view { method public boolean requestFocus(int, android.graphics.Rect); method public final boolean requestFocusFromTouch(); method public void requestLayout(); method public void requestPointerCapture(); method public boolean requestRectangleOnScreen(android.graphics.Rect); method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean); method public final void requestUnbufferedDispatch(android.view.MotionEvent); Loading Loading @@ -47733,6 +47741,7 @@ package android.view { method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener); Loading Loading @@ -48006,6 +48015,10 @@ package android.view { method public abstract void onViewDetachedFromWindow(android.view.View); } public static abstract interface View.OnCapturedPointerListener { method public abstract boolean onCapturedPointer(android.view.View, android.view.MotionEvent); } public static abstract interface View.OnClickListener { method public abstract void onClick(android.view.View); } Loading Loading @@ -48739,6 +48752,7 @@ package android.view { method public abstract boolean onMenuItemSelected(int, android.view.MenuItem); method public abstract boolean onMenuOpened(int, android.view.Menu); method public abstract void onPanelClosed(int, android.view.Menu); method public default void onPointerCaptureChanged(boolean); method public abstract boolean onPreparePanel(int, android.view.View, android.view.Menu); method public default void onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int); method public abstract boolean onSearchRequested(); api/test-current.txt +14 −0 Original line number Diff line number Diff line Loading @@ -43060,6 +43060,7 @@ package android.view { field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010 field public static final int SOURCE_KEYBOARD = 257; // 0x101 field public static final int SOURCE_MOUSE = 8194; // 0x2002 field public static final int SOURCE_MOUSE_RELATIVE = 131076; // 0x20004 field public static final int SOURCE_STYLUS = 16386; // 0x4002 field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008 field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002 Loading Loading @@ -44216,6 +44217,7 @@ package android.view { method public void createContextMenu(android.view.ContextMenu); method public void destroyDrawingCache(); method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets); method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent); method public void dispatchConfigurationChanged(android.content.res.Configuration); method public void dispatchDisplayHint(int); method public boolean dispatchDragEvent(android.view.DragEvent); Loading @@ -44234,6 +44236,7 @@ package android.view { method public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle); method public boolean dispatchNestedPreScroll(int, int, int[], int[]); method public boolean dispatchNestedScroll(int, int, int, int, int[]); method public void dispatchPointerCaptureChanged(boolean); method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void dispatchProvideAutoFillStructure(android.view.ViewStructure, int); method public void dispatchProvideStructure(android.view.ViewStructure); Loading Loading @@ -44417,6 +44420,7 @@ package android.view { method public boolean hasNestedScrollingParent(); method public boolean hasOnClickListeners(); method public boolean hasOverlappingRendering(); method public boolean hasPointerCapture(); method public boolean hasTransientState(); method public boolean hasWindowFocus(); method public static android.view.View inflate(android.content.Context, int, android.view.ViewGroup); Loading Loading @@ -44481,6 +44485,7 @@ package android.view { method public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets); method protected void onAttachedToWindow(); method public void onCancelPendingInputEvents(); method public boolean onCapturedPointerEvent(android.view.MotionEvent); method public boolean onCheckIsTextEditor(); method protected void onConfigurationChanged(android.content.res.Configuration); method protected void onCreateContextMenu(android.view.ContextMenu); Loading Loading @@ -44510,6 +44515,7 @@ package android.view { method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void onProvideAutoFillStructure(android.view.ViewStructure, int); method public void onProvideAutoFillVirtualStructure(android.view.ViewStructure, int); Loading Loading @@ -44552,6 +44558,7 @@ package android.view { method public void postOnAnimation(java.lang.Runnable); method public void postOnAnimationDelayed(java.lang.Runnable, long); method public void refreshDrawableState(); method public void releasePointerCapture(); method public boolean removeCallbacks(java.lang.Runnable); method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener); method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener); Loading @@ -44562,6 +44569,7 @@ package android.view { method public boolean requestFocus(int, android.graphics.Rect); method public final boolean requestFocusFromTouch(); method public void requestLayout(); method public void requestPointerCapture(); method public boolean requestRectangleOnScreen(android.graphics.Rect); method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean); method public final void requestUnbufferedDispatch(android.view.MotionEvent); Loading Loading @@ -44639,6 +44647,7 @@ package android.view { method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener); Loading Loading @@ -44912,6 +44921,10 @@ package android.view { method public abstract void onViewDetachedFromWindow(android.view.View); } public static abstract interface View.OnCapturedPointerListener { method public abstract boolean onCapturedPointer(android.view.View, android.view.MotionEvent); } public static abstract interface View.OnClickListener { method public abstract void onClick(android.view.View); } Loading Loading @@ -45648,6 +45661,7 @@ package android.view { method public abstract boolean onMenuItemSelected(int, android.view.MenuItem); method public abstract boolean onMenuOpened(int, android.view.Menu); method public abstract void onPanelClosed(int, android.view.Menu); method public default void onPointerCaptureChanged(boolean); method public abstract boolean onPreparePanel(int, android.view.View, android.view.Menu); method public default void onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int); method public abstract boolean onSearchRequested(); core/java/android/hardware/input/IInputManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -81,4 +81,6 @@ interface IInputManager { void setPointerIconType(int typeId); void setCustomPointerIcon(in PointerIcon icon); void requestPointerCapture(IBinder windowToken, boolean enabled); } core/java/android/hardware/input/InputManager.java +20 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import android.util.Log; import android.util.SparseArray; import android.view.InputDevice; import android.view.InputEvent; import android.view.MotionEvent; import android.view.PointerIcon; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodSubtype; Loading Loading @@ -898,6 +899,25 @@ public final class InputManager { } } /** * Request or release pointer capture. * <p> * When in capturing mode, the pointer icon disappears and all mouse events are dispatched to * the window which has requested the capture. Relative position changes are available through * {@link MotionEvent#getX} and {@link MotionEvent#getY}. * * @param enable true when requesting pointer capture, false when releasing. * * @hide */ public void requestPointerCapture(IBinder windowToken, boolean enable) { try { mIm.requestPointerCapture(windowToken, enable); } catch (RemoteException ex) { throw ex.rethrowFromSystemServer(); } } private void populateInputDevicesLocked() { if (mInputDevicesChangedListener == null) { final InputDevicesChangedListener listener = new InputDevicesChangedListener(); Loading Loading
api/current.txt +14 −0 Original line number Diff line number Diff line Loading @@ -42758,6 +42758,7 @@ package android.view { field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010 field public static final int SOURCE_KEYBOARD = 257; // 0x101 field public static final int SOURCE_MOUSE = 8194; // 0x2002 field public static final int SOURCE_MOUSE_RELATIVE = 131076; // 0x20004 field public static final int SOURCE_STYLUS = 16386; // 0x4002 field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008 field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002 Loading Loading @@ -43912,6 +43913,7 @@ package android.view { method public void createContextMenu(android.view.ContextMenu); method public void destroyDrawingCache(); method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets); method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent); method public void dispatchConfigurationChanged(android.content.res.Configuration); method public void dispatchDisplayHint(int); method public boolean dispatchDragEvent(android.view.DragEvent); Loading @@ -43930,6 +43932,7 @@ package android.view { method public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle); method public boolean dispatchNestedPreScroll(int, int, int[], int[]); method public boolean dispatchNestedScroll(int, int, int, int, int[]); method public void dispatchPointerCaptureChanged(boolean); method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void dispatchProvideAutoFillStructure(android.view.ViewStructure, int); method public void dispatchProvideStructure(android.view.ViewStructure); Loading Loading @@ -44112,6 +44115,7 @@ package android.view { method public boolean hasNestedScrollingParent(); method public boolean hasOnClickListeners(); method public boolean hasOverlappingRendering(); method public boolean hasPointerCapture(); method public boolean hasTransientState(); method public boolean hasWindowFocus(); method public static android.view.View inflate(android.content.Context, int, android.view.ViewGroup); Loading Loading @@ -44176,6 +44180,7 @@ package android.view { method public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets); method protected void onAttachedToWindow(); method public void onCancelPendingInputEvents(); method public boolean onCapturedPointerEvent(android.view.MotionEvent); method public boolean onCheckIsTextEditor(); method protected void onConfigurationChanged(android.content.res.Configuration); method protected void onCreateContextMenu(android.view.ContextMenu); Loading Loading @@ -44205,6 +44210,7 @@ package android.view { method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void onProvideAutoFillStructure(android.view.ViewStructure, int); method public void onProvideAutoFillVirtualStructure(android.view.ViewStructure, int); Loading Loading @@ -44247,6 +44253,7 @@ package android.view { method public void postOnAnimation(java.lang.Runnable); method public void postOnAnimationDelayed(java.lang.Runnable, long); method public void refreshDrawableState(); method public void releasePointerCapture(); method public boolean removeCallbacks(java.lang.Runnable); method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener); method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener); Loading @@ -44257,6 +44264,7 @@ package android.view { method public boolean requestFocus(int, android.graphics.Rect); method public final boolean requestFocusFromTouch(); method public void requestLayout(); method public void requestPointerCapture(); method public boolean requestRectangleOnScreen(android.graphics.Rect); method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean); method public final void requestUnbufferedDispatch(android.view.MotionEvent); Loading Loading @@ -44334,6 +44342,7 @@ package android.view { method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener); Loading Loading @@ -44607,6 +44616,10 @@ package android.view { method public abstract void onViewDetachedFromWindow(android.view.View); } public static abstract interface View.OnCapturedPointerListener { method public abstract boolean onCapturedPointer(android.view.View, android.view.MotionEvent); } public static abstract interface View.OnClickListener { method public abstract void onClick(android.view.View); } Loading Loading @@ -45339,6 +45352,7 @@ package android.view { method public abstract boolean onMenuItemSelected(int, android.view.MenuItem); method public abstract boolean onMenuOpened(int, android.view.Menu); method public abstract void onPanelClosed(int, android.view.Menu); method public default void onPointerCaptureChanged(boolean); method public abstract boolean onPreparePanel(int, android.view.View, android.view.Menu); method public default void onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int); method public abstract boolean onSearchRequested();
api/system-current.txt +14 −0 Original line number Diff line number Diff line Loading @@ -46157,6 +46157,7 @@ package android.view { field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010 field public static final int SOURCE_KEYBOARD = 257; // 0x101 field public static final int SOURCE_MOUSE = 8194; // 0x2002 field public static final int SOURCE_MOUSE_RELATIVE = 131076; // 0x20004 field public static final int SOURCE_STYLUS = 16386; // 0x4002 field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008 field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002 Loading Loading @@ -47311,6 +47312,7 @@ package android.view { method public void createContextMenu(android.view.ContextMenu); method public void destroyDrawingCache(); method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets); method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent); method public void dispatchConfigurationChanged(android.content.res.Configuration); method public void dispatchDisplayHint(int); method public boolean dispatchDragEvent(android.view.DragEvent); Loading @@ -47329,6 +47331,7 @@ package android.view { method public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle); method public boolean dispatchNestedPreScroll(int, int, int[], int[]); method public boolean dispatchNestedScroll(int, int, int, int, int[]); method public void dispatchPointerCaptureChanged(boolean); method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void dispatchProvideAutoFillStructure(android.view.ViewStructure, int); method public void dispatchProvideStructure(android.view.ViewStructure); Loading Loading @@ -47511,6 +47514,7 @@ package android.view { method public boolean hasNestedScrollingParent(); method public boolean hasOnClickListeners(); method public boolean hasOverlappingRendering(); method public boolean hasPointerCapture(); method public boolean hasTransientState(); method public boolean hasWindowFocus(); method public static android.view.View inflate(android.content.Context, int, android.view.ViewGroup); Loading Loading @@ -47575,6 +47579,7 @@ package android.view { method public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets); method protected void onAttachedToWindow(); method public void onCancelPendingInputEvents(); method public boolean onCapturedPointerEvent(android.view.MotionEvent); method public boolean onCheckIsTextEditor(); method protected void onConfigurationChanged(android.content.res.Configuration); method protected void onCreateContextMenu(android.view.ContextMenu); Loading Loading @@ -47604,6 +47609,7 @@ package android.view { method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void onProvideAutoFillStructure(android.view.ViewStructure, int); method public void onProvideAutoFillVirtualStructure(android.view.ViewStructure, int); Loading Loading @@ -47646,6 +47652,7 @@ package android.view { method public void postOnAnimation(java.lang.Runnable); method public void postOnAnimationDelayed(java.lang.Runnable, long); method public void refreshDrawableState(); method public void releasePointerCapture(); method public boolean removeCallbacks(java.lang.Runnable); method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener); method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener); Loading @@ -47656,6 +47663,7 @@ package android.view { method public boolean requestFocus(int, android.graphics.Rect); method public final boolean requestFocusFromTouch(); method public void requestLayout(); method public void requestPointerCapture(); method public boolean requestRectangleOnScreen(android.graphics.Rect); method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean); method public final void requestUnbufferedDispatch(android.view.MotionEvent); Loading Loading @@ -47733,6 +47741,7 @@ package android.view { method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener); Loading Loading @@ -48006,6 +48015,10 @@ package android.view { method public abstract void onViewDetachedFromWindow(android.view.View); } public static abstract interface View.OnCapturedPointerListener { method public abstract boolean onCapturedPointer(android.view.View, android.view.MotionEvent); } public static abstract interface View.OnClickListener { method public abstract void onClick(android.view.View); } Loading Loading @@ -48739,6 +48752,7 @@ package android.view { method public abstract boolean onMenuItemSelected(int, android.view.MenuItem); method public abstract boolean onMenuOpened(int, android.view.Menu); method public abstract void onPanelClosed(int, android.view.Menu); method public default void onPointerCaptureChanged(boolean); method public abstract boolean onPreparePanel(int, android.view.View, android.view.Menu); method public default void onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int); method public abstract boolean onSearchRequested();
api/test-current.txt +14 −0 Original line number Diff line number Diff line Loading @@ -43060,6 +43060,7 @@ package android.view { field public static final int SOURCE_JOYSTICK = 16777232; // 0x1000010 field public static final int SOURCE_KEYBOARD = 257; // 0x101 field public static final int SOURCE_MOUSE = 8194; // 0x2002 field public static final int SOURCE_MOUSE_RELATIVE = 131076; // 0x20004 field public static final int SOURCE_STYLUS = 16386; // 0x4002 field public static final int SOURCE_TOUCHPAD = 1048584; // 0x100008 field public static final int SOURCE_TOUCHSCREEN = 4098; // 0x1002 Loading Loading @@ -44216,6 +44217,7 @@ package android.view { method public void createContextMenu(android.view.ContextMenu); method public void destroyDrawingCache(); method public android.view.WindowInsets dispatchApplyWindowInsets(android.view.WindowInsets); method public boolean dispatchCapturedPointerEvent(android.view.MotionEvent); method public void dispatchConfigurationChanged(android.content.res.Configuration); method public void dispatchDisplayHint(int); method public boolean dispatchDragEvent(android.view.DragEvent); Loading @@ -44234,6 +44236,7 @@ package android.view { method public boolean dispatchNestedPrePerformAccessibilityAction(int, android.os.Bundle); method public boolean dispatchNestedPreScroll(int, int, int[], int[]); method public boolean dispatchNestedScroll(int, int, int, int, int[]); method public void dispatchPointerCaptureChanged(boolean); method public boolean dispatchPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void dispatchProvideAutoFillStructure(android.view.ViewStructure, int); method public void dispatchProvideStructure(android.view.ViewStructure); Loading Loading @@ -44417,6 +44420,7 @@ package android.view { method public boolean hasNestedScrollingParent(); method public boolean hasOnClickListeners(); method public boolean hasOverlappingRendering(); method public boolean hasPointerCapture(); method public boolean hasTransientState(); method public boolean hasWindowFocus(); method public static android.view.View inflate(android.content.Context, int, android.view.ViewGroup); Loading Loading @@ -44481,6 +44485,7 @@ package android.view { method public android.view.WindowInsets onApplyWindowInsets(android.view.WindowInsets); method protected void onAttachedToWindow(); method public void onCancelPendingInputEvents(); method public boolean onCapturedPointerEvent(android.view.MotionEvent); method public boolean onCheckIsTextEditor(); method protected void onConfigurationChanged(android.content.res.Configuration); method protected void onCreateContextMenu(android.view.ContextMenu); Loading Loading @@ -44510,6 +44515,7 @@ package android.view { method protected void onLayout(boolean, int, int, int, int); method protected void onMeasure(int, int); method protected void onOverScrolled(int, int, boolean, boolean); method public void onPointerCaptureChange(boolean); method public void onPopulateAccessibilityEvent(android.view.accessibility.AccessibilityEvent); method public void onProvideAutoFillStructure(android.view.ViewStructure, int); method public void onProvideAutoFillVirtualStructure(android.view.ViewStructure, int); Loading Loading @@ -44552,6 +44558,7 @@ package android.view { method public void postOnAnimation(java.lang.Runnable); method public void postOnAnimationDelayed(java.lang.Runnable, long); method public void refreshDrawableState(); method public void releasePointerCapture(); method public boolean removeCallbacks(java.lang.Runnable); method public void removeOnAttachStateChangeListener(android.view.View.OnAttachStateChangeListener); method public void removeOnLayoutChangeListener(android.view.View.OnLayoutChangeListener); Loading @@ -44562,6 +44569,7 @@ package android.view { method public boolean requestFocus(int, android.graphics.Rect); method public final boolean requestFocusFromTouch(); method public void requestLayout(); method public void requestPointerCapture(); method public boolean requestRectangleOnScreen(android.graphics.Rect); method public boolean requestRectangleOnScreen(android.graphics.Rect, boolean); method public final void requestUnbufferedDispatch(android.view.MotionEvent); Loading Loading @@ -44639,6 +44647,7 @@ package android.view { method public void setNextFocusRightId(int); method public void setNextFocusUpId(int); method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener); method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener); method public void setOnClickListener(android.view.View.OnClickListener); method public void setOnContextClickListener(android.view.View.OnContextClickListener); method public void setOnCreateContextMenuListener(android.view.View.OnCreateContextMenuListener); Loading Loading @@ -44912,6 +44921,10 @@ package android.view { method public abstract void onViewDetachedFromWindow(android.view.View); } public static abstract interface View.OnCapturedPointerListener { method public abstract boolean onCapturedPointer(android.view.View, android.view.MotionEvent); } public static abstract interface View.OnClickListener { method public abstract void onClick(android.view.View); } Loading Loading @@ -45648,6 +45661,7 @@ package android.view { method public abstract boolean onMenuItemSelected(int, android.view.MenuItem); method public abstract boolean onMenuOpened(int, android.view.Menu); method public abstract void onPanelClosed(int, android.view.Menu); method public default void onPointerCaptureChanged(boolean); method public abstract boolean onPreparePanel(int, android.view.View, android.view.Menu); method public default void onProvideKeyboardShortcuts(java.util.List<android.view.KeyboardShortcutGroup>, android.view.Menu, int); method public abstract boolean onSearchRequested();
core/java/android/hardware/input/IInputManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -81,4 +81,6 @@ interface IInputManager { void setPointerIconType(int typeId); void setCustomPointerIcon(in PointerIcon icon); void requestPointerCapture(IBinder windowToken, boolean enabled); }
core/java/android/hardware/input/InputManager.java +20 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import android.util.Log; import android.util.SparseArray; import android.view.InputDevice; import android.view.InputEvent; import android.view.MotionEvent; import android.view.PointerIcon; import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodSubtype; Loading Loading @@ -898,6 +899,25 @@ public final class InputManager { } } /** * Request or release pointer capture. * <p> * When in capturing mode, the pointer icon disappears and all mouse events are dispatched to * the window which has requested the capture. Relative position changes are available through * {@link MotionEvent#getX} and {@link MotionEvent#getY}. * * @param enable true when requesting pointer capture, false when releasing. * * @hide */ public void requestPointerCapture(IBinder windowToken, boolean enable) { try { mIm.requestPointerCapture(windowToken, enable); } catch (RemoteException ex) { throw ex.rethrowFromSystemServer(); } } private void populateInputDevicesLocked() { if (mInputDevicesChangedListener == null) { final InputDevicesChangedListener listener = new InputDevicesChangedListener(); Loading