diff options
| author | Po Lu <luangruo@yahoo.com> | 2023-06-01 15:16:02 +0800 |
|---|---|---|
| committer | Po Lu <luangruo@yahoo.com> | 2023-06-01 15:16:02 +0800 |
| commit | aed0a11147e29fc73405f1815fef91ecf6cca7fb (patch) | |
| tree | 35f335168eb4fe2c642a4c1a26109c71c3dacae6 /java/org/gnu/emacs/EmacsInputConnection.java | |
| parent | 9a958c59a2ce546e6ec99c58ca181dafeac8dd6b (diff) | |
Update Android port
* java/org/gnu/emacs/EmacsInputConnection.java
(EmacsInputConnection, performContextMenuAction): New function.
* java/org/gnu/emacs/EmacsNative.java (EmacsNative)
(performContextMenuAction): New function.
* src/android.c (android_get_gc_values): Implement more
efficiently.
* src/androidterm.c (android_handle_ime_event): Pass through
`update' argument to `finish_composing_text'. Fix thinko.
* src/textconv.c (really_finish_composing_text)
(really_set_composing_text, really_set_composing_region)
(handle_pending_conversion_events_1, finish_composing_text): New
argument `update'. Notify IME of conversion region changes if
set.
* src/textconv.h: Update structs and prototypes.
Diffstat (limited to 'java/org/gnu/emacs/EmacsInputConnection.java')
| -rw-r--r-- | java/org/gnu/emacs/EmacsInputConnection.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/java/org/gnu/emacs/EmacsInputConnection.java b/java/org/gnu/emacs/EmacsInputConnection.java index 54c98d950aa..eb6fd5f2763 100644 --- a/java/org/gnu/emacs/EmacsInputConnection.java +++ b/java/org/gnu/emacs/EmacsInputConnection.java @@ -257,6 +257,52 @@ public final class EmacsInputConnection extends BaseInputConnection } @Override + public boolean + performContextMenuAction (int contextMenuAction) + { + int action; + + if (EmacsService.DEBUG_IC) + Log.d (TAG, "performContextMenuAction: " + contextMenuAction); + + /* Translate the action in Java code. That way, a great deal of + JNI boilerplate can be avoided. */ + + switch (contextMenuAction) + { + case android.R.id.selectAll: + action = 0; + break; + + case android.R.id.startSelectingText: + action = 1; + break; + + case android.R.id.stopSelectingText: + action = 2; + break; + + case android.R.id.cut: + action = 3; + break; + + case android.R.id.copy: + action = 4; + break; + + case android.R.id.paste: + action = 5; + break; + + default: + return true; + } + + EmacsNative.performContextMenuAction (windowHandle, action); + return true; + } + + @Override public ExtractedText getExtractedText (ExtractedTextRequest request, int flags) { |
