Loading java/src/com/android/inputmethod/compat/InputConnectionCompatUtils.java +15 −17 Original line number Diff line number Diff line Loading @@ -21,30 +21,29 @@ import android.view.inputmethod.InputMethodManager; public final class InputConnectionCompatUtils { private static final CompatUtils.ClassWrapper sInputConnectionType; private static final CompatUtils.ToBooleanMethodWrapper sRequestUpdateCursorAnchorInfoMethod; private static final CompatUtils.ToBooleanMethodWrapper sRequestCursorUpdatesMethod; static { sInputConnectionType = new CompatUtils.ClassWrapper(InputConnection.class); sRequestUpdateCursorAnchorInfoMethod = sInputConnectionType.getPrimitiveMethod( "requestUpdateCursorAnchorInfo", false, int.class); sRequestCursorUpdatesMethod = sInputConnectionType.getPrimitiveMethod( "requestCursorUpdates", false, int.class); } public static boolean isRequestUpdateCursorAnchorInfoAvailable() { return sRequestUpdateCursorAnchorInfoMethod != null; public static boolean isRequestCursorUpdatesAvailable() { return sRequestCursorUpdatesMethod != null; } /** * Local copies of some constants in CursorAnchorInfoRequest until the SDK becomes publicly * available. * Local copies of some constants in InputConnection until the SDK becomes publicly available. */ private static int REQUEST_UPDATE_CURSOR_UPDATE_IMMEDIATE = 1 << 0; private static int REQUEST_UPDATE_CURSOR_UPDATE_MONITOR = 1 << 1; private static int CURSOR_UPDATE_IMMEDIATE = 1 << 0; private static int CURSOR_UPDATE_MONITOR = 1 << 1; private static boolean requestUpdateCursorAnchorInfoImpl(final InputConnection inputConnection, private static boolean requestCursorUpdatesImpl(final InputConnection inputConnection, final int cursorUpdateMode) { if (!isRequestUpdateCursorAnchorInfoAvailable()) { if (!isRequestCursorUpdatesAvailable()) { return false; } return sRequestUpdateCursorAnchorInfoMethod.invoke(inputConnection, cursorUpdateMode); return sRequestCursorUpdatesMethod.invoke(inputConnection, cursorUpdateMode); } /** Loading @@ -56,11 +55,10 @@ public final class InputConnectionCompatUtils { * as soon as possible to notify the current cursor/anchor position to the input method. * @return {@code false} if the request is not handled. Otherwise returns {@code true}. */ public static boolean requestUpdateCursorAnchorInfo(final InputConnection inputConnection, public static boolean requestCursorUpdates(final InputConnection inputConnection, final boolean enableMonitor, final boolean requestImmediateCallback) { final int cursorUpdateMode = (enableMonitor ? REQUEST_UPDATE_CURSOR_UPDATE_MONITOR : 0) | (requestImmediateCallback ? REQUEST_UPDATE_CURSOR_UPDATE_IMMEDIATE : 0); return requestUpdateCursorAnchorInfoImpl(inputConnection, cursorUpdateMode); final int cursorUpdateMode = (enableMonitor ? CURSOR_UPDATE_MONITOR : 0) | (requestImmediateCallback ? CURSOR_UPDATE_IMMEDIATE : 0); return requestCursorUpdatesImpl(inputConnection, cursorUpdateMode); } } java/src/com/android/inputmethod/latin/RichInputConnection.java +3 −3 Original line number Diff line number Diff line Loading @@ -922,13 +922,13 @@ public final class RichInputConnection { * prevents the application from fulfilling the request. (TODO: Improve the API when it turns * out that we actually need more detailed error codes) */ public boolean requestUpdateCursorAnchorInfo(final boolean enableMonitor, public boolean requestCursorUpdates(final boolean enableMonitor, final boolean requestImmediateCallback) { mIC = mParent.getCurrentInputConnection(); final boolean scheduled; if (null != mIC) { scheduled = InputConnectionCompatUtils.requestUpdateCursorAnchorInfo(mIC, enableMonitor, requestImmediateCallback); scheduled = InputConnectionCompatUtils.requestCursorUpdates(mIC, enableMonitor, requestImmediateCallback); } else { scheduled = false; } Loading java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +1 −1 Original line number Diff line number Diff line Loading @@ -167,7 +167,7 @@ public final class InputLogic { if (ProductionFlags.ENABLE_CURSOR_ANCHOR_INFO_CALLBACK) { // AcceptTypedWord feature relies on CursorAnchorInfo. if (settingsValues.mShouldShowUiToAcceptTypedWord) { mConnection.requestUpdateCursorAnchorInfo(true /* enableMonitor */, mConnection.requestCursorUpdates(true /* enableMonitor */, true /* requestImmediateCallback */); } } Loading Loading
java/src/com/android/inputmethod/compat/InputConnectionCompatUtils.java +15 −17 Original line number Diff line number Diff line Loading @@ -21,30 +21,29 @@ import android.view.inputmethod.InputMethodManager; public final class InputConnectionCompatUtils { private static final CompatUtils.ClassWrapper sInputConnectionType; private static final CompatUtils.ToBooleanMethodWrapper sRequestUpdateCursorAnchorInfoMethod; private static final CompatUtils.ToBooleanMethodWrapper sRequestCursorUpdatesMethod; static { sInputConnectionType = new CompatUtils.ClassWrapper(InputConnection.class); sRequestUpdateCursorAnchorInfoMethod = sInputConnectionType.getPrimitiveMethod( "requestUpdateCursorAnchorInfo", false, int.class); sRequestCursorUpdatesMethod = sInputConnectionType.getPrimitiveMethod( "requestCursorUpdates", false, int.class); } public static boolean isRequestUpdateCursorAnchorInfoAvailable() { return sRequestUpdateCursorAnchorInfoMethod != null; public static boolean isRequestCursorUpdatesAvailable() { return sRequestCursorUpdatesMethod != null; } /** * Local copies of some constants in CursorAnchorInfoRequest until the SDK becomes publicly * available. * Local copies of some constants in InputConnection until the SDK becomes publicly available. */ private static int REQUEST_UPDATE_CURSOR_UPDATE_IMMEDIATE = 1 << 0; private static int REQUEST_UPDATE_CURSOR_UPDATE_MONITOR = 1 << 1; private static int CURSOR_UPDATE_IMMEDIATE = 1 << 0; private static int CURSOR_UPDATE_MONITOR = 1 << 1; private static boolean requestUpdateCursorAnchorInfoImpl(final InputConnection inputConnection, private static boolean requestCursorUpdatesImpl(final InputConnection inputConnection, final int cursorUpdateMode) { if (!isRequestUpdateCursorAnchorInfoAvailable()) { if (!isRequestCursorUpdatesAvailable()) { return false; } return sRequestUpdateCursorAnchorInfoMethod.invoke(inputConnection, cursorUpdateMode); return sRequestCursorUpdatesMethod.invoke(inputConnection, cursorUpdateMode); } /** Loading @@ -56,11 +55,10 @@ public final class InputConnectionCompatUtils { * as soon as possible to notify the current cursor/anchor position to the input method. * @return {@code false} if the request is not handled. Otherwise returns {@code true}. */ public static boolean requestUpdateCursorAnchorInfo(final InputConnection inputConnection, public static boolean requestCursorUpdates(final InputConnection inputConnection, final boolean enableMonitor, final boolean requestImmediateCallback) { final int cursorUpdateMode = (enableMonitor ? REQUEST_UPDATE_CURSOR_UPDATE_MONITOR : 0) | (requestImmediateCallback ? REQUEST_UPDATE_CURSOR_UPDATE_IMMEDIATE : 0); return requestUpdateCursorAnchorInfoImpl(inputConnection, cursorUpdateMode); final int cursorUpdateMode = (enableMonitor ? CURSOR_UPDATE_MONITOR : 0) | (requestImmediateCallback ? CURSOR_UPDATE_IMMEDIATE : 0); return requestCursorUpdatesImpl(inputConnection, cursorUpdateMode); } }
java/src/com/android/inputmethod/latin/RichInputConnection.java +3 −3 Original line number Diff line number Diff line Loading @@ -922,13 +922,13 @@ public final class RichInputConnection { * prevents the application from fulfilling the request. (TODO: Improve the API when it turns * out that we actually need more detailed error codes) */ public boolean requestUpdateCursorAnchorInfo(final boolean enableMonitor, public boolean requestCursorUpdates(final boolean enableMonitor, final boolean requestImmediateCallback) { mIC = mParent.getCurrentInputConnection(); final boolean scheduled; if (null != mIC) { scheduled = InputConnectionCompatUtils.requestUpdateCursorAnchorInfo(mIC, enableMonitor, requestImmediateCallback); scheduled = InputConnectionCompatUtils.requestCursorUpdates(mIC, enableMonitor, requestImmediateCallback); } else { scheduled = false; } Loading
java/src/com/android/inputmethod/latin/inputlogic/InputLogic.java +1 −1 Original line number Diff line number Diff line Loading @@ -167,7 +167,7 @@ public final class InputLogic { if (ProductionFlags.ENABLE_CURSOR_ANCHOR_INFO_CALLBACK) { // AcceptTypedWord feature relies on CursorAnchorInfo. if (settingsValues.mShouldShowUiToAcceptTypedWord) { mConnection.requestUpdateCursorAnchorInfo(true /* enableMonitor */, mConnection.requestCursorUpdates(true /* enableMonitor */, true /* requestImmediateCallback */); } } Loading