From: Po Lu Date: Sun, 12 Mar 2023 12:53:34 +0000 (+0800) Subject: Update Android port X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=08a3749794b8e6c1b3db882ee15e3e91f3700414;p=emacs.git Update Android port * src/android.c (android_get_screen_width): (android_get_screen_height): (android_get_mm_width): (android_get_mm_height): (android_detect_mouse): Correctly handle Java exceptions. --- diff --git a/src/android.c b/src/android.c index a2c239736a7..16c645ced1e 100644 --- a/src/android.c +++ b/src/android.c @@ -4880,45 +4880,80 @@ android_damage_window (android_drawable handle, int android_get_screen_width (void) { - return (*android_java_env)->CallIntMethod (android_java_env, - emacs_service, - service_class.get_screen_width, - (jboolean) false); + int rc; + jmethodID method; + + method = service_class.get_screen_width; + rc = (*android_java_env)->CallNonvirtualIntMethod (android_java_env, + emacs_service, + service_class.class, + method, + (jboolean) false); + android_exception_check (); + return rc; } int android_get_screen_height (void) { - return (*android_java_env)->CallIntMethod (android_java_env, - emacs_service, - service_class.get_screen_height, - (jboolean) false); + int rc; + jmethodID method; + + method = service_class.get_screen_height; + rc = (*android_java_env)->CallNonvirtualIntMethod (android_java_env, + emacs_service, + service_class.class, + method, + (jboolean) false); + android_exception_check (); + return rc; } int android_get_mm_width (void) { - return (*android_java_env)->CallIntMethod (android_java_env, - emacs_service, - service_class.get_screen_width, - (jboolean) true); + int rc; + jmethodID method; + + method = service_class.get_screen_width; + rc = (*android_java_env)->CallNonvirtualIntMethod (android_java_env, + emacs_service, + service_class.class, + method, + (jboolean) true); + android_exception_check (); + return rc; } int android_get_mm_height (void) { - return (*android_java_env)->CallIntMethod (android_java_env, - emacs_service, - service_class.get_screen_height, - (jboolean) true); + int rc; + jmethodID method; + + method = service_class.get_screen_height; + rc = (*android_java_env)->CallNonvirtualIntMethod (android_java_env, + emacs_service, + service_class.class, + method, + (jboolean) true); + android_exception_check (); + return rc; } bool android_detect_mouse (void) { - return (*android_java_env)->CallBooleanMethod (android_java_env, - emacs_service, - service_class.detect_mouse); + bool rc; + jmethodID method; + + method = service_class.detect_mouse; + rc = (*android_java_env)->CallNonvirtualBooleanMethod (android_java_env, + emacs_service, + service_class.class, + method); + android_exception_check (); + return rc; } void