<feed xmlns='http://www.w3.org/2005/Atom'>
<title>emacs/java/org, branch scratch/no-purespace</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>Fix layout of preferences activity on Android 35</title>
<updated>2024-09-18T02:11:15+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-09-18T02:08:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=eace68a325b96d12188ea8d673f30bad1354b916'/>
<id>eace68a325b96d12188ea8d673f30bad1354b916</id>
<content type='text'>
* java/org/gnu/emacs/EmacsPreferencesActivity.java (onCreate):
Align list view to system windows.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsPreferencesActivity.java (onCreate):
Align list view to system windows.
</pre>
</div>
</content>
</entry>
<entry>
<title>Port to Android 35</title>
<updated>2024-09-04T09:24:34+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-09-04T09:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=2847106f3b6174f25ab43551f96612209fe951c8'/>
<id>2847106f3b6174f25ab43551f96612209fe951c8</id>
<content type='text'>
* configure.ac: Temporary workaround for Gnulib bug.  Verify
that the provided android.jar corresponds to Android 35, or any
later version.

* cross/ndk-build/Makefile.in (NDK_BUILD_SO_LDFLAGS): New
variable.

* cross/ndk-build/ndk-resolve.mk
(NDK_LOCAL_A_NAMES_$(LOCAL_MODULE)): Define to
NDK_BUILD_SO_LDFLAGS by default to enable building binaries
with support for 16 kb page sizes.

* java/AndroidManifest.xml.in: Target SDK 35.

* java/INSTALL (16KB PAGE SIZES): New section.  Replace
references to Android 34 with 35.

* java/org/gnu/emacs/EmacsActivity.java (onCreate): Restore
pre-SDK 35 inset-relative placement.

* java/org/gnu/emacs/EmacsFillPolygon.java (perform): Suppress
deprecation warnings, and document why.

* m4/ndk-build.m4 (ndk_INIT, ndk_LATE): Check for and enable
toolchain support for 16 KB page sizes, if available.
(ndk_CONFIG_FILES): Export linker options so derived.

* src/conf_post.h [__ANDROID_API__ &lt; 35]: Include system time.h
and redefine timezone_t to rpl_timezone_t, so that the Gnulib
replacement may not conflict with the useless OS type.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* configure.ac: Temporary workaround for Gnulib bug.  Verify
that the provided android.jar corresponds to Android 35, or any
later version.

* cross/ndk-build/Makefile.in (NDK_BUILD_SO_LDFLAGS): New
variable.

* cross/ndk-build/ndk-resolve.mk
(NDK_LOCAL_A_NAMES_$(LOCAL_MODULE)): Define to
NDK_BUILD_SO_LDFLAGS by default to enable building binaries
with support for 16 kb page sizes.

* java/AndroidManifest.xml.in: Target SDK 35.

* java/INSTALL (16KB PAGE SIZES): New section.  Replace
references to Android 34 with 35.

* java/org/gnu/emacs/EmacsActivity.java (onCreate): Restore
pre-SDK 35 inset-relative placement.

* java/org/gnu/emacs/EmacsFillPolygon.java (perform): Suppress
deprecation warnings, and document why.

* m4/ndk-build.m4 (ndk_INIT, ndk_LATE): Check for and enable
toolchain support for 16 KB page sizes, if available.
(ndk_CONFIG_FILES): Export linker options so derived.

* src/conf_post.h [__ANDROID_API__ &lt; 35]: Include system time.h
and redefine timezone_t to rpl_timezone_t, so that the Gnulib
replacement may not conflict with the useless OS type.
</pre>
</div>
</content>
</entry>
<entry>
<title>Register for more Intents actions on Android</title>
<updated>2024-08-09T02:11:51+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-08-09T02:11:47+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=16462b1a62d04a726f99f275b37fd3e6fd512202'/>
<id>16462b1a62d04a726f99f275b37fd3e6fd512202</id>
<content type='text'>
* java/AndroidManifest.xml.in &lt;EmacsOpenActivity&gt;: Register
for SEND Intents with mailto URIs.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Use
Intent constants rather than string literals.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/AndroidManifest.xml.in &lt;EmacsOpenActivity&gt;: Register
for SEND Intents with mailto URIs.

* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Use
Intent constants rather than string literals.
</pre>
</div>
</content>
</entry>
<entry>
<title>; Fix typos</title>
<updated>2024-07-18T09:46:50+00:00</updated>
<author>
<name>Stefan Kangas</name>
</author>
<published>2024-07-07T15:40:31+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=a6cab228d4d1a82a80eac81b057857a230eef0b5'/>
<id>a6cab228d4d1a82a80eac81b057857a230eef0b5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Port better to Android 3.0</title>
<updated>2024-07-18T05:34:55+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-07-16T02:14:30+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=34882d524328638e2198952578638e0ffe0697c5'/>
<id>34882d524328638e2198952578638e0ffe0697c5</id>
<content type='text'>
* java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the
old getPackageInfo calling convention if it exists rather than
on Android 2.3.3 and earlier.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the
old getPackageInfo calling convention if it exists rather than
on Android 2.3.3 and earlier.
</pre>
</div>
</content>
</entry>
<entry>
<title>Do not set LD_LIBRARY_PATH during Android initialization</title>
<updated>2024-07-14T04:46:23+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-07-14T04:46:23+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=b00fc31dd1d4543f8b017e8d7fef7686cd430bcc'/>
<id>b00fc31dd1d4543f8b017e8d7fef7686cd430bcc</id>
<content type='text'>
* doc/emacs/android.texi (Android Environment): Adjust
documentation to match.

* java/org/gnu/emacs/EmacsNoninteractive.java (main1): New
function.  Remove initialization of EmacsNative hither.
(main): Acquire an ApplicationInfo or LoadedApk, as the case may
be on the host system, derive a ClassLoader from the result, and
load and call `main1' from within this class loader.

* src/android-emacs.c (main):

* src/android.c (setEmacsParams): Do not override
LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH.  This enables
Emacs to execute subprocesses in certain "fortified" Android
systems, amongst other things.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* doc/emacs/android.texi (Android Environment): Adjust
documentation to match.

* java/org/gnu/emacs/EmacsNoninteractive.java (main1): New
function.  Remove initialization of EmacsNative hither.
(main): Acquire an ApplicationInfo or LoadedApk, as the case may
be on the host system, derive a ClassLoader from the result, and
load and call `main1' from within this class loader.

* src/android-emacs.c (main):

* src/android.c (setEmacsParams): Do not override
LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH.  This enables
Emacs to execute subprocesses in certain "fortified" Android
systems, amongst other things.
</pre>
</div>
</content>
</entry>
<entry>
<title>Take precautions against ill-formed content URIs</title>
<updated>2024-07-11T03:38:41+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-07-11T03:38:41+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=e0b271e279ba5b606330908604ac4fa42a389b30'/>
<id>e0b271e279ba5b606330908604ac4fa42a389b30</id>
<content type='text'>
* java/org/gnu/emacs/EmacsService.java (openContentUri)
(checkContentUri): Verify that URIs derived from user-provided
file names can be parsed before attempting to open them.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsService.java (openContentUri)
(checkContentUri): Verify that URIs derived from user-provided
file names can be parsed before attempting to open them.
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct conditions for iconification on Android</title>
<updated>2024-07-08T07:43:22+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-07-08T07:33:26+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=67f291ddae31cc4623fd93280b141ee8611f3f5a'/>
<id>67f291ddae31cc4623fd93280b141ee8611f3f5a</id>
<content type='text'>
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
&lt;isPaused&gt;: Rename to &lt;isStopped&gt;.
(attachWindow): Adjust to match.
(onPause): Delete function.
(onStop): Deem frames iconified after calls to onStop instead.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsActivity.java (EmacsActivity)
&lt;isPaused&gt;: Rename to &lt;isStopped&gt;.
(attachWindow): Adjust to match.
(onPause): Delete function.
(onStop): Deem frames iconified after calls to onStop instead.
</pre>
</div>
</content>
</entry>
<entry>
<title>Prevent crashes and related issues if initial activity is destroyed on Android</title>
<updated>2024-06-27T03:07:38+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-06-27T03:06:59+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=860840621a1ebe2e4f17ba8ae78d441ea75650b2'/>
<id>860840621a1ebe2e4f17ba8ae78d441ea75650b2</id>
<content type='text'>
* java/org/gnu/emacs/EmacsWindow.java
(EmacsWindow) &lt;initialWindowCreated&gt;: New variable.
(EmacsWindow): If the initial frame has not yet been created,
set attachmentToken to -1.

* java/org/gnu/emacs/EmacsWindowManager.java (registerWindow):
When the window's attachment token is -1 (i.e., it is the
default window), start EmacsActivity rather than
EmacsMultitaskActivity.  Catch exceptions around startActivity.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsWindow.java
(EmacsWindow) &lt;initialWindowCreated&gt;: New variable.
(EmacsWindow): If the initial frame has not yet been created,
set attachmentToken to -1.

* java/org/gnu/emacs/EmacsWindowManager.java (registerWindow):
When the window's attachment token is -1 (i.e., it is the
default window), start EmacsActivity rather than
EmacsMultitaskActivity.  Catch exceptions around startActivity.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix omission of updates to child frames on Android</title>
<updated>2024-06-24T04:04:05+00:00</updated>
<author>
<name>Po Lu</name>
</author>
<published>2024-06-24T04:04:05+00:00</published>
<link rel='alternate' type='text/html' href='https://jason.zzq.org/git/emacs/commit/?id=73a58329a6946f5abc62fee2647efba56cce236b'/>
<id>73a58329a6946f5abc62fee2647efba56cce236b</id>
<content type='text'>
* java/org/gnu/emacs/EmacsView.java (onAttachedFromWindow):
Force a layout cycle rather than report exposure immediately.
(prepareForLayout): Delete function.

* java/org/gnu/emacs/EmacsWindow.java (mapWindow): Remove
redundant calls to prepareForLayout.

* src/androidterm.c (handle_one_android_event): Do not swap
buffers when exposure is registered by a frame only partially
updated.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* java/org/gnu/emacs/EmacsView.java (onAttachedFromWindow):
Force a layout cycle rather than report exposure immediately.
(prepareForLayout): Delete function.

* java/org/gnu/emacs/EmacsWindow.java (mapWindow): Remove
redundant calls to prepareForLayout.

* src/androidterm.c (handle_one_android_event): Do not swap
buffers when exposure is registered by a frame only partially
updated.
</pre>
</div>
</content>
</entry>
</feed>
