mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-12 22:40:46 -08:00
Better align Emacs window management with Android task lifecycles
* java/org/gnu/emacs/EmacsActivity.java (onCreate): Permit overriding by child classes. (onDestroy): Minor stylistic adjustments. (getAttachmentToken): New function. * java/org/gnu/emacs/EmacsMultitaskActivity.java (onCreate) (getAttachmentToken): New functions. * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow): <attachmentToken, preserve, previouslyAttached>: New variables. (onActivityDetached): Remove redundant isFinishing argument. (reparentTo): Reset the foregoing fields before registering with the window manager. * java/org/gnu/emacs/EmacsWindowManager.java (EmacsWindowManager): Rename from EmacsWindowAttachmentManager. (WindowConsumer): New function getAttachmentToken. (isWindowEligible): New function. (registerWindowConsumer, registerWindow, removeWindowConsumer) (detachWindow): Implement a new window management strategy on API 29 and subsequent releases where both varieties of toplevel window are permanently, except when reparented, bound to the activities to which they attach, and Emacs establishes at strategic junctures whether those activities remain present. (getTaskToken, pruneWindows): New functions.
This commit is contained in:
parent
fa9791fe6a
commit
7df66b4762
7 changed files with 457 additions and 254 deletions
|
|
@ -494,7 +494,7 @@ public final class EmacsService extends Service
|
|||
|
||||
if (window == null)
|
||||
/* Just return all the windows without a parent. */
|
||||
windowList = EmacsWindowAttachmentManager.MANAGER.copyWindows ();
|
||||
windowList = EmacsWindowManager.MANAGER.copyWindows ();
|
||||
else
|
||||
windowList = window.children;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue