aboutsummaryrefslogtreecommitdiffstats
path: root/src/android.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Update Android portPo Lu2023-07-061-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsNative.java (scaledDensity): Announce new argument `scaledDensity'. * java/org/gnu/emacs/EmacsNoninteractive.java (main): Specify new argument. * java/org/gnu/emacs/EmacsService.java (onCreate): Compute an adjusted DPI for the font size based on the ratio between density and scaledDensity. (run): Specify that adjusted density. * src/android.c (setEmacsParams): Set `android_scaled_pixel_density'. * src/android.h: (android_scaled_pixel_density: New variable. * src/androidterm.c (android_term_init): Set `font_resolution'. * src/androidterm.h (struct android_display_info): New field. * src/font.c (font_pixel_size, font_find_for_lface) (font_open_for_lface, Ffont_face_attributes, Fopen_font): Use FRAME_RES instead of FRAME_RES_Y. * src/frame.h (FRAME_RES): New macro. Use this to convert between font point and pixel sizes as opposed to FRAME_RES_Y. * src/w32font.c (fill_in_logfont): * src/xfaces.c (Fx_family_fonts, set_lface_from_font): Use FRAME_RES instead of FRAME_RES_Y. (bug#64444)
* * src/android.c (android_query_tree): Correctly return children.Po Lu2023-06-301-1/+3
|
* Update Android portPo Lu2023-06-271-37/+43
| | | | | | | | | | * src/android.c (android_exception_check) (android_exception_check_1) (android_exception_check_2) (android_exception_check_nonnull) (android_exception_check_nonnull_1): Tell the compiler to expect that the object is non-NULL, or that no exception has been thrown.
* ; * src/android.c (android_wc_lookup_string): Fix typo.Po Lu2023-06-231-1/+1
|
* Correctly check result of string lookupPo Lu2023-06-231-1/+1
| | | | | * src/android.c (android_wc_lookup_string): Check that GetStringChars returns non-NULL, not if it throws an exception.
* Initialize signal mask earlierPo Lu2023-06-171-1/+22
| | | | | | | | * java/org/gnu/emacs/EmacsService.java (onCreate, run): Don't initialize signal mask here. * java/org/gnu/emacs/EmacsApplication.java (onCreate): Do it here instead. * src/android.c (JNICALL): Restore previous signal masks.
* Fix quitting after changes to signal deliveryPo Lu2023-06-161-6/+9
| | | | | | * src/android.c (android_write_event, JNICALL) (android_run_in_emacs_thread): Don't rely on raise to call deliver_process_signal.
* Fix deadlocksPo Lu2023-06-121-11/+19
| | | | | | | | | | | | | * java/org/gnu/emacs/EmacsView.java (EmacsView) (showOnScreenKeyboard, hideOnScreenKeyboard): Don't synchronize. * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow) (toggleOnScreenKeyboard): Revert to calling IMM functions from the main thread. * src/android.c (struct android_event_container) (android_pselect_nfds, android_pselect_readfds) (android_pselect_writefds, android_pselect_exceptfds) (android_pselect_timeout): Don't make volatile. (android_wait_event): Run queries if necessary.
* Update Android portPo Lu2023-06-111-0/+4
| | | | | | | | | * lisp/net/tramp.el (tramp-encoding-shell): * lisp/obsolete/terminal.el (terminal-emulator): * lisp/term.el (term-exec-1): * lisp/textmodes/artist.el (artist-figlet-get-font-list): * src/android.c (JNICALL): Where /bin/sh was previously used, use /system/bin/sh on Android.
* Update Android portPo Lu2023-06-101-46/+62
| | | | | | | | | | | | * src/android.c (android_select, android_check_query) (android_check_query_urgent, android_answer_query) (android_answer_query_spin, android_begin_query, android_end_query) (android_run_in_emacs_thread): Use finer grained memory synchronization semantics. * src/androidterm.c (android_get_selection): Use the current selection, not its value at the time of the last redisplay. * src/keyboard.c (handle_input_available_signal): Place memory barrier.
* Prevent hangs from IM requests with the main thread busyPo Lu2023-06-101-4/+109
| | | | | | | | | | | | | | | | | * src/android.c (android_select): Clear `android_urgent_query'. (android_check_query): Make static. Clear `android_urgent_query'. (android_check_query_urgent): New function; work like `android_check_query', but only answer urgent queries. (android_answer_query, android_end_query): Clear urgent query flag. (android_run_in_emacs_thread): Initially wait two seconds for the query to run from the keyboard loop; upon a timeout, set `android_urgent_query' to true and wait for it to run while reading async input. * src/android.h: Update prototypes. * src/keyboard.c (handle_async_input): Call `android_check_query_urgent'.
* ; * src/android.c (android_get_gc_values): Remove redundancy.Po Lu2023-06-091-5/+0
|
* Block profiling signals in the Android UI threadPo Lu2023-06-091-0/+24
| | | | | | | | * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New function `setupSystemThread'. * java/org/gnu/emacs/EmacsService.java (onCreate): Block all signals except for SIGBUS and SIGSEGV in the UI thread. * src/android.c (setupSystemThread): New function.
* Update Android portPo Lu2023-06-081-18/+72
| | | | | | | | | | | | * src/android.c (android_is_special_directory): New function. (android_get_asset_name, android_content_name_p) (android_get_content_name): * src/android.h (android_is_special_directory) (JNI_STACK_ALIGNMENT_PROLOGUE): * src/fileio.c (check_mutable_filename): * src/filelock.c (WTMP_FILE, make_lock_file_name): * src/inotify.c (IN_ONLYDIR, Finotify_add_watch): Factor out checks against asset and content directories to that function.
* Fix input method synchronization problemsPo Lu2023-06-041-0/+26
| | | | | | | | | | | | | | * java/debug.sh (gdbserver_cmd, is_root): Prefer TCP again. * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New function `queryAndSpin'. * java/org/gnu/emacs/EmacsService.java (EmacsService) (icBeginSynchronous, icEndSynchronous, viewGetSelection): New synchronization functions. (resetIC, updateCursorAnchorInfo): Call those instead. * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): Call viewGetSelection. * src/android.c (JNICALL, android_answer_query_spin): New functions.
* Update Android portPo Lu2023-06-021-0/+2
| | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsInputConnection.java (EmacsInputConnection): Apply workarounds on Vivo devices as well. * src/android.c (sendKeyPress, sendKeyRelease): Clear counter. * src/androidgui.h (struct android_key_event): New field `counter'. * src/androidterm.c (handle_one_android_event): Generate barriers as appropriate. (JNICALL): Set `counter'. * src/frame.h (enum text_conversion_operation): * src/textconv.c (detect_conversion_events) (really_set_composing_text, handle_pending_conversion_events_1) (handle_pending_conversion_events, textconv_barrier): * src/textconv.h: Implement text conversion barriers and fix various typos.
* Update Android portPo Lu2023-06-011-12/+3
| | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsInputConnection.java (EmacsInputConnection, performContextMenuAction): New function. * java/org/gnu/emacs/EmacsNative.java (EmacsNative) (performContextMenuAction): New function. * src/android.c (android_get_gc_values): Implement more efficiently. * src/androidterm.c (android_handle_ime_event): Pass through `update' argument to `finish_composing_text'. Fix thinko. * src/textconv.c (really_finish_composing_text) (really_set_composing_text, really_set_composing_region) (handle_pending_conversion_events_1, finish_composing_text): New argument `update'. Notify IME of conversion region changes if set. * src/textconv.h: Update structs and prototypes.
* Fix build with Lisp_Object type checkingPo Lu2023-05-311-2/+2
| | | | | | | | | | | | | | | | * configure.ac: Pass through `--enable-check-lisp-object-type' on Android. * src/alloc.c (android_make_lisp_symbol): * src/android.c: * src/androidfns.c (android_set_no_focus_on_map) (android_set_no_accept_focus): * src/androidfont.c (androidfont_match, androidfont_open_font): * src/androidselect.c (Fandroid_get_clipboard) (Fandroid_get_clipboard_targets): * src/keyboard.c (make_lispy_event, syms_of_keyboard): * src/sfntfont.c (sfnt_enum_font_1, sfntfont_list_1): * src/textconv.c (really_set_point_and_mark): Fix Lisp_Object and integer screw-ups.
* Update Android portPo Lu2023-05-311-16/+12
| | | | | | | | | | * doc/emacs/input.texi (Other Input Devices, Touchscreens) (On-Screen Keyboards): * doc/lispref/commands.texi (Misc Events): * src/android.c (android_faccessat): Improve word choices and commentary. * lisp/touch-screen.el (touch-screen-handle-scroll): Make precision scrolling work better with horizontal movement.
* ; * src/android.c (android_copy_area): Pacify compiler warning.Po Lu2023-05-311-0/+3
|
* Update Android portPo Lu2023-05-311-15/+66
| | | | | | | | | | | | | | | | | | | | | * java/debug.sh (is_root): Go back to using unix sockets; allow adb to forward them correctly. * java/org/gnu/emacs/EmacsInputConnection.java (getExtractedText): Don't print text if NULL. * java/org/gnu/emacs/EmacsService.java (EmacsService): New field `imSyncInProgress'. (updateIC): If an IM sync might be in progress, avoid deadlocks. * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): Set `imSyncInProgress' across synchronization point. * src/android.c (android_check_query): Use __atomic_store_n. (android_answer_query): New function. (android_begin_query): Set `android_servicing_query' to 2. Check once, and don't spin waiting for query to complete. (android_end_query): Use __atomic_store_n. (android_run_in_emacs_thread): Compare-and-exchange flag. If originally 1, fail. * src/textconv.c (really_set_composing_text): Clear conversion region if text is empty.
* ; * src/android.c: Fix typos.Po Lu2023-05-291-101/+102
|
* Update Android portPo Lu2023-05-291-3/+5
| | | | | * src/android.c (android_blit_copy): (android_blit_xor): Fix typos.
* ; * src/android.c (android_blit_copy): Fix typos.Po Lu2023-05-291-6/+10
|
* Work around more problems with BitmapsPo Lu2023-05-291-0/+98
| | | | | | | | * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New function `blitRect'. * java/org/gnu/emacs/EmacsSurfaceView.java (EmacsSurfaceView): Use it on Android 8.x. * src/android.c (blitRect): Implement new function.
* Update Android portPo Lu2023-05-291-8/+11
| | | | | | * src/android.c (android_neon_mask_line): Fix iteration over remainder. (android_blit_copy): Be more paranoid.
* Implement android_copy_area in CPo Lu2023-05-291-56/+867
| | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsCopyArea.java: Remove file. * java/org/gnu/emacs/EmacsService.java (EmacsService, copyArea): Delete function. * src/android.c (struct android_emacs_service) (android_init_emacs_service): Remove `copy_area'. (android_create_gc, android_change_gc, android_get_gc_values): Record new GC values. (android_neon_mask_line): New function. (android_blit_copy, android_blit_xor): New functions. (android_copy_area): Implement in C. (android_lock_bitmap): Accept drawables instead of windows. * src/android.h: Adjust prototype for `android_lock_bitmap'. * src/androidgui.h (struct android_gc): Record last known GC values.
* Update Android portPo Lu2023-05-071-0/+34
| | | | | | | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsInputConnection.java (requestCursorUpdates): * java/org/gnu/emacs/EmacsNative.java (requestCursorUpdates): * java/org/gnu/emacs/EmacsService.java (updateCursorAnchorInfo): New functions. * src/android.c (struct android_emacs_service) (android_init_emacs_service): Add new method. (android_update_cursor_anchor_info): New function. * src/androidfns.c (android_set_preeditarea): New function. * src/androidgui.h (enum android_ime_operation): New operation `REQUEST_CURSOR_UPDATES'. (struct android_ime_event): Document new meaning of `length'. * src/androidterm.c (android_request_cursor_updates): New function. (android_handle_ime_event): Handle new operations. (handle_one_android_event, android_draw_window_cursor): Update the preedit area if needed, like on X. (requestCursorUpdates): New function. * src/androidterm.h (struct android_output): New field `need_cursor_updates'.
* Make it easier to quit on AndroidPo Lu2023-05-011-2/+19
| | | | | * src/android.c (android_write_event): (JNICALL): Raise SIGIO on key press and window action events.
* Update Android portPo Lu2023-05-011-2/+2
| | | | | | | | | | | | | | | | | | | * Makefile.in (extraclean): Clean in exec as well. * configure.ac: Fix detection of absolute srcdir. Also, pass CFLAGS. * exec/Makefile.in: (.c.o): Add -I. so config.h can be found.:(.s.o): Don't create m4 temporary in srcdir. * exec/config-mips.m4.in (DADDI2, DADDI3): New macros. Define to substitute if as cannot assemble daddi. * exec/configure.ac (user_h): Look for user.h in asm/ as well. Use new user.h. Also look in ptrace.h on arm systems. Check if as supports daddi on mips64. * exec/exec.c (check_interpreter): Fix char signedness bug. * exec/loader-mips64el.s (__start): Use DADDI2 and DADDI3 for two- and 3-operand daddi. * exec/mipsel-user.h: Don't include sgidefs.h. * java/INSTALL: Document that m4 is now required. * src/android.c (android_rewrite_spawn_argv): Add missing NULL.
* Work around system restrictions regarding execPo Lu2023-05-011-0/+83
| | | | | | | | | | | | * doc/emacs/android.texi (Android Environment): Document `android-use-exec-loader'. * exec/exec1.c (main): Set program group of child process. * src/android.c (android_rewrite_spawn_argv): New function. * src/android.h: Update prototypes. * src/androidfns.c (syms_of_androidfns): New variable `android_use_exec_loader'. * src/callproc.c (emacs_spawn): Rewrite the argument vector to use exec1 if necessary.
* Update Android portPo Lu2023-04-291-8/+6
| | | | | | | | | | | | | | | | | | * build-aux/ndk-build-helper.mk (TARGET_ARCH): Define variable. * configure.ac (ENABLE_CHECKING, CHECK_STRUCTS) (GC_CHECK_STRING_OVERRUN, GC_CHECK_STRING_FREE_LIST, GLYPH_DEBUG) (GC_CHECK_STRING_BYTES): Enable checking correctly on Android. * java/README: Fix typos. * m4/ndk-build.m4 (ndk_run_test): Pass target arch. * src/android.c (android_get_content_name, android_close) (android_fclose, android_check_string): Fix various typos caught by checking. * src/charset.c (load_charset_map_from_file): Call emacs_fclose, not fclose. * src/image.c (image_set_transform): Fix thinko. (png_load_body, jpeg_load_body, gif_load): Call emacs_fclose, not fclose. Use open instead of fdopen. * src/xfaces.c (Fx_load_color_file): Likewise.
* Implement `yank-media' on AndroidPo Lu2023-04-061-3/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/android.texi (Android Windowing): Update selection restrictions. * java/org/gnu/emacs/EmacsClipboard.java (EmacsClipboard): New functions `getClipboardTargets' and `getClipboardData'. * java/org/gnu/emacs/EmacsSdk11Clipboard.java (EmacsSdk11Clipboard, getClipboardTargets, getClipboardData): Implement. * java/org/gnu/emacs/EmacsSdk8Clipboard.java: Stub out new functions. * lisp/term/android-win.el (android-get-clipboard-1): Implement MIME type targets. * src/android.c (android_exception_check) (android_exception_check_1, android_exception_check_2): Fix punctuation in warning message. (android_exception_check_nonnull_1): New function. * src/android.h: Update prototypes. * src/androidselect.c (struct android_emacs_clipboard): New methods. (android_init_emacs_clipboard): Initialize new methods. (Fandroid_get_clipboard_targets, android_xfree_inside) (Fandroid_get_clipboard_data): New functions. (syms_of_androidselect): Define new subrs.
* Work around pselect lossage on AndroidPo Lu2023-03-181-9/+18
| | | | | | | * src/android.c (android_run_select_thread): New flag. Use it rather than the rc of pselect and errno to determine whether or not it has been interrupted. (android_handle_sigusr1): Set said flag.
* Update Android portPo Lu2023-03-131-0/+32
| | | | | * src/android.c (android_check_string, android_build_string): Reduce consing when building menu bar strings.
* Update Android portPo Lu2023-03-121-19/+54
| | | | | | | | * src/android.c (android_get_screen_width): (android_get_screen_height): (android_get_mm_width): (android_get_mm_height): (android_detect_mouse): Correctly handle Java exceptions.
* Update Android portPo Lu2023-03-121-0/+34
| | | | | | | | * src/android.c (android_check_if_event): * src/androidgui.h: New function. * src/androidterm.c (android_event_is_for_frame): New function. (android_reset_conversion): Free and unqueue all text conversion events for the given frame.
* Update Android portPo Lu2023-03-111-3/+18
| | | | | | | | | * src/android.c (android_resolve_handle) (android_resolve_handle2): Don't perform checking done by CheckJNI by default. (android_copy_area): Check for errors here because CopyArea can perform a lot of consing. (android_define_cursor): Remove redundant code.
* Update Android portPo Lu2023-03-101-0/+9
| | | | | | | | | | | | | | * doc/emacs/android.texi (Android Windowing): Document how to pass multimedia keys to the system. * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New function. * java/org/gnu/emacs/EmacsView.java (onKeyDown, onKeyMultiple) (onKeyUp): Check that function. * java/org/gnu/emacs/EmacsWindow.java (defineCursor): Handle cases where cursor is NULL. * src/android.c (NATIVE_NAME): New function. * src/androidfns.c (syms_of_androidfns): New variable. * src/keyboard.c (lispy_function_keys): Add volume keys.
* Implement mouse cursors on Android 7.0 and laterPo Lu2023-03-101-0/+118
| | | | | | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsWindow.java (defineCursor): New function. * src/android.c (struct android_emacs_cursor): New struct. (android_init_emacs_cursor): New function. (JNICALL): Call it. (android_create_font_cursor, android_define_cursor) (android_free_cursor): New functions. * src/android.h (enum android_handle_type): Add cursor handle type. * src/androidfns.c (Fx_create_frame, android_create_tip_frame) (enum mouse_cursor, struct mouse_cursor_types, mouse_cursor_types) (struct mouse_cursor_data, android_set_mouse_color) (syms_of_androidfns): * src/androidgui.h (enum android_cursor_shape): * src/androidterm.c (make_invisible_cursor) (android_toggle_invisible_pointer, android_free_frame_resources) (android_define_frame_cursor): * src/androidterm.h (struct android_display_info) (struct android_output): Port mouse cursor code over from X.
* Port Android battery status to Android 4.4 and earlierPo Lu2023-03-101-1/+3
| | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsService.java (EmacsService) (queryBattery19): New function. (queryBattery): Call it on old systems. Also, return AC line status and temperature. * lisp/battery.el (battery-android): Implement more format directives. * src/android.c (android_query_battery): Handle new status fields. * src/android.h (struct android_battery_state): Add `plugged' and `temperature'. * src/androidfns.c (Fandroid_query_battery): Return new fields.
* Update Android portPo Lu2023-03-091-0/+7
| | | | | * src/android.c (android_destroy_handle): Handle OOM errors in android_destroy_handle.
* Fix menu and popup race conditions on AndroidPo Lu2023-03-091-1/+3
| | | | | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsActivity.java (onContextMenuClosed): * java/org/gnu/emacs/EmacsContextMenu.java (EmacsContextMenu) (onMenuItemClick, run): * java/org/gnu/emacs/EmacsDialog.java (EmacsDialog, onClick) (createDialog, onDismiss): Take menu event serial, and pass it along in context menu events. * java/org/gnu/emacs/EmacsNative.java (sendContextMenu): New argument. * src/android.c (sendContextMenu): Pass serial number in event. * src/androidgui.h (struct android_menu_event): New field `menu_event_serial'. * src/androidmenu.c (FIND_METHOD_STATIC) (android_init_emacs_context_menu): Adjust method declarations. (android_menu_show, android_dialog_show): * src/androidterm.c (handle_one_android_event): Expect serial in context menu events. * src/androidterm.h: Update prototypes.
* Update Android portPo Lu2023-03-091-0/+6
| | | | | | | * java/debug.sh (is_root): Port to android versions which don't support `chmod +x'. * src/android.c (android_content_name_p): Disable before API level 19.
* Update Android portPo Lu2023-03-091-9/+29
| | | | | | | | | | | * src/android.c (android_build_string): Convert the text to UTF-16, and create the Java string using that. (android_build_jstring): Update comment. * src/androidmenu.c (android_init_emacs_context_menu): Add String argument to `addItem'. (android_menu_show): Correctly pass help strings in regular menu items. * src/sfnt.c (_sfnt_swap16, _sfnt_swap32): Avoid reserved names.
* Fix crash upon restoring desktopPo Lu2023-03-091-1/+1
| | | | | * src/android.c (android_set_input_focus): Don't call method on window using service class.
* Update Android portPo Lu2023-03-081-5/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/android.texi (Android File System): Document what `temp~unlinked' means in the temporary files directory. * java/org/gnu/emacs/EmacsService.java (updateExtractedText): New function. * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): Ask the input method nicely to not display the extracted text UI. * src/android.c (struct android_emacs_service): New method `updateExtractedText'. (android_hack_asset_fd_fallback): Improve naming convention. Fix typo. (android_init_emacs_service): Add new method. (android_update_extracted_text): New function. (android_open_asset): Fix typo. * src/androidgui.h: Update prototypes. * src/androidterm.c (struct android_get_extracted_text_context): New field `flags'. (android_get_extracted_text): Set flags on the frame's output data. (android_build_extracted_text): New function. (getExtractedText): Move out class structures. (android_update_selection): Send updates to extracted text if the input method asked for them. (android_reset_conversion): Clear extracted text flags. * src/androidterm.h (struct android_output): New fields for storing extracted text data.
* Update Android portPo Lu2023-03-071-116/+169
| | | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsWindow.java (onSomeKindOfMotionEvent): Dismiss splurious LeaveNotify events from button presses. * src/android.c (android_change_window_attributes) (android_change_gc, android_set_clip_rectangles) (android_reparent_window, android_clear_window, android_map_window) (android_unmap_window, android_resize_window, android_move_window) (android_swap_buffers, android_fill_rectangle, android_copy_area) (android_fill_polygon, android_draw_rectangle, android_draw_point) (android_draw_line, android_clear_area, android_bell) (android_set_input_focus, android_raise_window) (android_lower_window, android_set_dont_focus_on_map) (android_set_dont_accept_focus, android_get_keysym_name) (android_toggle_on_screen_keyboard, android_restart_emacs) (android_display_toast, android_update_ic, android_reset_ic) (android_set_fullscreen): Optimize by specifying the class explicitly when calling a method.
* Update Android portPo Lu2023-03-061-1/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsNative.java (EmacsNative): New function requestSelectionUpdate. * java/org/gnu/emacs/EmacsView.java (onCreateInputConnection): Call it instead of losing if getting the current selection fails. * src/android-asset.h (AAsset_seek): Define stub. * src/android.c (android_open): Take mode_t. (android_open_asset, android_close_asset, android_asset_read_quit) (android_asset_read, android_asset_lseek, android_asset_fstat): New functions. * src/android.h (struct android_fd_or_asset): Update prototypes. * src/androidgui.h (enum android_ime_operation): Add new operation to update the selection position. * src/androidterm.c (android_handle_ime_event): Handle new operation. (requestSelectionUpdate): New function. * src/fileio.c (close_file_unwind_emacs_fd): New function. (Fcopy_file, union read_non_regular, read_non_regular) (Finsert_file_contents): Use optimized codepath to insert Android asset files. * src/frame.h (enum text_conversion_operation): New operation. * src/textconv.c (really_request_point_update) (handle_pending_conversion_events_1, request_point_update): New functions. * src/textconv.h: Update prototypes.
* Update Android portPo Lu2023-03-061-11/+0
| | | | | | | | | | | | | | | | | | * java/org/gnu/emacs/EmacsService.java (sync): Delete function. * java/org/gnu/emacs/EmacsView.java (handleDirtyBitmap): Erase with window background. (onDetachedFromWindow): Only recycle bitmap if non-NULL. * java/org/gnu/emacs/EmacsWindow.java (background): New field. (changeWindowBackground): Set it. * src/android.c (struct android_emacs_service): Remove `sync'. (android_init_emacs_service): Likewise. (android_sync): Delete function. * src/androidfns.c (android_create_tip_frame): Set frame background color correctly. (Fx_show_tip): Make the tip frame visible. * src/androidgui.h: Update prototypes. * src/androidterm.c (handle_one_android_event): Handle tooltip movement correctly.