diff options
author | Po Lu <luangruo@yahoo.com> | 2024-03-12 09:48:53 +0800 |
---|---|---|
committer | Po Lu <luangruo@yahoo.com> | 2024-03-12 09:48:53 +0800 |
commit | d7ded996082503ca00546c220c7ce8d96e16b76a (patch) | |
tree | c134bf9471567f3a27be6814f117d09994987059 /java | |
parent | bf38783c32e794e46fd03210242f265f34257940 (diff) | |
download | emacs-d7ded996082503ca00546c220c7ce8d96e16b76a.tar.gz |
Implement notification residency on Android
* doc/lispref/os.texi (Desktop Notifications): Document support
for `:resident'.
* java/org/gnu/emacs/EmacsService.java (cancelNotification):
* src/android.c (android_init_emacs_service):
* src/android.h (struct android_emacs_service): New function.
* src/androidselect.c (android_notifications_notify_1)
(Fandroid_notifications_notify): New parameter QCresident; save
it within notification lists.
(android_notification_deleted, android_notification_action):
Adjust for changes to the format of notification lists and
cancel non-resident notifications when an action is selected.
(syms_of_androidselect): <QCresident>: New symbol.
Diffstat (limited to 'java')
-rw-r--r-- | java/org/gnu/emacs/EmacsService.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/java/org/gnu/emacs/EmacsService.java b/java/org/gnu/emacs/EmacsService.java index d17ba597d8e..9bc40d63311 100644 --- a/java/org/gnu/emacs/EmacsService.java +++ b/java/org/gnu/emacs/EmacsService.java @@ -1967,4 +1967,29 @@ public final class EmacsService extends Service else requestStorageAccess30 (); } + + + + /* Notification miscellany. */ + + /* Cancel any notification displayed with the tag TAG. */ + + public void + cancelNotification (final String string) + { + Object tem; + final NotificationManager manager; + + tem = getSystemService (Context.NOTIFICATION_SERVICE); + manager = (NotificationManager) tem; + + runOnUiThread (new Runnable () { + @Override + public void + run () + { + manager.cancel (string, 2); + } + }); + } }; |