From ca0e9e2c0de689474b928614def9c2c8cbe784bd Mon Sep 17 00:00:00 2001 From: artdeell Date: Fri, 11 Nov 2022 09:57:36 +0300 Subject: [PATCH] VUI fixes & improvements pt.3.5 Fixed the controls layout being offset on first start Fixed the controls layout crashing when loading new control layout --- .../src/main/java/net/kdt/pojavlaunch/Tools.java | 6 ++++-- .../net/kdt/pojavlaunch/customcontrols/ControlLayout.java | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java index a9302f142..c4f98ba97 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -500,7 +500,7 @@ public final class Tools { public static void setFullscreen(Activity activity, boolean fullscreen) { final View decorView = activity.getWindow().getDecorView(); - decorView.setOnSystemUiVisibilityChangeListener (visibility -> { + View.OnSystemUiVisibilityChangeListener visibilityChangeListener = visibility -> { if(fullscreen){ if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE @@ -514,7 +514,9 @@ public final class Tools { decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_VISIBLE); } - }); + }; + decorView.setOnSystemUiVisibilityChangeListener(visibilityChangeListener); + visibilityChangeListener.onSystemUiVisibilityChange(decorView.getSystemUiVisibility()); //call it once since the UI state may not change after the call, so the activity wont become fullscreen } public static DisplayMetrics currentDisplayMetrics; diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java index 4d875eff3..ceaab9fb2 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java @@ -242,7 +242,7 @@ public class ControlLayout extends FrameLayout { @Override public void onViewRemoved(View child) { super.onViewRemoved(child); - if(child instanceof ControlInterface){ + if(child instanceof ControlInterface && mControlPopup != null){ mControlPopup.disappearColor(); mControlPopup.disappear(); }