<feed xmlns='http://www.w3.org/2005/Atom'>
<title>chemacs.git/java/org/gnu/emacs/EmacsService.java, branch devmain</title>
<subtitle>emacs
</subtitle>
<id>http://cgit.adnoto.dev/chemacs.git/atom?h=devmain</id>
<link rel='self' href='http://cgit.adnoto.dev/chemacs.git/atom?h=devmain'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/'/>
<updated>2026-01-01T12:54:34Z</updated>
<entry>
<title>; Add 2026 to copyright years.</title>
<updated>2026-01-01T12:54:34Z</updated>
<author>
<name>Sean Whitton</name>
<email>spwhitton@spwhitton.name</email>
</author>
<published>2026-01-01T12:54:34Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=c31f6adc31d48076c63ad82b83b2970e1b0d7b9b'/>
<id>urn:sha1:c31f6adc31d48076c63ad82b83b2970e1b0d7b9b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support `toolkit-theme-set-functions' on Android and execute hooks safely</title>
<updated>2025-11-24T02:16:49Z</updated>
<author>
<name>Po Lu</name>
<email>luangruo@yahoo.com</email>
</author>
<published>2025-11-24T02:16:21Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=7550791287503ebc582c92841f6483032aa0b050'/>
<id>urn:sha1:7550791287503ebc582c92841f6483032aa0b050</id>
<content type='text'>
* java/org/gnu/emacs/EmacsNative.java (setEmacsParams): New arg
UIMODE.
(sendConfigurationChanged): New args DETAIL and UI_MODE.

* java/org/gnu/emacs/EmacsNoninteractive.java (main1): Provide
an undefined UI mode.

* java/org/gnu/emacs/EmacsService.java (EmacsService): New field
uiMode.
(onCreate): Initialize this field at start-up and provide the
same to setEmacsParams.
(onConfigurationChanged): If the UI mode has been altered,
generate a configuration changed event to match.

* src/android.c (android_ui_mode): New variable.
(setEmacsParams): New argument UI_MODE.  Initialize the same
from this variable.

* src/androidgui.h (enum android_configuration_changed): New
enum.
(struct android_configuration_changed_event): New field
`DETAIL'.  Convert fields providing specifics into a union of
display density information and a UI mode integer.

* src/androidterm.c (handle_one_android_event): Handle both
manners of configuration change events.
(android_term_init): Initialize Vtoolkit_theme from UI mode
provided at start-up.

* src/frame.c (syms_of_frame): Always define Vtoolkit_theme.
Define Qtoolkit_theme_set_functions.

* src/gtkutil.c (xg_update_dark_mode_for_all_displays):

* src/w32term.c (w32_read_socket): Generate special toolkit
theme events, rather than executing hooks directly within the
read_socket callback.

* src/keyboard.c (kbd_buffer_get_event)
&lt;TOOLKIT_THEME_CHANGED_EVENT&gt;: Run Qtoolkit_theme_set_functions
and set Vtoolkit_theme from event-&gt;ie.arg.

* src/termhooks.h (enum event_kind): New event
TOOLKIT_THEME_CHANGED_EVENT.
</content>
</entry>
<entry>
<title>Respond to display configuration updates on Android</title>
<updated>2025-04-10T07:25:38Z</updated>
<author>
<name>Po Lu</name>
<email>luangruo@yahoo.com</email>
</author>
<published>2025-04-10T07:21:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=884ede7c959b1331e1ede0b1b80f01a06c048bf5'/>
<id>urn:sha1:884ede7c959b1331e1ede0b1b80f01a06c048bf5</id>
<content type='text'>
* java/org/gnu/emacs/EmacsNative.java
(sendConfigurationChanged): Declare function.

* java/org/gnu/emacs/EmacsSdk7FontDriver.java (Sdk7FontEntity)
(Sdk7FontObject): Do not access `metrics' field deleted from
`EmacsService'.

* java/org/gnu/emacs/EmacsService.java (EmacsService)
&lt;metrics, resources&gt;: Delete fields.
&lt;dpiX, dpiY, dpiScaled&gt;: New fields.
(onCreate): Adjust accordingly.  Record current display metrics
for subsequent comparison.
(onConfigurationChanged): New function.

* lisp/dynamic-setting.el (font-setting-change-default-font):
Enable on systems where font-get-system-font is not defined if
invoked with SET-FONT nil.

* src/android.c (sendConfigurationChanged): New function.

* src/androidgui.h (ANDROID_CONFIGURATION_CHANGED): New enumerator.
(struct android_configuration_changed): New structure.
(union android_event): Add `config' member.

* src/androidterm.c (handle_one_android_event): Handle
ANDROID_CONFIGURATION_CHANGED events.
(syms_of_androidterm): Define Qfont_render, and
Qdynamic_setting.  Provide the latter.
</content>
</entry>
<entry>
<title>Merge from savannah/emacs-30</title>
<updated>2025-02-19T12:42:22Z</updated>
<author>
<name>Po Lu</name>
<email>luangruo@yahoo.com</email>
</author>
<published>2025-02-19T12:42:22Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=9faa8d32a3db893db01debaaaa1db79ec1c1b33e'/>
<id>urn:sha1:9faa8d32a3db893db01debaaaa1db79ec1c1b33e</id>
<content type='text'>
ded77fefffa Fix remaining Android bugs reported over the past months
</content>
</entry>
<entry>
<title>Fix remaining Android bugs reported over the past months</title>
<updated>2025-02-19T12:40:12Z</updated>
<author>
<name>Po Lu</name>
<email>luangruo@yahoo.com</email>
</author>
<published>2025-02-19T12:40:12Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=ded77feffface0c167edacf0d807273f3d4878db'/>
<id>urn:sha1:ded77feffface0c167edacf0d807273f3d4878db</id>
<content type='text'>
* java/org/gnu/emacs/EmacsActivity.java (attachWindow):
Guarantee that child windows promoted to toplevels receive
layout parameters that direct them to receive their parents'
dimensions.  Otherwise, the size of the window as a child is
retained on Huawei HarmonyOS 4.2 and possibly other Android
distributions.

* java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo):
Run anchor updates on the UI thread, as
`InputMethodManager#updateCursorAnchorInfo' is liable to call
`View#requestLayout'.

* java/org/gnu/emacs/EmacsView.java (onMeasure): Always call
`measureChildren', or child frames' onLayout handlers might not
be invoked after they request a layout cycle and are duly
processed in `onLayout'.
(swapBuffers): Delete erroneous commentary.

* java/org/gnu/emacs/EmacsWindow.java (viewLayout): If
overrideRedirect, don't inadvertently clear rect.left and
rect.top by recording the window's WM window-relative position.
Fix typos.
(reparentTo): Invalidate focus after transferring frame.
(translateCoordinates): Account for override-redirect windows.
Mostly important for mouse-drag-and-drop-region.
</content>
</entry>
<entry>
<title>Prevent crash when requesting storage permissions on Android</title>
<updated>2025-02-07T03:11:51Z</updated>
<author>
<name>Po Lu</name>
<email>luangruo@yahoo.com</email>
</author>
<published>2025-02-07T03:11:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=1751739152149608d28853782ce53b0b9a749bb2'/>
<id>urn:sha1:1751739152149608d28853782ce53b0b9a749bb2</id>
<content type='text'>
* java/org/gnu/emacs/EmacsService.java (requestStorageAccess30):
Handle ActivityNotFoundException.
</content>
</entry>
<entry>
<title>Update copyright year to 2025</title>
<updated>2025-01-02T17:39:42Z</updated>
<author>
<name>Stefan Kangas</name>
<email>stefankangas@gmail.com</email>
</author>
<published>2025-01-02T17:32:51Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=7fa975adbce3f2ce4ba40ea52110b992a52262b6'/>
<id>urn:sha1:7fa975adbce3f2ce4ba40ea52110b992a52262b6</id>
<content type='text'>
Run "TZ=UTC0 admin/update-copyright".
</content>
</entry>
<entry>
<title>Update copyright year to 2025</title>
<updated>2025-01-01T07:39:17Z</updated>
<author>
<name>Paul Eggert</name>
<email>eggert@cs.ucla.edu</email>
</author>
<published>2025-01-01T07:39:17Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=4da38c632161867e914b3a13dc760f8019255f94'/>
<id>urn:sha1:4da38c632161867e914b3a13dc760f8019255f94</id>
<content type='text'>
Run "TZ=UTC0 admin/update-copyright".
</content>
</entry>
<entry>
<title>Take precautions against ill-formed content URIs</title>
<updated>2024-07-11T03:38:41Z</updated>
<author>
<name>Po Lu</name>
<email>luangruo@yahoo.com</email>
</author>
<published>2024-07-11T03:38:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=e0b271e279ba5b606330908604ac4fa42a389b30'/>
<id>urn:sha1: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>
</entry>
<entry>
<title>Minor adjustments to battery.el on Android</title>
<updated>2024-06-16T07:28:54Z</updated>
<author>
<name>Po Lu</name>
<email>luangruo@yahoo.com</email>
</author>
<published>2024-06-16T07:27:43Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/chemacs.git/commit/?id=a39f6480ea5b6d3f81db90808123cdeb54790787'/>
<id>urn:sha1:a39f6480ea5b6d3f81db90808123cdeb54790787</id>
<content type='text'>
* src/android.c (android_query_battery):

* java/org/gnu/emacs/EmacsService.java (queryBattery19)
(queryBattery): Reorder items in value for consistency with
Fandroid_query_battery.

* lisp/battery.el (battery-status-function): Select
battery-android only when android-query-battery is present.
(battery-android): Return temperature and correct values of
power source constants.
</content>
</entry>
</feed>
