mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-05 22:20:24 -08:00
Improve compatibility with Android's default text editor
* java/org/gnu/emacs/EmacsView.java (showOnScreenKeyboard): Request a selection update if `inputConnection' has been established, to more closely emulate the OS text editing widget. (onCreateInputConnection) [EmacsService.DEBUG_IC]: Print current selection values before reporting them.
This commit is contained in:
parent
394aac7b18
commit
70effed88d
1 changed files with 17 additions and 0 deletions
|
|
@ -45,6 +45,8 @@ import android.graphics.Paint;
|
|||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
/* This is an Android view which has a back and front buffer. When
|
||||
swapBuffers is called, the back buffer is swapped to the front
|
||||
buffer, and any damage is invalidated. frontBitmap and backBitmap
|
||||
|
|
@ -775,6 +777,15 @@ public final class EmacsView extends ViewGroup
|
|||
|
||||
imManager.showSoftInput (this, 0);
|
||||
isCurrentlyTextEditor = true;
|
||||
|
||||
/* The OS text editing widget unconditionally reports the current
|
||||
values of the selection to the input method after calls to
|
||||
showSoftInput, which is redundant if inputConnection exists but
|
||||
is now relied upon in such circumstances by the OS's default
|
||||
input method, and must therefore be faithfully reproduced on our
|
||||
part. */
|
||||
if (inputConnection != null)
|
||||
EmacsNative.requestSelectionUpdate (window.handle);
|
||||
}
|
||||
|
||||
public void
|
||||
|
|
@ -831,6 +842,12 @@ public final class EmacsView extends ViewGroup
|
|||
|
||||
selection = EmacsService.viewGetSelection (window.handle);
|
||||
|
||||
if (EmacsService.DEBUG_IC)
|
||||
Log.d (TAG, ("onCreateInputConnection: "
|
||||
+ (selection != null
|
||||
? Arrays.toString (selection)
|
||||
: "(unavailable)")));
|
||||
|
||||
if (selection == null)
|
||||
{
|
||||
/* If the selection could not be obtained, return 0 by 0.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue