aboutsummaryrefslogtreecommitdiffstats
path: root/src/android.c
diff options
context:
space:
mode:
authorPo Lu2023-03-02 09:27:37 +0800
committerPo Lu2023-03-02 09:27:37 +0800
commit7fb3c0d0397096f643f6239d50cf52eaf96e7b07 (patch)
tree53619775d86261a8210630f344c6eae8bbdd6aa9 /src/android.c
parent5e416d02c59e356e6f7677a9132896d824bcb337 (diff)
downloademacs-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.c28
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
117struct android_emacs_pixmap 118struct 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
5706void
5707android_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. */