From 192cd746a39378e6d59d83ea16570aec9223e81b Mon Sep 17 00:00:00 2001 From: artdeell Date: Tue, 12 Nov 2024 13:57:54 +0300 Subject: [PATCH 01/31] Feat[launcher]: changes related to game obtaining and updating screen dimensions. - Changed the way the initial screen dimensions are sent to the game - Changed how the dimension updates are sent to the game - Changed how the dimensions are determined and calculated --- .../components/lwjgl3/lwjgl-glfw-classes.jar | Bin 2930717 -> 2938161 bytes .../src/main/assets/components/lwjgl3/version | 2 +- .../net/kdt/pojavlaunch/MainActivity.java | 21 ++++-- .../kdt/pojavlaunch/MinecraftGLSurface.java | 25 ++++--- .../main/java/net/kdt/pojavlaunch/Tools.java | 68 +++++++++++++++++- app_pojavlauncher/src/main/jni/egl_bridge.c | 3 + .../src/main/jni/environ/environ.h | 7 +- .../src/main/jni/input_bridge_v3.c | 54 ++++++-------- .../src/main/res/layout/activity_basemain.xml | 2 + .../src/main/res/values/styles.xml | 6 ++ .../src/main/java/org/lwjgl/glfw/GLFW.java | 55 ++++++-------- 11 files changed, 156 insertions(+), 87 deletions(-) diff --git a/app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar b/app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar index d7a05d5e41b5e4085aa0a4c204d56d4d7943bb2b..1696dd3919a7cb47ac98856cbe1cfedb5f0ef0a4 100644 GIT binary patch delta 122411 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 aYjTn)wyKvX@!ssc*@}*;65X2Wfc_6NQk@F` diff --git a/app_pojavlauncher/src/main/assets/components/lwjgl3/version b/app_pojavlauncher/src/main/assets/components/lwjgl3/version index c3b857f256..8ca3a45495 100644 --- a/app_pojavlauncher/src/main/assets/components/lwjgl3/version +++ b/app_pojavlauncher/src/main/assets/components/lwjgl3/version @@ -1 +1 @@ -1720909595576 \ No newline at end of file +1731408235037 \ No newline at end of file diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java index 98aa1cc07e..e4e034d062 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java @@ -240,8 +240,12 @@ private void loadControls() { @Override public void onAttachedToWindow() { - LauncherPreferences.computeNotchSize(this); - loadControls(); + // Post to get the correct display dimensions after layout. + mControlLayout.post(()->{ + LauncherPreferences.computeNotchSize(this); + Tools.getDisplayMetrics(this); + loadControls(); + }); } /** Boilerplate binding */ @@ -299,9 +303,16 @@ public void onConfigurationChanged(@NonNull Configuration newConfig) { super.onConfigurationChanged(newConfig); if(mGyroControl != null) mGyroControl.updateOrientation(); - Tools.updateWindowSize(this); - minecraftGLView.refreshSize(); - runOnUiThread(() -> mControlLayout.refreshControlButtonPositions()); + // Layout resize is practically guaranteed on a configuration change, and `onConfigurationChanged` + // does not implicitly start a layout. So, request a layout and expect the screen dimensions to be valid after the] + // post. + mControlLayout.requestLayout(); + mControlLayout.post(()->{ + // Child of mControlLayout, so refreshing size here is correct + minecraftGLView.refreshSize(); + Tools.updateWindowSize(this); + mControlLayout.refreshControlButtonPositions(); + }); } @Override diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MinecraftGLSurface.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MinecraftGLSurface.java index 2c460558f9..d29d54023d 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MinecraftGLSurface.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MinecraftGLSurface.java @@ -326,14 +326,22 @@ public static boolean sendMouseButtonUnconverted(int button, boolean status) { return true; } - - - - /** Called when the size need to be set at any point during the surface lifecycle **/ public void refreshSize(){ - windowWidth = Tools.getDisplayFriendlyRes(Tools.currentDisplayMetrics.widthPixels, mScaleFactor); - windowHeight = Tools.getDisplayFriendlyRes(Tools.currentDisplayMetrics.heightPixels, mScaleFactor); + refreshSize(false); + } + + /** Same as refreshSize, but allows you to force an immediate size update **/ + public void refreshSize(boolean immediate) { + if(isInLayout() && !immediate) { + post(this::refreshSize); + return; + } + // Use the width and height of the View instead of display dimensions to avoid + // getting squiched/stretched due to inconsistencies between the layout and + // screen dimensions. + windowWidth = Tools.getDisplayFriendlyRes(getWidth(), mScaleFactor); + windowHeight = Tools.getDisplayFriendlyRes(getHeight(), mScaleFactor); if(mSurface == null){ Log.w("MGLSurface", "Attempt to refresh size on null surface"); return; @@ -355,8 +363,9 @@ public void refreshSize(){ } private void realStart(Surface surface){ - // Initial size set - refreshSize(); + // Initial size set. Request immedate refresh, otherwise the initial width and height for the game + // may be broken/unknown. + refreshSize(true); //Load Minecraft options: MCOptionUtils.set("fullscreen", "off"); 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 0268bce8c5..5022c88000 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -31,6 +31,9 @@ import android.util.DisplayMetrics; import android.util.Log; import android.view.View; +import android.view.Window; +import android.view.WindowInsets; +import android.view.WindowInsetsController; import android.view.WindowManager; import android.widget.EditText; import android.widget.TextView; @@ -38,6 +41,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; +import androidx.annotation.RequiresApi; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.NotificationManagerCompat; @@ -504,10 +508,14 @@ public static DisplayMetrics getDisplayMetrics(Activity activity) { return displayMetrics; } - public static void setFullscreen(Activity activity, boolean fullscreen) { + @SuppressWarnings("deprecation") + private static void setFullscreenLegacy(Activity activity, boolean fullscreen) { final View decorView = activity.getWindow().getDecorView(); View.OnSystemUiVisibilityChangeListener visibilityChangeListener = visibility -> { - if(fullscreen){ + boolean multiWindowMode = SDK_INT >= 24 && activity.isInMultiWindowMode(); + // When in multi-window mode, asking for fullscreen makes no sense (cause the launcher runs in a window) + // So, ignore the fullscreen setting when activity is in multi window mode + if(fullscreen && !multiWindowMode){ if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) { decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_FULLSCREEN @@ -525,11 +533,67 @@ public static void setFullscreen(Activity activity, boolean fullscreen) { visibilityChangeListener.onSystemUiVisibilityChange(decorView.getSystemUiVisibility()); //call it once since the UI state may not change after the call, so the activity wont become fullscreen } + @RequiresApi(Build.VERSION_CODES.R) + private static void setFullscreenSdk30(Activity activity, boolean fullscreen) { + final Window window = activity.getWindow(); + final View decorView = window.getDecorView(); + final int insetControllerFlags = WindowInsets.Type.statusBars() | WindowInsets.Type.navigationBars(); + final View.OnApplyWindowInsetsListener windowInsetsListener = (view, windowInsets) ->{ + WindowInsetsController windowInsetsController = decorView.getWindowInsetsController(); + if(windowInsetsController == null) return windowInsets; + boolean multiWindowMode = activity.isInMultiWindowMode(); + // Emulate the behaviour of the legacy function using the new flags + if(fullscreen && !multiWindowMode) { + windowInsetsController.hide(insetControllerFlags); + windowInsetsController.setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE); + window.setDecorFitsSystemWindows(false); + }else { + windowInsetsController.show(insetControllerFlags); + // Both of the constants below have the exact same numerical value, but + // for some reason the one that works below Android S was removed + // from the acceptable constants for setSystemBarsBehaviour + if (SDK_INT >= Build.VERSION_CODES.S) { + windowInsetsController.setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_DEFAULT); + }else { + // noinspection WrongConstant + windowInsetsController.setSystemBarsBehavior(WindowInsetsController.BEHAVIOR_SHOW_BARS_BY_SWIPE); + } + window.setDecorFitsSystemWindows(true); + } + return windowInsets; + }; + decorView.setOnApplyWindowInsetsListener(windowInsetsListener); + windowInsetsListener.onApplyWindowInsets(decorView, null); + } + + public static void setFullscreen(Activity activity, boolean fullscreen) { + if (SDK_INT >= Build.VERSION_CODES.R) { + setFullscreenSdk30(activity, fullscreen); + }else { + setFullscreenLegacy(activity, fullscreen); + } + } + public static DisplayMetrics currentDisplayMetrics; public static void updateWindowSize(Activity activity) { currentDisplayMetrics = getDisplayMetrics(activity); + View dimensionView = activity.findViewById(R.id.dimension_tracker); + + if(dimensionView != null) { + int width = dimensionView.getWidth(); + int height = dimensionView.getHeight(); + if(width != 0 && height != 0) { + Log.i("Tools", "Using dimension_tracker for display dimensions; W="+width+" H="+height); + CallbackBridge.physicalWidth = width; + CallbackBridge.physicalHeight = height; + return; + }else{ + Log.e("Tools","Dimension tracker detected but dimensions out of date. Please check usage.", new Exception()); + } + } + CallbackBridge.physicalWidth = currentDisplayMetrics.widthPixels; CallbackBridge.physicalHeight = currentDisplayMetrics.heightPixels; } diff --git a/app_pojavlauncher/src/main/jni/egl_bridge.c b/app_pojavlauncher/src/main/jni/egl_bridge.c index 029bdeff3e..30b89631bb 100644 --- a/app_pojavlauncher/src/main/jni/egl_bridge.c +++ b/app_pojavlauncher/src/main/jni/egl_bridge.c @@ -212,11 +212,14 @@ int pojavInitOpenGL() { return 0; } +extern void updateMonitorSize(int width, int height); + EXTERNAL_API int pojavInit() { ANativeWindow_acquire(pojav_environ->pojavWindow); pojav_environ->savedWidth = ANativeWindow_getWidth(pojav_environ->pojavWindow); pojav_environ->savedHeight = ANativeWindow_getHeight(pojav_environ->pojavWindow); ANativeWindow_setBuffersGeometry(pojav_environ->pojavWindow,pojav_environ->savedWidth,pojav_environ->savedHeight,AHARDWAREBUFFER_FORMAT_R8G8B8X8_UNORM); + updateMonitorSize(pojav_environ->savedWidth, pojav_environ->savedHeight); pojavInitOpenGL(); return 1; } diff --git a/app_pojavlauncher/src/main/jni/environ/environ.h b/app_pojavlauncher/src/main/jni/environ/environ.h index 4d73f1fb34..9e33e93d35 100644 --- a/app_pojavlauncher/src/main/jni/environ/environ.h +++ b/app_pojavlauncher/src/main/jni/environ/environ.h @@ -24,11 +24,9 @@ typedef void GLFW_invoke_Char_func(void* window, unsigned int codepoint); typedef void GLFW_invoke_CharMods_func(void* window, unsigned int codepoint, int mods); typedef void GLFW_invoke_CursorEnter_func(void* window, int entered); typedef void GLFW_invoke_CursorPos_func(void* window, double xpos, double ypos); -typedef void GLFW_invoke_FramebufferSize_func(void* window, int width, int height); typedef void GLFW_invoke_Key_func(void* window, int key, int scancode, int action, int mods); typedef void GLFW_invoke_MouseButton_func(void* window, int button, int action, int mods); typedef void GLFW_invoke_Scroll_func(void* window, double xoffset, double yoffset); -typedef void GLFW_invoke_WindowSize_func(void* window, int width, int height); struct pojav_environ_s { struct ANativeWindow* pojavWindow; @@ -46,6 +44,7 @@ struct pojav_environ_s { jmethodID method_onGrabStateChanged; jmethodID method_glftSetWindowAttrib; jmethodID method_internalWindowSizeChanged; + jmethodID method_internalChangeMonitorSize; jclass bridgeClazz; jclass vmGlfwClass; jboolean isGrabbing; @@ -56,7 +55,7 @@ struct pojav_environ_s { JavaVM* dalvikJavaVMPtr; JNIEnv* dalvikJNIEnvPtr_ANDROID; long showingWindow; - bool isInputReady, isCursorEntered, isUseStackQueueCall, shouldUpdateMouse; + bool isInputReady, isCursorEntered, isUseStackQueueCall, shouldUpdateMouse, shouldUpdateMonitorSize; int savedWidth, savedHeight; #define ADD_CALLBACK_WWIN(NAME) \ GLFW_invoke_##NAME##_func* GLFW_invoke_##NAME; @@ -64,11 +63,9 @@ struct pojav_environ_s { ADD_CALLBACK_WWIN(CharMods); ADD_CALLBACK_WWIN(CursorEnter); ADD_CALLBACK_WWIN(CursorPos); - ADD_CALLBACK_WWIN(FramebufferSize); ADD_CALLBACK_WWIN(Key); ADD_CALLBACK_WWIN(MouseButton); ADD_CALLBACK_WWIN(Scroll); - ADD_CALLBACK_WWIN(WindowSize); #undef ADD_CALLBACK_WWIN }; diff --git a/app_pojavlauncher/src/main/jni/input_bridge_v3.c b/app_pojavlauncher/src/main/jni/input_bridge_v3.c index 4dff47f368..9591d289dc 100644 --- a/app_pojavlauncher/src/main/jni/input_bridge_v3.c +++ b/app_pojavlauncher/src/main/jni/input_bridge_v3.c @@ -26,11 +26,9 @@ #define EVENT_TYPE_CHAR 1000 #define EVENT_TYPE_CHAR_MODS 1001 #define EVENT_TYPE_CURSOR_ENTER 1002 -#define EVENT_TYPE_FRAMEBUFFER_SIZE 1004 #define EVENT_TYPE_KEY 1005 #define EVENT_TYPE_MOUSE_BUTTON 1006 #define EVENT_TYPE_SCROLL 1007 -#define EVENT_TYPE_WINDOW_SIZE 1008 jint (*orig_ProcessImpl_forkAndExec)(JNIEnv *env, jobject process, jint mode, jbyteArray helperpath, jbyteArray prog, jbyteArray argBlock, jint argc, jbyteArray envBlock, jint envc, jbyteArray dir, jintArray std_fds, jboolean redirectErrorStream); @@ -52,7 +50,8 @@ jint JNI_OnLoad(JavaVM* vm, __attribute__((unused)) void* reserved) { (*vm)->GetEnv(vm, (void**) &pojav_environ->runtimeJNIEnvPtr_JRE, JNI_VERSION_1_4); pojav_environ->vmGlfwClass = (*pojav_environ->runtimeJNIEnvPtr_JRE)->NewGlobalRef(pojav_environ->runtimeJNIEnvPtr_JRE, (*pojav_environ->runtimeJNIEnvPtr_JRE)->FindClass(pojav_environ->runtimeJNIEnvPtr_JRE, "org/lwjgl/glfw/GLFW")); pojav_environ->method_glftSetWindowAttrib = (*pojav_environ->runtimeJNIEnvPtr_JRE)->GetStaticMethodID(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, "glfwSetWindowAttrib", "(JII)V"); - pojav_environ->method_internalWindowSizeChanged = (*pojav_environ->runtimeJNIEnvPtr_JRE)->GetStaticMethodID(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, "internalWindowSizeChanged", "(JII)V"); + pojav_environ->method_internalWindowSizeChanged = (*pojav_environ->runtimeJNIEnvPtr_JRE)->GetStaticMethodID(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, "internalWindowSizeChanged", "(J)V"); + pojav_environ->method_internalChangeMonitorSize = (*pojav_environ->runtimeJNIEnvPtr_JRE)->GetStaticMethodID(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, "internalChangeMonitorSize", "(II)V"); jfieldID field_keyDownBuffer = (*pojav_environ->runtimeJNIEnvPtr_JRE)->GetStaticFieldID(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, "keyDownBuffer", "Ljava/nio/ByteBuffer;"); jobject keyDownBufferJ = (*pojav_environ->runtimeJNIEnvPtr_JRE)->GetStaticObjectField(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, field_keyDownBuffer); pojav_environ->keyDownBuffer = (*pojav_environ->runtimeJNIEnvPtr_JRE)->GetDirectBufferAddress(pojav_environ->runtimeJNIEnvPtr_JRE, keyDownBufferJ); @@ -86,16 +85,17 @@ ADD_CALLBACK_WWIN(Char) ADD_CALLBACK_WWIN(CharMods) ADD_CALLBACK_WWIN(CursorEnter) ADD_CALLBACK_WWIN(CursorPos) -ADD_CALLBACK_WWIN(FramebufferSize) ADD_CALLBACK_WWIN(Key) ADD_CALLBACK_WWIN(MouseButton) ADD_CALLBACK_WWIN(Scroll) -ADD_CALLBACK_WWIN(WindowSize) #undef ADD_CALLBACK_WWIN -void handleFramebufferSizeJava(long window, int w, int h) { - (*pojav_environ->runtimeJNIEnvPtr_JRE)->CallStaticVoidMethod(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, pojav_environ->method_internalWindowSizeChanged, (long)window, w, h); +void updateMonitorSize(int width, int height) { + (*pojav_environ->runtimeJNIEnvPtr_JRE)->CallStaticVoidMethod(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, pojav_environ->method_internalChangeMonitorSize, width, height); +} +void updateWindowSize(void* window) { + (*pojav_environ->runtimeJNIEnvPtr_JRE)->CallStaticVoidMethod(pojav_environ->runtimeJNIEnvPtr_JRE, pojav_environ->vmGlfwClass, pojav_environ->method_internalWindowSizeChanged, (long)window); } void pojavPumpEvents(void* window) { @@ -103,6 +103,9 @@ void pojavPumpEvents(void* window) { pojav_environ->GLFW_invoke_CursorPos(window, floor(pojav_environ->cursorX), floor(pojav_environ->cursorY)); } + if(pojav_environ->shouldUpdateMonitorSize) { + updateWindowSize(window); + } size_t index = pojav_environ->outEventIndex; size_t targetIndex = pojav_environ->outTargetIndex; @@ -125,14 +128,6 @@ void pojavPumpEvents(void* window) { case EVENT_TYPE_SCROLL: if(pojav_environ->GLFW_invoke_Scroll) pojav_environ->GLFW_invoke_Scroll(window, event.i1, event.i2); break; - case EVENT_TYPE_FRAMEBUFFER_SIZE: - handleFramebufferSizeJava(pojav_environ->showingWindow, event.i1, event.i2); - if(pojav_environ->GLFW_invoke_FramebufferSize) pojav_environ->GLFW_invoke_FramebufferSize(window, event.i1, event.i2); - break; - case EVENT_TYPE_WINDOW_SIZE: - handleFramebufferSizeJava(pojav_environ->showingWindow, event.i1, event.i2); - if(pojav_environ->GLFW_invoke_WindowSize) pojav_environ->GLFW_invoke_WindowSize(window, event.i1, event.i2); - break; } index++; @@ -162,6 +157,10 @@ void pojavStartPumping() { pojav_environ->cLastY = pojav_environ->cursorY; pojav_environ->shouldUpdateMouse = true; } + if(pojav_environ->shouldUpdateMonitorSize) { + // Perform a monitor size update here to avoid doing it on every single window + updateMonitorSize(pojav_environ->savedWidth, pojav_environ->savedHeight); + } } /** Prepare the library for the next round of new events */ @@ -170,8 +169,9 @@ void pojavStopPumping() { // New events may have arrived while pumping, so remove only the difference before the start and end of execution atomic_fetch_sub_explicit(&pojav_environ->eventCounter, pojav_environ->inEventCount, memory_order_acquire); - // Make sure the next frame won't send mouse updates if it's unnecessary + // Make sure the next frame won't send mouse or monitor updates if it's unnecessary pojav_environ->shouldUpdateMouse = false; + pojav_environ->shouldUpdateMonitorSize = false; } JNIEXPORT void JNICALL @@ -502,23 +502,11 @@ void noncritical_send_mouse_button(__attribute__((unused)) JNIEnv* env, __attrib void critical_send_screen_size(jint width, jint height) { pojav_environ->savedWidth = width; pojav_environ->savedHeight = height; - if (pojav_environ->isInputReady) { - if (pojav_environ->GLFW_invoke_FramebufferSize) { - if (pojav_environ->isUseStackQueueCall) { - sendData(EVENT_TYPE_FRAMEBUFFER_SIZE, width, height, 0, 0); - } else { - pojav_environ->GLFW_invoke_FramebufferSize((void*) pojav_environ->showingWindow, width, height); - } - } - - if (pojav_environ->GLFW_invoke_WindowSize) { - if (pojav_environ->isUseStackQueueCall) { - sendData(EVENT_TYPE_WINDOW_SIZE, width, height, 0, 0); - } else { - pojav_environ->GLFW_invoke_WindowSize((void*) pojav_environ->showingWindow, width, height); - } - } - } + pojav_environ->shouldUpdateMonitorSize = true; + // Don't use the direct updates for screen dimensions. + // This is done to ensure that we have predictable conditions to correctly call + // updateMonitorSize() and updateWindowSize() while on the render thread with an attached + // JNIEnv. } void noncritical_send_screen_size(__attribute__((unused)) JNIEnv* env, __attribute__((unused)) jclass clazz, jint width, jint height) { diff --git a/app_pojavlauncher/src/main/res/layout/activity_basemain.xml b/app_pojavlauncher/src/main/res/layout/activity_basemain.xml index c97c03d065..ae0d0ed151 100644 --- a/app_pojavlauncher/src/main/res/layout/activity_basemain.xml +++ b/app_pojavlauncher/src/main/res/layout/activity_basemain.xml @@ -20,6 +20,8 @@ android:layout_width="match_parent" android:layout_height="match_parent"> + + ?android:attr/listDivider + + diff --git a/jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java b/jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java index dde2f39baf..cf651e5b78 100644 --- a/jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java +++ b/jre_lwjgl3glfw/src/main/java/org/lwjgl/glfw/GLFW.java @@ -478,7 +478,6 @@ public class GLFW /* volatile */ public static GLFWCursorPosCallback mGLFWCursorPosCallback; /* volatile */ public static GLFWDropCallback mGLFWDropCallback; /* volatile */ public static GLFWErrorCallback mGLFWErrorCallback; - /* volatile */ public static GLFWFramebufferSizeCallback mGLFWFramebufferSizeCallback; /* volatile */ public static GLFWJoystickCallback mGLFWJoystickCallback; /* volatile */ public static GLFWKeyCallback mGLFWKeyCallback; /* volatile */ public static GLFWMonitorCallback mGLFWMonitorCallback; @@ -491,7 +490,11 @@ public class GLFW /* volatile */ public static GLFWWindowMaximizeCallback mGLFWWindowMaximizeCallback; /* volatile */ public static GLFWWindowPosCallback mGLFWWindowPosCallback; /* volatile */ public static GLFWWindowRefreshCallback mGLFWWindowRefreshCallback; - /* volatile */ public static GLFWWindowSizeCallback mGLFWWindowSizeCallback; + + // Store callback method references directly to avoid a roundtrip through + // JNI when calling the default LWJGL callbacks. + @Nullable public static GLFWFramebufferSizeCallbackI mGLFWFramebufferSizeCallbackI; + @Nullable public static GLFWWindowSizeCallbackI mGLFWWindowSizeCallbackI; volatile public static int mGLFWWindowWidth, mGLFWWindowHeight; @@ -513,22 +516,6 @@ public class GLFW public static long mainContext = 0; static { - String windowWidth = System.getProperty(PROP_WINDOW_WIDTH); - String windowHeight = System.getProperty(PROP_WINDOW_HEIGHT); - if (windowWidth == null || windowHeight == null) { - System.err.println("Warning: Property " + PROP_WINDOW_WIDTH + " or " + PROP_WINDOW_HEIGHT + " not set, defaulting to 1280 and 720"); - - mGLFWWindowWidth = 1280; - mGLFWWindowHeight = 720; - } else { - mGLFWWindowWidth = Integer.parseInt(windowWidth); - mGLFWWindowHeight = Integer.parseInt(windowHeight); - } - - // Minecraft triggers a glfwPollEvents() on splash screen, so update window size there. - // CallbackBridge.receiveCallback(CallbackBridge.EVENT_TYPE_FRAMEBUFFER_SIZE, mGLFWWindowWidth, mGLFWWindowHeight, 0, 0); - // CallbackBridge.receiveCallback(CallbackBridge.EVENT_TYPE_WINDOW_SIZE, mGLFWWindowWidth, mGLFWWindowHeight, 0, 0); - try { System.loadLibrary("pojavexec"); } catch (UnsatisfiedLinkError e) { @@ -582,11 +569,9 @@ public void callback(long args) { private static native long nglfwSetCharModsCallback(long window, long ptr); private static native long nglfwSetCursorEnterCallback(long window, long ptr); private static native long nglfwSetCursorPosCallback(long window, long ptr); - private static native long nglfwSetFramebufferSizeCallback(long window, long ptr); private static native long nglfwSetKeyCallback(long window, long ptr); private static native long nglfwSetMouseButtonCallback(long window, long ptr); private static native long nglfwSetScrollCallback(long window, long ptr); - private static native long nglfwSetWindowSizeCallback(long window, long ptr); // private static native void nglfwSetInputReady(); private static native void nglfwSetShowingWindow(long window); @@ -633,6 +618,7 @@ public static SharedLibrary getLibrary() { return GLFW; } + @SuppressWarnings("unused") // Used by pojavexec public static void internalChangeMonitorSize(int width, int height) { mGLFWWindowWidth = width; mGLFWWindowHeight = height; @@ -699,11 +685,12 @@ public static GLFWErrorCallback glfwSetErrorCallback(@Nullable @NativeType("GLFW } public static GLFWFramebufferSizeCallback glfwSetFramebufferSizeCallback(@NativeType("GLFWwindow *") long window, @Nullable @NativeType("GLFWframebuffersizefun") GLFWFramebufferSizeCallbackI cbfun) { - GLFWFramebufferSizeCallback lastCallback = mGLFWFramebufferSizeCallback; - if (cbfun == null) mGLFWFramebufferSizeCallback = null; - else mGLFWFramebufferSizeCallback = GLFWFramebufferSizeCallback.createSafe(nglfwSetFramebufferSizeCallback(window, memAddressSafe(cbfun))); - - return lastCallback; + GLFWFramebufferSizeCallback previousCallback = null; + if(mGLFWFramebufferSizeCallbackI != null) { + previousCallback = GLFWFramebufferSizeCallback.create(mGLFWFramebufferSizeCallbackI); + } + mGLFWFramebufferSizeCallbackI = cbfun; + return previousCallback; } public static GLFWJoystickCallback glfwSetJoystickCallback(/* @NativeType("GLFWwindow *") long window, */ @Nullable @NativeType("GLFWjoystickfun") GLFWJoystickCallbackI cbfun) { @@ -802,11 +789,12 @@ public static GLFWWindowRefreshCallback glfwSetWindowRefreshCallback(@NativeType } public static GLFWWindowSizeCallback glfwSetWindowSizeCallback(@NativeType("GLFWwindow *") long window, @Nullable @NativeType("GLFWwindowsizefun") GLFWWindowSizeCallbackI cbfun) { - GLFWWindowSizeCallback lastCallback = mGLFWWindowSizeCallback; - if (cbfun == null) mGLFWWindowSizeCallback = null; - else mGLFWWindowSizeCallback = GLFWWindowSizeCallback.createSafe(nglfwSetWindowSizeCallback(window, memAddressSafe(cbfun))); - - return lastCallback; + GLFWWindowSizeCallback previousCallback = null; + if(mGLFWWindowSizeCallbackI != null) { + previousCallback = GLFWWindowSizeCallback.create(mGLFWWindowSizeCallbackI); + } + mGLFWWindowSizeCallbackI = cbfun; + return previousCallback; } static boolean isGLFWReady; @@ -1088,11 +1076,12 @@ public static void glfwPollEvents() { callV(Functions.StopPumping); mGLFWInputPumping = false; } - - public static void internalWindowSizeChanged(long window, int w, int h) { + @SuppressWarnings("unused") // Used by pojavexec + public static void internalWindowSizeChanged(long window) { try { - internalChangeMonitorSize(w, h); glfwSetWindowSize(window, mGLFWWindowWidth, mGLFWWindowHeight); + if(mGLFWFramebufferSizeCallbackI != null) mGLFWFramebufferSizeCallbackI.invoke(window, mGLFWWindowWidth, mGLFWWindowHeight); + if(mGLFWWindowSizeCallbackI != null) mGLFWWindowSizeCallbackI.invoke(window, mGLFWWindowWidth, mGLFWWindowHeight); }catch (Exception e) { e.printStackTrace(); } From d448975e64bb6d1b68db1da5d645b6545016e4ce Mon Sep 17 00:00:00 2001 From: Mathias-Boulay Date: Mon, 18 Nov 2024 23:51:48 +0100 Subject: [PATCH 02/31] Add: Range + increment seekbar component --- .../src/main/java/com/kdt/CustomSeekbar.java | 138 ++++++++++++++++++ 1 file changed, 138 insertions(+) create mode 100644 app_pojavlauncher/src/main/java/com/kdt/CustomSeekbar.java diff --git a/app_pojavlauncher/src/main/java/com/kdt/CustomSeekbar.java b/app_pojavlauncher/src/main/java/com/kdt/CustomSeekbar.java new file mode 100644 index 0000000000..050276e3e2 --- /dev/null +++ b/app_pojavlauncher/src/main/java/com/kdt/CustomSeekbar.java @@ -0,0 +1,138 @@ +package com.kdt; + +import android.annotation.SuppressLint; +import android.content.Context; +import android.util.AttributeSet; +import android.widget.SeekBar; + +/** + * Seekbar with ability to handle ranges and increments + */ +@SuppressLint("AppCompatCustomView") +public class CustomSeekbar extends SeekBar { + private int mMin = 0; + private int mIncrement = 1; + private SeekBar.OnSeekBarChangeListener mListener; + + /** When using increments, this flag is used to prevent double calls to the listener */ + private boolean mInternalChanges = false; + + public CustomSeekbar(Context context) { + super(context); + setup(); + } + + public CustomSeekbar(Context context, AttributeSet attrs) { + super(context, attrs); + setup(); + } + + public CustomSeekbar(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + setup(); + } + + public CustomSeekbar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + setup(); + } + + public void setIncrement(int increment) { + mIncrement = increment; + } + + public void setRange(int min, int max) { + mMin = min; + setMax(max - min); + } + + @Override + public synchronized void setProgress(int progress) { + super.setProgress(applyIncrement(progress - mMin)); + } + + @Override + public void setProgress(int progress, boolean animate) { + super.setProgress(applyIncrement(progress - mMin), animate); + } + + @Override + public synchronized int getProgress() { + return applyIncrement(super.getProgress() + mMin); + } + + @Override + public synchronized void setMin(int min) { + super.setMin(min); + mMin = min; + } + + /** + * Wrapper to allow for a listener to be set around the internal listener + */ + @Override + public void setOnSeekBarChangeListener(OnSeekBarChangeListener l) { + mListener = l; + } + + public void setup() { + super.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { + /** Store the previous progress to prevent double calls with increments */ + private int previousProgress = 0; + @Override + public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { + if (mInternalChanges) return; + mInternalChanges = true; + + progress += mMin; + progress = applyIncrement(progress); + + if (progress != previousProgress) { + if (mListener != null) { + previousProgress = progress; + mListener.onProgressChanged(seekBar, progress, fromUser); + } + } + + // Forces the thumb to snap to the increment + setProgress(progress); + mInternalChanges = false; + } + + @Override + public void onStartTrackingTouch(SeekBar seekBar) { + if (mInternalChanges) return; + + if (mListener != null) { + mListener.onStartTrackingTouch(seekBar); + } + } + + @Override + public void onStopTrackingTouch(SeekBar seekBar) { + if (mInternalChanges) return; + mInternalChanges = true; + + setProgress(seekBar.getProgress()); + + if (mListener != null) { + mListener.onStopTrackingTouch(seekBar); + } + mInternalChanges = false; + } + }); + } + + /** + * Apply increment to the progress + * @param progress Progress to apply increment to + * @return Progress with increment applied + */ + private int applyIncrement(int progress) { + if (mIncrement < 1) return progress; + + progress = progress / mIncrement; + progress = progress * mIncrement; + return progress; + } +} From f64964c6b558da30fffedab7a3d4b620949bb98b Mon Sep 17 00:00:00 2001 From: Mathias-Boulay Date: Mon, 18 Nov 2024 23:53:22 +0100 Subject: [PATCH 03/31] Add: simple seekbar listener Allows to make cleaner code when you have more than one seekbar --- .../utils/SimpleSeekBarListener.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/SimpleSeekBarListener.java diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/SimpleSeekBarListener.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/SimpleSeekBarListener.java new file mode 100644 index 0000000000..07b8c73d06 --- /dev/null +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/SimpleSeekBarListener.java @@ -0,0 +1,17 @@ +package net.kdt.pojavlaunch.utils; + +import android.widget.SeekBar; + +/** + * Most interfaces implementations of {@link SeekBar.OnSeekBarChangeListener} + * only implement the onProgressChanged method. This class provides a default for other methods. + */ +public interface SimpleSeekBarListener extends SeekBar.OnSeekBarChangeListener { + @Override + default void onStartTrackingTouch(android.widget.SeekBar seekBar) { + } + + @Override + default void onStopTrackingTouch(android.widget.SeekBar seekBar) { + } +} From d6a6c8965777931cd2a3ee13fcd3de12eac48464 Mon Sep 17 00:00:00 2001 From: Mathias-Boulay Date: Mon, 18 Nov 2024 23:54:19 +0100 Subject: [PATCH 04/31] Cleanup: Remove unused resource --- .../src/main/res/layout/activity_basemain.xml | 1 - .../src/main/res/menu/menu_runopt.xml | 21 ------------------- 2 files changed, 22 deletions(-) delete mode 100644 app_pojavlauncher/src/main/res/menu/menu_runopt.xml diff --git a/app_pojavlauncher/src/main/res/layout/activity_basemain.xml b/app_pojavlauncher/src/main/res/layout/activity_basemain.xml index ae0d0ed151..99080c94a9 100644 --- a/app_pojavlauncher/src/main/res/layout/activity_basemain.xml +++ b/app_pojavlauncher/src/main/res/layout/activity_basemain.xml @@ -76,7 +76,6 @@ android:layout_gravity="right" android:background="?attr/colorBackgroundFloating" android:fitsSystemWindows="false" - app:menu="@menu/menu_runopt" android:id="@+id/main_navigation_view"/> diff --git a/app_pojavlauncher/src/main/res/menu/menu_runopt.xml b/app_pojavlauncher/src/main/res/menu/menu_runopt.xml deleted file mode 100644 index 7530b7ff9f..0000000000 --- a/app_pojavlauncher/src/main/res/menu/menu_runopt.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - From 7481278fb81e043fd9ac0cdd9ffb37598f66c8df Mon Sep 17 00:00:00 2001 From: Mathias-Boulay Date: Mon, 18 Nov 2024 23:58:17 +0100 Subject: [PATCH 05/31] Add: Side dialog system Contains only the outer shell --- .../src/main/java/com/kdt/SideDialogView.java | 139 ++++++++++++++++++ .../main/res/layout/dialog_side_dialog.xml | 79 ++++++++++ 2 files changed, 218 insertions(+) create mode 100644 app_pojavlauncher/src/main/java/com/kdt/SideDialogView.java create mode 100644 app_pojavlauncher/src/main/res/layout/dialog_side_dialog.xml diff --git a/app_pojavlauncher/src/main/java/com/kdt/SideDialogView.java b/app_pojavlauncher/src/main/java/com/kdt/SideDialogView.java new file mode 100644 index 0000000000..3b648429d1 --- /dev/null +++ b/app_pojavlauncher/src/main/java/com/kdt/SideDialogView.java @@ -0,0 +1,139 @@ +package com.kdt; + +import static net.kdt.pojavlaunch.Tools.currentDisplayMetrics; + +import android.animation.ObjectAnimator; +import android.content.Context; +import android.util.AttributeSet; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.animation.AccelerateDecelerateInterpolator; +import android.view.animation.Interpolator; +import android.widget.Button; +import android.widget.TextView; + +import androidx.annotation.CallSuper; +import androidx.annotation.IntegerRes; +import androidx.annotation.LayoutRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.StringRes; +import androidx.constraintlayout.widget.ConstraintLayout; +import androidx.core.content.res.ResourcesCompat; + +import net.kdt.pojavlaunch.R; + +public class SideDialogView { + + private final ConstraintLayout mDialogLayout; + private final DefocusableScrollView mScrollView; + protected final T mDialogContent; + private final int mMargin; + private final ObjectAnimator mSideDialogAnimator; + private boolean mDisplaying = false; + + private final Button mStartButton, mEndButton; + private final TextView mTitleTextview; + private final View mTitleDivider; + + public SideDialogView(Context context, ViewGroup parent, @LayoutRes int layoutId) { + // Inflate layouts + mDialogLayout = (ConstraintLayout) LayoutInflater.from(context).inflate(R.layout.dialog_side_dialog, parent, false); + mScrollView = mDialogLayout.findViewById(R.id.side_dialog_scrollview); + mStartButton = mDialogLayout.findViewById(R.id.side_dialog_start_button); + mEndButton = mDialogLayout.findViewById(R.id.side_dialog_end_button); + mTitleTextview = mDialogLayout.findViewById(R.id.side_dialog_title_textview); + mTitleDivider = mDialogLayout.findViewById(R.id.side_dialog_title_divider); + + LayoutInflater.from(context).inflate(layoutId, mScrollView, true); + mDialogContent = (T) mScrollView.getChildAt(0); + + + + // Attach layouts + //mScrollView.addView(mDialogContent); + parent.addView(mDialogLayout); + + mMargin = context.getResources().getDimensionPixelOffset(R.dimen._20sdp); + mSideDialogAnimator = ObjectAnimator.ofFloat(mDialogLayout, "x", 0).setDuration(600); + Interpolator decelerate = new AccelerateDecelerateInterpolator(); + mSideDialogAnimator.setInterpolator(decelerate); + + mDialogLayout.setElevation(10); + mDialogLayout.setTranslationZ(10); + + mDialogLayout.setVisibility(View.VISIBLE); + mDialogLayout.setBackground(ResourcesCompat.getDrawable(mDialogLayout.getResources(), R.drawable.background_control_editor, null)); + + //TODO offset better according to view width + mDialogLayout.setX(-mDialogLayout.getResources().getDimensionPixelOffset(R.dimen._280sdp)); + } + + public void setTitle(@StringRes int textId) { + mTitleTextview.setText(textId); + mTitleTextview.setVisibility(View.VISIBLE); + mTitleDivider.setVisibility(View.VISIBLE); + } + + public final void setStartButtonListener(@StringRes int textId, @Nullable View.OnClickListener listener) { + setButton(mStartButton, textId, listener); + } + + public final void setEndButtonListener(@StringRes int textId, @Nullable View.OnClickListener listener) { + setButton(mEndButton, textId, listener); + } + + private void setButton(@NonNull Button button, @StringRes int textId, @Nullable View.OnClickListener listener) { + button.setText(textId); + button.setOnClickListener(listener); + button.setVisibility(View.VISIBLE); + } + + + + /** + * Slide the layout into the visible screen area + * @return Whether the layout position has changed + */ + @CallSuper + public boolean appear(boolean fromRight) { + boolean hasChanged = false; + if (fromRight) { + if (!mDisplaying || !isAtRight()) { + mSideDialogAnimator.setFloatValues(currentDisplayMetrics.widthPixels, currentDisplayMetrics.widthPixels - mScrollView.getWidth() - mMargin); + mSideDialogAnimator.start(); + hasChanged = true; + } + } else { + if (!mDisplaying || isAtRight()) { + mSideDialogAnimator.setFloatValues(-mDialogLayout.getWidth(), mMargin); + mSideDialogAnimator.start(); + hasChanged = true; + } + } + + mDisplaying = true; + return hasChanged; + } + + private boolean isAtRight() { + return mDialogLayout.getX() > currentDisplayMetrics.widthPixels / 2f; + } + + /** + * Slide out the layout + */ + @CallSuper + public void disappear() { + if (!mDisplaying) return; + + mDisplaying = false; + if (isAtRight()) + mSideDialogAnimator.setFloatValues(currentDisplayMetrics.widthPixels - mDialogLayout.getWidth() - mMargin, currentDisplayMetrics.widthPixels); + else + mSideDialogAnimator.setFloatValues(mMargin, -mDialogLayout.getWidth()); + + mSideDialogAnimator.start(); + } +} diff --git a/app_pojavlauncher/src/main/res/layout/dialog_side_dialog.xml b/app_pojavlauncher/src/main/res/layout/dialog_side_dialog.xml new file mode 100644 index 0000000000..69eccca263 --- /dev/null +++ b/app_pojavlauncher/src/main/res/layout/dialog_side_dialog.xml @@ -0,0 +1,79 @@ + + + + + + + + + + + + + +