summaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2024-03-13 10:59:39 +0800
committerPo Lu <luangruo@yahoo.com>2024-03-13 11:01:39 +0800
commit6b40d557c4a9a4152565c1a1b0da49a1aaaec84f (patch)
treeac82dd76319ccc7df22a9d70923ec28f97c4f41a /java
parent4afafa03704aab0c21e4cb4f028256ecead5f795 (diff)
downloademacs-6b40d557c4a9a4152565c1a1b0da49a1aaaec84f.tar.gz
Port more notification senders to non-XDG systems
* doc/lispref/os.texi (Desktop Notifications): Document that `:timeout' is now implemented. * java/org/gnu/emacs/EmacsDesktopNotification.java (EmacsDesktopNotification): New field delay. (display1): Set delay on Android 8.0 and up. * lisp/erc/erc-desktop-notifications.el (erc-notifications-notify): Call Android or Haiku notification functions on those systems. * lisp/gnus/gnus-notifications.el (gnus-notifications-action) (gnus-notification-close): Remove dismissed notifications from the notification to message map. (gnus-notifications-notify): Call android-notifications-notify if possible. * src/androidselect.c (android_init_emacs_desktop_notification): Update accordingly. (android_notifications_notify_1): New argument TIMEOUT. (Fandroid_notifications_notify): New argument QCtimeout. (syms_of_androidselect) <QCtimeout>: New symbol.
Diffstat (limited to 'java')
-rw-r--r--java/org/gnu/emacs/EmacsDesktopNotification.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/java/org/gnu/emacs/EmacsDesktopNotification.java b/java/org/gnu/emacs/EmacsDesktopNotification.java
index d05ed2e6203..d00b9f2ea22 100644
--- a/java/org/gnu/emacs/EmacsDesktopNotification.java
+++ b/java/org/gnu/emacs/EmacsDesktopNotification.java
@@ -83,11 +83,16 @@ public final class EmacsDesktopNotification
notification. */
public final String[] actions, titles;
+ /* Delay in miliseconds after which this notification should be
+ automatically dismissed. */
+ public final long delay;
+
public
EmacsDesktopNotification (String title, String content,
String group, String tag, int icon,
int importance,
- String[] actions, String[] titles)
+ String[] actions, String[] titles,
+ long delay)
{
this.content = content;
this.title = title;
@@ -97,6 +102,7 @@ public final class EmacsDesktopNotification
this.importance = importance;
this.actions = actions;
this.titles = titles;
+ this.delay = delay;
}
@@ -191,6 +197,8 @@ public final class EmacsDesktopNotification
builder.setContentTitle (title);
builder.setContentText (content);
builder.setSmallIcon (icon);
+ builder.setTimeoutAfter (delay);
+
insertActions (context, builder);
notification = builder.build ();
}