diff options
| author | Po Lu | 2023-03-02 09:27:37 +0800 |
|---|---|---|
| committer | Po Lu | 2023-03-02 09:27:37 +0800 |
| commit | 7fb3c0d0397096f643f6239d50cf52eaf96e7b07 (patch) | |
| tree | 53619775d86261a8210630f344c6eae8bbdd6aa9 /src/android.c | |
| parent | 5e416d02c59e356e6f7677a9132896d824bcb337 (diff) | |
| download | emacs-7fb3c0d0397096f643f6239d50cf52eaf96e7b07.tar.gz emacs-7fb3c0d0397096f643f6239d50cf52eaf96e7b07.zip | |
Update Android port
* doc/emacs/android.texi (Android Windowing): Reword
documentation.
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity):
* java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu):
* java/org/gnu/emacs/EmacsFontDriver.java (EmacsFontDriver):
* java/org/gnu/emacs/EmacsSdk7FontDriver.java
(EmacsSdk7FontDriver):
* java/org/gnu/emacs/EmacsService.java (queryBattery):
* java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): Make
functions final and classes static where necessary.
* src/android.c (struct android_emacs_service): New method
`display_toast'.
(android_init_emacs_service): Load new method.
(android_display_toast): New function.
* src/android.h: Export.
* src/androidfns.c (Fandroid_detect_mouse):
* src/androidselect.c (Fandroid_clipboard_owner_p)
(Fandroid_set_clipboard, Fandroid_get_clipboard)
(Fandroid_browse_url): Prevent crashes when called from
libandroid-emacs.so.
* src/androidterm.c (handle_one_android_event): Fix out of date
commentary.
Diffstat (limited to 'src/android.c')
| -rw-r--r-- | src/android.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/android.c b/src/android.c index 3bccaab041a..daeb7ab70f6 100644 --- a/src/android.c +++ b/src/android.c | |||
| @@ -112,6 +112,7 @@ struct android_emacs_service | |||
| 112 | jmethodID open_content_uri; | 112 | jmethodID open_content_uri; |
| 113 | jmethodID check_content_uri; | 113 | jmethodID check_content_uri; |
| 114 | jmethodID query_battery; | 114 | jmethodID query_battery; |
| 115 | jmethodID display_toast; | ||
| 115 | }; | 116 | }; |
| 116 | 117 | ||
| 117 | struct android_emacs_pixmap | 118 | struct android_emacs_pixmap |
| @@ -2124,6 +2125,8 @@ android_init_emacs_service (void) | |||
| 2124 | FIND_METHOD (check_content_uri, "checkContentUri", | 2125 | FIND_METHOD (check_content_uri, "checkContentUri", |
| 2125 | "([BZZ)Z"); | 2126 | "([BZZ)Z"); |
| 2126 | FIND_METHOD (query_battery, "queryBattery", "()[J"); | 2127 | FIND_METHOD (query_battery, "queryBattery", "()[J"); |
| 2128 | FIND_METHOD (display_toast, "displayToast", | ||
| 2129 | "(Ljava/lang/String;)V"); | ||
| 2127 | #undef FIND_METHOD | 2130 | #undef FIND_METHOD |
| 2128 | } | 2131 | } |
| 2129 | 2132 | ||
| @@ -5696,6 +5699,31 @@ android_query_battery (struct android_battery_state *status) | |||
| 5696 | return 0; | 5699 | return 0; |
| 5697 | } | 5700 | } |
| 5698 | 5701 | ||
| 5702 | /* Display a small momentary notification on screen containing | ||
| 5703 | TEXT, which must be in the modified UTF encoding used by the | ||
| 5704 | JVM. */ | ||
| 5705 | |||
| 5706 | void | ||
| 5707 | android_display_toast (const char *text) | ||
| 5708 | { | ||
| 5709 | jstring string; | ||
| 5710 | |||
| 5711 | /* Make the string. */ | ||
| 5712 | string = (*android_java_env)->NewStringUTF (android_java_env, | ||
| 5713 | text); | ||
| 5714 | android_exception_check (); | ||
| 5715 | |||
| 5716 | /* Display the toast. */ | ||
| 5717 | (*android_java_env)->CallVoidMethod (android_java_env, | ||
| 5718 | emacs_service, | ||
| 5719 | service_class.display_toast, | ||
| 5720 | string); | ||
| 5721 | android_exception_check_1 (string); | ||
| 5722 | |||
| 5723 | /* Delete the local reference to the string. */ | ||
| 5724 | ANDROID_DELETE_LOCAL_REF (string); | ||
| 5725 | } | ||
| 5726 | |||
| 5699 | 5727 | ||
| 5700 | 5728 | ||
| 5701 | /* Whether or not a query is currently being made. */ | 5729 | /* Whether or not a query is currently being made. */ |