mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-13 23:10:26 -08:00
Update Android port
* java/org/gnu/emacs/EmacsInputConnection.java (EmacsInputConnection, beginBatchEdit, reset, endBatchEdit): Keep track of the number of batch edits and return an appropriate value. (takeSnapshot): Implement function. * java/org/gnu/emacs/EmacsNative.java (takeSnapshot): New function. * java/org/gnu/emacs/EmacsService.java (resetIC): Improve debugging output. * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): Call `reset' to clear the UI side batch edit count. * src/androidterm.c (struct android_get_surrounding_text_context): New fields `conversion_start' and `conversion_end'. (android_get_surrounding_text): Return the conversion region. (android_get_surrounding_text_internal, NATIVE_NAME): Factor out `getSurroundingText'. (takeSnapshot): New function.
This commit is contained in:
parent
ca120044ac
commit
363e293cc9
5 changed files with 203 additions and 26 deletions
|
|
@ -767,8 +767,31 @@ public final class EmacsService extends Service
|
|||
public void
|
||||
resetIC (EmacsWindow window, int icMode)
|
||||
{
|
||||
int oldMode;
|
||||
|
||||
if (DEBUG_IC)
|
||||
Log.d (TAG, "resetIC: " + window);
|
||||
Log.d (TAG, "resetIC: " + window + ", " + icMode);
|
||||
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU
|
||||
&& (oldMode = window.view.getICMode ()) == icMode
|
||||
/* Don't do this if there is currently no input
|
||||
connection. */
|
||||
&& oldMode != IC_MODE_NULL)
|
||||
{
|
||||
if (DEBUG_IC)
|
||||
Log.d (TAG, "resetIC: calling invalidateInput");
|
||||
|
||||
/* Android 33 and later allow the IM reset to be optimized out
|
||||
and replaced by a call to `invalidateInput', which is much
|
||||
faster, as it does not involve resetting the input
|
||||
connection. */
|
||||
|
||||
icBeginSynchronous ();
|
||||
window.view.imManager.invalidateInput (window.view);
|
||||
icEndSynchronous ();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
window.view.setICMode (icMode);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue