Loading core/java/android/inputmethodservice/InputMethodService.java +6 −0 Original line number Diff line number Diff line Loading @@ -1199,6 +1199,11 @@ public class InputMethodService extends AbstractInputMethodService { // when the stylus is not down. mPrivOps.setHandwritingSurfaceNotTouchable(true); break; case MotionEvent.ACTION_OUTSIDE: // TODO(b/350047836): determine if there is use-case for simultaneous touch // and stylus handwriting and we shouldn't finish for that. finishStylusHandwriting(); break; } } Loading Loading @@ -3207,6 +3212,7 @@ public class InputMethodService extends AbstractInputMethodService { Log.d(TAG, "Setting new handwriting region for stylus handwriting " + handwritingRegion + " from last " + mLastHandwritingRegion); } mPrivOps.setHandwritingTouchableRegion(handwritingRegion); mLastHandwritingRegion = handwritingRegion; } Loading core/java/com/android/internal/inputmethod/IInputMethodPrivilegedOperations.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.inputmethod; import android.graphics.Region; import android.net.Uri; import android.view.inputmethod.ImeTracker; import android.view.inputmethod.InputMethodSubtype; Loading Loading @@ -51,4 +52,5 @@ oneway interface IInputMethodPrivilegedOperations { void resetStylusHandwriting(int requestId); void switchKeyboardLayoutAsync(int direction); void setHandwritingSurfaceNotTouchable(boolean notTouchable); void setHandwritingTouchableRegion(in Region region); } core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java +20 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.AnyThread; import android.annotation.DrawableRes; import android.annotation.NonNull; import android.annotation.Nullable; import android.graphics.Region; import android.inputmethodservice.InputMethodService.BackDispositionMode; import android.inputmethodservice.InputMethodService.ImeWindowVisibility; import android.net.Uri; Loading Loading @@ -159,6 +160,25 @@ public final class InputMethodPrivilegedOperations { } } /** * Calls {@link IInputMethodPrivilegedOperations#setHandwritingTouchableRegion(Region)}. * * @param region {@link Region} to set handwritable. */ @AnyThread public void setHandwritingTouchableRegion(Region region) { final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull(); if (ops == null) { return; } try { ops.setHandwritingTouchableRegion(region); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Calls {@link IInputMethodPrivilegedOperations#createInputContentUriToken(Uri, String, * AndroidFuture)}. Loading services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +9 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.content.pm.UserInfo; import android.content.res.Resources; import android.graphics.Region; import android.hardware.display.DisplayManagerInternal; import android.hardware.input.InputManager; import android.inputmethodservice.InputMethodService; Loading Loading @@ -6886,6 +6887,14 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. } } @BinderThread @Override public void setHandwritingTouchableRegion(Region region) { synchronized (ImfLock.class) { mImms.mHwController.setHandwritingTouchableRegion(region); } } @BinderThread @Override public void createInputContentUriToken(Uri contentUri, String packageName, Loading Loading
core/java/android/inputmethodservice/InputMethodService.java +6 −0 Original line number Diff line number Diff line Loading @@ -1199,6 +1199,11 @@ public class InputMethodService extends AbstractInputMethodService { // when the stylus is not down. mPrivOps.setHandwritingSurfaceNotTouchable(true); break; case MotionEvent.ACTION_OUTSIDE: // TODO(b/350047836): determine if there is use-case for simultaneous touch // and stylus handwriting and we shouldn't finish for that. finishStylusHandwriting(); break; } } Loading Loading @@ -3207,6 +3212,7 @@ public class InputMethodService extends AbstractInputMethodService { Log.d(TAG, "Setting new handwriting region for stylus handwriting " + handwritingRegion + " from last " + mLastHandwritingRegion); } mPrivOps.setHandwritingTouchableRegion(handwritingRegion); mLastHandwritingRegion = handwritingRegion; } Loading
core/java/com/android/internal/inputmethod/IInputMethodPrivilegedOperations.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package com.android.internal.inputmethod; import android.graphics.Region; import android.net.Uri; import android.view.inputmethod.ImeTracker; import android.view.inputmethod.InputMethodSubtype; Loading Loading @@ -51,4 +52,5 @@ oneway interface IInputMethodPrivilegedOperations { void resetStylusHandwriting(int requestId); void switchKeyboardLayoutAsync(int direction); void setHandwritingSurfaceNotTouchable(boolean notTouchable); void setHandwritingTouchableRegion(in Region region); }
core/java/com/android/internal/inputmethod/InputMethodPrivilegedOperations.java +20 −0 Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import android.annotation.AnyThread; import android.annotation.DrawableRes; import android.annotation.NonNull; import android.annotation.Nullable; import android.graphics.Region; import android.inputmethodservice.InputMethodService.BackDispositionMode; import android.inputmethodservice.InputMethodService.ImeWindowVisibility; import android.net.Uri; Loading Loading @@ -159,6 +160,25 @@ public final class InputMethodPrivilegedOperations { } } /** * Calls {@link IInputMethodPrivilegedOperations#setHandwritingTouchableRegion(Region)}. * * @param region {@link Region} to set handwritable. */ @AnyThread public void setHandwritingTouchableRegion(Region region) { final IInputMethodPrivilegedOperations ops = mOps.getAndWarnIfNull(); if (ops == null) { return; } try { ops.setHandwritingTouchableRegion(region); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } } /** * Calls {@link IInputMethodPrivilegedOperations#createInputContentUriToken(Uri, String, * AndroidFuture)}. Loading
services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +9 −0 Original line number Diff line number Diff line Loading @@ -84,6 +84,7 @@ import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.content.pm.UserInfo; import android.content.res.Resources; import android.graphics.Region; import android.hardware.display.DisplayManagerInternal; import android.hardware.input.InputManager; import android.inputmethodservice.InputMethodService; Loading Loading @@ -6886,6 +6887,14 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. } } @BinderThread @Override public void setHandwritingTouchableRegion(Region region) { synchronized (ImfLock.class) { mImms.mHwController.setHandwritingTouchableRegion(region); } } @BinderThread @Override public void createInputContentUriToken(Uri contentUri, String packageName, Loading