diff options
Diffstat (limited to 'src/android.c')
| -rw-r--r-- | src/android.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/android.c b/src/android.c index 021bea1fc2f..598d002fb1c 100644 --- a/src/android.c +++ b/src/android.c | |||
| @@ -97,6 +97,7 @@ struct android_emacs_service | |||
| 97 | jmethodID name_keysym; | 97 | jmethodID name_keysym; |
| 98 | jmethodID sync; | 98 | jmethodID sync; |
| 99 | jmethodID browse_url; | 99 | jmethodID browse_url; |
| 100 | jmethodID restart_emacs; | ||
| 100 | }; | 101 | }; |
| 101 | 102 | ||
| 102 | struct android_emacs_pixmap | 103 | struct android_emacs_pixmap |
| @@ -1659,6 +1660,7 @@ android_init_emacs_service (void) | |||
| 1659 | FIND_METHOD (sync, "sync", "()V"); | 1660 | FIND_METHOD (sync, "sync", "()V"); |
| 1660 | FIND_METHOD (browse_url, "browseUrl", "(Ljava/lang/String;)" | 1661 | FIND_METHOD (browse_url, "browseUrl", "(Ljava/lang/String;)" |
| 1661 | "Ljava/lang/String;"); | 1662 | "Ljava/lang/String;"); |
| 1663 | FIND_METHOD (restart_emacs, "restartEmacs", "()V"); | ||
| 1662 | #undef FIND_METHOD | 1664 | #undef FIND_METHOD |
| 1663 | } | 1665 | } |
| 1664 | 1666 | ||
| @@ -4987,6 +4989,23 @@ android_browse_url (Lisp_Object url) | |||
| 4987 | return tem; | 4989 | return tem; |
| 4988 | } | 4990 | } |
| 4989 | 4991 | ||
| 4992 | /* Tell the system to restart Emacs in a short amount of time, and | ||
| 4993 | then kill Emacs. Never return. This is used to implement | ||
| 4994 | `restart-emacs'. */ | ||
| 4995 | |||
| 4996 | _Noreturn void | ||
| 4997 | android_restart_emacs (void) | ||
| 4998 | { | ||
| 4999 | /* Try to call the Java side function. Normally, this should call | ||
| 5000 | System.exit to terminate this process. */ | ||
| 5001 | (*android_java_env)->CallVoidMethod (android_java_env, | ||
| 5002 | emacs_service, | ||
| 5003 | service_class.restart_emacs); | ||
| 5004 | |||
| 5005 | /* Exit anyway, in case EmacsService did not do so. */ | ||
| 5006 | exit (0); | ||
| 5007 | } | ||
| 5008 | |||
| 4990 | 5009 | ||
| 4991 | 5010 | ||
| 4992 | #else /* ANDROID_STUBIFY */ | 5011 | #else /* ANDROID_STUBIFY */ |