<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/java, branch scratch/object-type</title>
<subtitle>Emacs is the extensible, customizable, self-documenting real-time display editor. 
</subtitle>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/'/>
<entry>
<title>Improve C++ standard library detection on Android</title>
<updated>2024-03-17T11:34:09+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-17T11:32:15+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=7a0f4de3c18cab43b5bff47fdab4944e006c68e4'/>
<id>7a0f4de3c18cab43b5bff47fdab4944e006c68e4</id>
<content type='text'>
* configure.ac: Stop relaying --with-ndk-cxx-shared to the
nested invocation of configure.

* build-aux/ndk-build-helper-1.mk (SYSTEM_LIBRARIES):

* build-aux/ndk-build-helper-2.mk (SYSTEM_LIBRARIES): Insert all
of the C++ libraries available on Android.

* configure.ac: Call ndk_LATE and ndk_LATE_EARLY within if
statement at toplevel, averting needless calls to AC_PROG_CXX.

* cross/ndk-build/Makefile.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS):

* cross/ndk-build/ndk-build.mk.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS): New variables.

* cross/ndk-build/ndk-resolve.mk (NDK_SYSTEM_LIBRARIES):
Introduce several other C++ libraries sometimes present on
Android.
(NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)): Insert NDK_BUILD_CXX_STL
when any of these new C++ libraries are requested.

* m4/ndk-build.m4: Completely rewrite C++ compiler and library
detection.

* java/org/gnu/emacs/EmacsNative.java (EmacsNative): Attempt to
load more libraries from static initializer.

* java/INSTALL: Remove obsolete information.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* configure.ac: Stop relaying --with-ndk-cxx-shared to the
nested invocation of configure.

* build-aux/ndk-build-helper-1.mk (SYSTEM_LIBRARIES):

* build-aux/ndk-build-helper-2.mk (SYSTEM_LIBRARIES): Insert all
of the C++ libraries available on Android.

* configure.ac: Call ndk_LATE and ndk_LATE_EARLY within if
statement at toplevel, averting needless calls to AC_PROG_CXX.

* cross/ndk-build/Makefile.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS):

* cross/ndk-build/ndk-build.mk.in (NDK_BUILD_CXX_STL)
(NDK_BUILD_CXX_LDFLAGS): New variables.

* cross/ndk-build/ndk-resolve.mk (NDK_SYSTEM_LIBRARIES):
Introduce several other C++ libraries sometimes present on
Android.
(NDK_SO_EXTRA_FLAGS_$(LOCAL_MODULE)): Insert NDK_BUILD_CXX_STL
when any of these new C++ libraries are requested.

* m4/ndk-build.m4: Completely rewrite C++ compiler and library
detection.

* java/org/gnu/emacs/EmacsNative.java (EmacsNative): Attempt to
load more libraries from static initializer.

* java/INSTALL: Remove obsolete information.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * java/org/gnu/emacs/EmacsDesktopNotification.java (display1): Another fix.</title>
<updated>2024-03-14T00:24:42+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-14T00:24:42+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=db5c8bda638468f8798c974f4ef4ab3905dbddd3'/>
<id>db5c8bda638468f8798c974f4ef4ab3905dbddd3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix crash when displaying notifications on Android 3.0</title>
<updated>2024-03-13T07:35:40+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-13T07:33:24+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e7e285ec348c8c19b1ce06a52b89baec71956d7a'/>
<id>e7e285ec348c8c19b1ce06a52b89baec71956d7a</id>
<content type='text'>
* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Don't call setPriority until Jelly Bean.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Don't call setPriority until Jelly Bean.
</pre>
</div>
</content>
</entry>
<entry>
<title>Port more notification senders to non-XDG systems</title>
<updated>2024-03-13T03:01:39+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-13T02:59:39+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=6b40d557c4a9a4152565c1a1b0da49a1aaaec84f'/>
<id>6b40d557c4a9a4152565c1a1b0da49a1aaaec84f</id>
<content type='text'>
* 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) &lt;QCtimeout&gt;: New symbol.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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) &lt;QCtimeout&gt;: New symbol.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Check in missing change to AndroidManifest.xml.in</title>
<updated>2024-03-12T02:46:20+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-12T02:46:00+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=fd293c7c67d03204356be3cd6a0cb565dec9ecbf'/>
<id>fd293c7c67d03204356be3cd6a0cb565dec9ecbf</id>
<content type='text'>
* java/AndroidManifest.xml.in: Register CancellationReceiver.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/AndroidManifest.xml.in: Register CancellationReceiver.
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement notification residency on Android</title>
<updated>2024-03-12T01:48:53+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-12T01:48:53+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=d7ded996082503ca00546c220c7ce8d96e16b76a'/>
<id>d7ded996082503ca00546c220c7ce8d96e16b76a</id>
<content type='text'>
* 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): &lt;QCresident&gt;: New symbol.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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): &lt;QCresident&gt;: New symbol.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix notification cancellation detection on Android</title>
<updated>2024-03-12T00:51:52+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-12T00:51:52+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=bf38783c32e794e46fd03210242f265f34257940'/>
<id>bf38783c32e794e46fd03210242f265f34257940</id>
<content type='text'>
* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Don't specify FLAG_ONE_SHOT in cancel intents.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsDesktopNotification.java (display1):
Don't specify FLAG_ONE_SHOT in cancel intents.
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement notification callbacks on Android</title>
<updated>2024-03-11T13:41:14+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-11T13:40:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a7a37341cad230448e487d0ffa343eeeb8a66a65'/>
<id>a7a37341cad230448e487d0ffa343eeeb8a66a65</id>
<content type='text'>
* doc/lispref/os.texi (Desktop Notifications): Document that
:on-cancel, :on-action and :actions are now supported on
Android.

* java/org/gnu/emacs/EmacsActivity.java (onNewIntent): New
function.

* java/org/gnu/emacs/EmacsDesktopNotification.java
(NOTIFICATION_ACTION, NOTIFICATION_TAG, NOTIFICATION_DISMISSED):
New constants.  &lt;actions, titles&gt;: New fields.
(insertActions): New function.
(display1, display): Insert actions on Jelly Bean and up, and
arrange to be notified when the notification is dismissed.
(CancellationReceiver): New class.

* java/org/gnu/emacs/EmacsNative.java (sendNotificationDeleted)
(sendNotificationAction): New functions.

* src/android.c (sendDndDrag, sendDndUri, sendDndText): Correct
return types.
(sendNotificationDeleted, sendNotificationAction)
(android_exception_check_5, android_exception_check_6): New
functions.

* src/android.h:

* src/androidgui.h (struct android_notification_event): New
structure.
(union android_event): New member for notification events.

* src/androidselect.c (android_init_emacs_desktop_notification):
Update JNI signatures.
(android_notifications_notify_1, Fandroid_notifications_notify):
New arguments ACTIONS, ACTION_CB and CANCEL_CB.  Convert and
record them as appropriate.
(android_notification_deleted, android_notification_action): New
functions.
(syms_of_androidselect): Prepare a hash table of outstanding
notifications.
&lt;QCactions, QCon_action, QCon_cancel&gt; New defsyms.

* src/androidterm.c (handle_one_android_event)
&lt;ANDROID_NOTIFICATION_DELETED&gt;
&lt;ANDROID_NOTIFICATION_ACTION&gt;: Dispatch event contents to
androidselect.c for processing.

* src/androidterm.h:

* src/androidvfs.c (java_string_class): Export.

* src/keyboard.c (kbd_buffer_get_event) &lt;NOTIFICATION_EVENT&gt;:
Call callback specified by the event.

* src/termhooks.h (enum event_kind) [HAVE_ANDROID]: New
enum NOTIFICATION_EVENT.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/lispref/os.texi (Desktop Notifications): Document that
:on-cancel, :on-action and :actions are now supported on
Android.

* java/org/gnu/emacs/EmacsActivity.java (onNewIntent): New
function.

* java/org/gnu/emacs/EmacsDesktopNotification.java
(NOTIFICATION_ACTION, NOTIFICATION_TAG, NOTIFICATION_DISMISSED):
New constants.  &lt;actions, titles&gt;: New fields.
(insertActions): New function.
(display1, display): Insert actions on Jelly Bean and up, and
arrange to be notified when the notification is dismissed.
(CancellationReceiver): New class.

* java/org/gnu/emacs/EmacsNative.java (sendNotificationDeleted)
(sendNotificationAction): New functions.

* src/android.c (sendDndDrag, sendDndUri, sendDndText): Correct
return types.
(sendNotificationDeleted, sendNotificationAction)
(android_exception_check_5, android_exception_check_6): New
functions.

* src/android.h:

* src/androidgui.h (struct android_notification_event): New
structure.
(union android_event): New member for notification events.

* src/androidselect.c (android_init_emacs_desktop_notification):
Update JNI signatures.
(android_notifications_notify_1, Fandroid_notifications_notify):
New arguments ACTIONS, ACTION_CB and CANCEL_CB.  Convert and
record them as appropriate.
(android_notification_deleted, android_notification_action): New
functions.
(syms_of_androidselect): Prepare a hash table of outstanding
notifications.
&lt;QCactions, QCon_action, QCon_cancel&gt; New defsyms.

* src/androidterm.c (handle_one_android_event)
&lt;ANDROID_NOTIFICATION_DELETED&gt;
&lt;ANDROID_NOTIFICATION_ACTION&gt;: Dispatch event contents to
androidselect.c for processing.

* src/androidterm.h:

* src/androidvfs.c (java_string_class): Export.

* src/keyboard.c (kbd_buffer_get_event) &lt;NOTIFICATION_EVENT&gt;:
Call callback specified by the event.

* src/termhooks.h (enum event_kind) [HAVE_ANDROID]: New
enum NOTIFICATION_EVENT.
</pre>
</div>
</content>
</entry>
<entry>
<title>; * java/org/gnu/emacs/EmacsPreferencesActivity.java: Fix commentary.</title>
<updated>2024-03-10T02:37:14+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-10T02:37:14+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=18b6289adfd15029fbaf4a259c44f8df10b9d702'/>
<id>18b6289adfd15029fbaf4a259c44f8df10b9d702</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Declare 124 new Android permissions</title>
<updated>2024-03-08T02:58:17+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-03-08T02:58:17+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e4d1739a2917a1b2ab279f4765f015e667e07db0'/>
<id>e4d1739a2917a1b2ab279f4765f015e667e07db0</id>
<content type='text'>
* doc/emacs/android.texi (Android Environment): Document new
permissions and delete recently introduced permissions from the
list for Android 5.1 and earlier.

* java/AndroidManifest.xml.in: Declare 124 new permissions to
enable invoking features they protect from code running inside
Emacs.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/emacs/android.texi (Android Environment): Document new
permissions and delete recently introduced permissions from the
list for Android 5.1 and earlier.

* java/AndroidManifest.xml.in: Declare 124 new permissions to
enable invoking features they protect from code running inside
Emacs.
</pre>
</div>
</content>
</entry>
</feed>
