From 885b2c072c9efc1f1acfffd6275585f8dd11cee5 Mon Sep 17 00:00:00 2001 From: haanhvu Date: Fri, 7 Feb 2025 09:27:13 +0700 Subject: [PATCH] Keep fullscreen in hamburger menu when exiting fullscreen video --- .../igalia/wolvic/ui/widgets/NavigationBarWidget.java | 7 +++++++ .../com/igalia/wolvic/ui/widgets/WindowWidget.java | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/app/src/common/shared/com/igalia/wolvic/ui/widgets/NavigationBarWidget.java b/app/src/common/shared/com/igalia/wolvic/ui/widgets/NavigationBarWidget.java index 02fa79726e..a5b06c3de0 100644 --- a/app/src/common/shared/com/igalia/wolvic/ui/widgets/NavigationBarWidget.java +++ b/app/src/common/shared/com/igalia/wolvic/ui/widgets/NavigationBarWidget.java @@ -367,6 +367,12 @@ private void updateUI() { if (mAttachedWindow != null) { mAttachedWindow.setIsFullScreen(false); } + if (mAttachedWindow.getKeepFullscreenInHamburgerMenu()) { + postDelayed(() -> { + mAttachedWindow.setIsFullScreen(true); + }, 2000); + mAttachedWindow.setKeepFullscreenInHamburgerMenu(false); + } if (mAudio != null) { mAudio.playSound(AudioEngine.Sound.CLICK); } @@ -1361,6 +1367,7 @@ public void onResize() { @Override public void onFullScreen() { mAttachedWindow.setIsFullScreen(true); + mAttachedWindow.setKeepFullscreenInHamburgerMenu(true); } @Override diff --git a/app/src/common/shared/com/igalia/wolvic/ui/widgets/WindowWidget.java b/app/src/common/shared/com/igalia/wolvic/ui/widgets/WindowWidget.java index a649d365ad..8de8104961 100644 --- a/app/src/common/shared/com/igalia/wolvic/ui/widgets/WindowWidget.java +++ b/app/src/common/shared/com/igalia/wolvic/ui/widgets/WindowWidget.java @@ -155,6 +155,7 @@ public class WindowWidget extends UIWidget implements SessionChangeListener, private SharedPreferences mPrefs; private DownloadsManager mDownloadsManager; private float mBrowserDensity; + private boolean keepFullscreenInHamburgerMenu; public interface WindowListener { default void onFocusRequest(@NonNull WindowWidget aWindow) {} @@ -2367,4 +2368,12 @@ private float getBrowserDensity() { } return mBrowserDensity; } + + public boolean getKeepFullscreenInHamburgerMenu() { + return keepFullscreenInHamburgerMenu; + } + + public void setKeepFullscreenInHamburgerMenu(boolean keepFullscreenInHamburgerMenu) { + this.keepFullscreenInHamburgerMenu = keepFullscreenInHamburgerMenu; + } }