aboutsummaryrefslogtreecommitdiffstats
path: root/src/androidterm.c
diff options
context:
space:
mode:
authorPo Lu2023-02-19 13:17:43 +0800
committerPo Lu2023-02-19 13:17:43 +0800
commitc8f49c9276d34741bfbe7752dd38391c0b8d782b (patch)
tree02f627d6bcbc83900ce459570c59ec77a63152da /src/androidterm.c
parentc6809eb92780f8206423898151cc40c959921753 (diff)
downloademacs-c8f49c9276d34741bfbe7752dd38391c0b8d782b.tar.gz
emacs-c8f49c9276d34741bfbe7752dd38391c0b8d782b.zip
Implement `fullscreen' on Android 4.0 and later
* doc/emacs/android.texi (Android Windowing): Document what new frame parameters are now supported. * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity): New field `isFullscreen'. (detachWindow, attachWindow): Sync fullscreen state. (onWindowFocusChanged): Add more logging. (onResume): Restore previous fullscreen state. (syncFullscreen): New function. * java/org/gnu/emacs/EmacsWindow.java (EmacsWindow) (setFullscreen): New function. * src/android.c (struct android_emacs_window): Add new method. (android_init_emacs_window): Look up new method. (android_set_fullscreen): New function. * src/androidgui.h: * src/androidterm.c (android_fullscreen_hook): Implement accordingly.
Diffstat (limited to 'src/androidterm.c')
-rw-r--r--src/androidterm.c24
1 files changed, 21 insertions, 3 deletions
diff --git a/src/androidterm.c b/src/androidterm.c
index 0fbee1e9867..62a8d5d12b3 100644
--- a/src/androidterm.c
+++ b/src/androidterm.c
@@ -1792,12 +1792,30 @@ android_make_frame_visible_invisible (struct frame *f, bool visible)
1792static void 1792static void
1793android_fullscreen_hook (struct frame *f) 1793android_fullscreen_hook (struct frame *f)
1794{ 1794{
1795 /* Explicitly setting fullscreen is not supported on Android. */ 1795 Lisp_Object wanted;
1796 1796
1797 if (!FRAME_PARENT_FRAME (f)) 1797 if (!FRAME_PARENT_FRAME (f))
1798 store_frame_param (f, Qfullscreen, Qmaximized); 1798 {
1799 /* Explicitly setting fullscreen is not supported on older
1800 Android versions. */
1801
1802 wanted = (f->want_fullscreen == FULLSCREEN_BOTH
1803 ? Qfullscreen : Qmaximized);
1804
1805 if (android_set_fullscreen (FRAME_ANDROID_WINDOW (f),
1806 EQ (wanted, Qfullscreen)))
1807 store_frame_param (f, Qfullscreen, Qmaximized);
1808 else
1809 store_frame_param (f, Qfullscreen, wanted);
1810 }
1799 else 1811 else
1800 store_frame_param (f, Qfullscreen, Qnil); 1812 {
1813 store_frame_param (f, Qfullscreen, Qnil);
1814
1815 /* If this is a child frame, don't keep it fullscreen
1816 anymore. */
1817 android_set_fullscreen (FRAME_ANDROID_WINDOW (f), false);
1818 }
1801} 1819}
1802 1820
1803void 1821void