From 7cfc42ce8cf21049384b4a08bc221cf2a5593210 Mon Sep 17 00:00:00 2001 From: OTKUSteyler Date: Fri, 25 Sep 2026 19:18:33 +0200 Subject: [PATCH] Add files via upload --- .../modules/LogBox/CustomBundleDialog.kt | 4 +-- .../modules/LogBox/FlavorSelectionMenu.kt | 2 +- .../xposed/modules/LogBox/LogBoxActions.kt | 8 ++--- .../xposed/modules/LogBox/LogBoxComponents.kt | 2 +- .../xposed/modules/LogBox/LogBoxConstants.kt | 2 +- .../xposed/modules/LogBox/LogBoxDialogs.kt | 4 +-- .../xposed/modules/LogBox/LogBoxMenu.kt | 10 +++--- .../xposed/modules/LogBox/LogBoxModule.kt | 32 +++++++---------- .../xposed/modules/LogBox/LogBoxNavigation.kt | 2 +- .../xposed/modules/LogBox/LogBoxTheme.kt | 4 +-- .../xposed/modules/LogBox/LogBoxUtils.kt | 6 ++-- .../xposed/modules/LogBox/OptionsMenu.kt | 35 +++++++------------ .../xposed/modules/LogBox/RecoveryMenu.kt | 10 +++--- 13 files changed, 52 insertions(+), 69 deletions(-) diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/CustomBundleDialog.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/CustomBundleDialog.kt index 00f3299..5311e9c 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/CustomBundleDialog.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/CustomBundleDialog.kt @@ -1,4 +1,4 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.app.AlertDialog import android.content.Context @@ -62,7 +62,7 @@ object CustomBundleDialog { container.addView(toggleContainer) val urlInput = EditText(context).apply { - hint = "http://localhost:4040/shiggycord.js" + hint = "http://localhost:4040/gooncord.js" setTextColor(colors.onSurface) setHintTextColor(colors.onSurfaceVariant) background = LogBoxUtils.createM3Background(context, colors.surfaceVariant, 12f) diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/FlavorSelectionMenu.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/FlavorSelectionMenu.kt index 1ea94dc..fdb326a 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/FlavorSelectionMenu.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/FlavorSelectionMenu.kt @@ -1,4 +1,4 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.app.AlertDialog import android.content.Context diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxActions.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxActions.kt index 531ddaa..d45bfb3 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxActions.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxActions.kt @@ -1,12 +1,12 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.content.Context import android.widget.Toast import org.json.JSONObject import java.io.File -import ShiggyXposed.xposed.Utils.Log -import ShiggyXposed.xposed.Utils.Companion.reloadApp -import ShiggyXposed.xposed.Constants +import GoonXposed.xposed.Utils.Log +import GoonXposed.xposed.Utils.Companion.reloadApp +import GoonXposed.xposed.Constants import kotlinx.coroutines.* object LogBoxActions { diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxComponents.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxComponents.kt index 2f7f58a..5016cd2 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxComponents.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxComponents.kt @@ -1,4 +1,4 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.content.Context import android.content.res.ColorStateList diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxConstants.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxConstants.kt index f38bdce..e8c72e1 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxConstants.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxConstants.kt @@ -1,4 +1,4 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.graphics.Color diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxDialogs.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxDialogs.kt index 8c145f5..e1f378d 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxDialogs.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxDialogs.kt @@ -1,11 +1,11 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.app.AlertDialog import android.content.Context import android.graphics.Color import android.view.ViewGroup import android.widget.LinearLayout -import ShiggyXposed.xposed.Utils.Log +import GoonXposed.xposed.Utils.Log object LogBoxDialogs { diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxMenu.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxMenu.kt index cfe2f79..ba5939f 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxMenu.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxMenu.kt @@ -1,4 +1,4 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.app.AlertDialog import android.content.Context @@ -14,8 +14,8 @@ import android.content.res.ColorStateList import android.view.animation.DecelerateInterpolator import org.json.JSONObject import java.io.File -import ShiggyXposed.xposed.Utils.Log -import ShiggyXposed.xposed.Utils +import GoonXposed.xposed.Utils.Log +import GoonXposed.xposed.Utils object LogBoxMenu { @@ -30,7 +30,7 @@ object LogBoxMenu { val container = createMenuContainer(context, colors) // Title - container.addView(createTitle(context, colors, "ShiggyXposed Recovery", center = true)) + container.addView(createTitle(context, colors, "GoonXposed Recovery", center = true)) // Subtitle container.addView(createSubtitle(context, colors, "Select an option to continue")) @@ -782,7 +782,7 @@ object LogBoxMenu { ) { LogBoxActions.refetchBundle(context) } 2 -> showCustomBundleDialog(context) - 3 -> ShiggyXposed.xposed.Utils.Companion.reloadApp() + 3 -> Utils.reloadApp() 4 -> showConfirmAction( context, "Clear Cache & Reset", "This will clear all cached bundles and reset to default settings." diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxModule.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxModule.kt index b6c9457..c38dadb 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxModule.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxModule.kt @@ -1,13 +1,17 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox -import ShiggyXposed.xposed.Module -import ShiggyXposed.xposed.Utils.Log +import GoonXposed.xposed.Constants +import GoonXposed.xposed.Module +import GoonXposed.xposed.Utils.Log +import GoonXposed.xposed.hook import android.content.Context +import de.robv.android.xposed.XC_MethodHook.MethodHookParam import de.robv.android.xposed.XC_MethodReplacement import de.robv.android.xposed.XposedBridge import de.robv.android.xposed.XposedHelpers import de.robv.android.xposed.callbacks.XC_LoadPackage import kotlinx.coroutines.* +import java.io.File object LogBoxModule : Module() { lateinit var packageParam: XC_LoadPackage.LoadPackageParam @@ -24,7 +28,12 @@ object LogBoxModule : Module() { getUseDeveloperSupportMethod.hook { before { - result = true + // Only enable dev support when the injected bundle is already present. A fresh + // install (no bundle yet) must load Discord's own bundle; otherwise React Native + // waits for a Metro packager and Discord never opens. + result = File( + appInfo.dataDir, "${Constants.CACHE_DIR}/${Constants.MAIN_SCRIPT_FILE}" + ).exists() } } Log.e("Successfully hooked DCDReactNativeHost") @@ -89,21 +98,6 @@ object LogBoxModule : Module() { } try { - try { - val handleReloadJSMethod = clazz.methods.firstOrNull { it.name == "handleReloadJS" } - if (handleReloadJSMethod != null) { - XposedBridge.hookMethod(handleReloadJSMethod, object : XC_MethodReplacement() { - override fun replaceHookedMethod(param: MethodHookParam): Any? { - Log.e("handleReloadJS called - reloading app") - ShiggyXposed.xposed.Utils.Companion.reloadApp() - return null - } - }) - } - } catch (e: Exception) { - Log.e("Failed to hook handleReloadJS: ${e.message}") - } - try { val showDevOptionsDialogMethod = clazz.methods.firstOrNull { it.name == "showDevOptionsDialog" } if (showDevOptionsDialogMethod != null) { diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxNavigation.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxNavigation.kt index 71dc024..113aad0 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxNavigation.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxNavigation.kt @@ -1,4 +1,4 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.content.Context diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxTheme.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxTheme.kt index 1f0316d..f92ba52 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxTheme.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxTheme.kt @@ -1,10 +1,10 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.content.Context import android.graphics.Color import org.json.JSONObject import java.io.File -import ShiggyXposed.xposed.Utils.Log +import GoonXposed.xposed.Utils.Log object LogBoxTheme { diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxUtils.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxUtils.kt index fc6f52f..5b65df6 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxUtils.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/LogBoxUtils.kt @@ -1,4 +1,4 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.content.Context import android.util.TypedValue @@ -9,8 +9,8 @@ import android.view.View import android.widget.Toast import org.json.JSONObject import java.io.File -import ShiggyXposed.xposed.Constants -import ShiggyXposed.xposed.Utils.Log +import GoonXposed.xposed.Constants +import GoonXposed.xposed.Utils.Log object LogBoxUtils { diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/OptionsMenu.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/OptionsMenu.kt index 269385e..2da8ccb 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/OptionsMenu.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/OptionsMenu.kt @@ -1,4 +1,4 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.app.AlertDialog import android.content.Context @@ -19,40 +19,29 @@ object OptionsMenu { container.addView(LogBoxComponents.createM3Button(context, injectionText, colors) { dialog.dismiss() LogBoxActions.toggleBundleInjection(context) + GoonXposed.xposed.Utils.Companion.reloadApp() }) container.addView(LogBoxComponents.createM3Button(context, "Refetch Bundle", colors) { dialog.dismiss() - RecoveryMenu::class.java.getDeclaredMethod( - "showConfirmAction", - Context::class.java, - String::class.java, - String::class.java, - Runnable::class.java - ).apply { isAccessible = true }.invoke( - null, + RecoveryMenu.showConfirmAction( context, "Refetch Bundle", - "This will download the latest bundle from Github.", - Runnable { LogBoxActions.refetchBundle(context) } - ) + "This will download the latest bundle from Github." + ) { + LogBoxActions.refetchBundle(context) + } }) container.addView(LogBoxComponents.createM3Button(context, "Clear Cache & Reset", colors) { dialog.dismiss() - RecoveryMenu::class.java.getDeclaredMethod( - "showConfirmAction", - Context::class.java, - String::class.java, - String::class.java, - Runnable::class.java - ).apply { isAccessible = true }.invoke( - null, + RecoveryMenu.showConfirmAction( context, "Clear Cache & Reset", - "This will clear all cached bundles and reset to default settings.", - Runnable { LogBoxActions.clearCacheAndReset(context) } - ) + "This will clear all cached bundles and reset to default settings." + ) { + LogBoxActions.clearCacheAndReset(context) + } }) container.addView(LogBoxComponents.createM3Button(context, "Back", colors) { diff --git a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/RecoveryMenu.kt b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/RecoveryMenu.kt index 37dd375..d5d258f 100644 --- a/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/RecoveryMenu.kt +++ b/app/src/main/kotlin/ShiggyXposed/xposed/xposed/modules/LogBox/RecoveryMenu.kt @@ -1,9 +1,9 @@ -package ShiggyXposed.xposed.modules.LogBox +package GoonXposed.xposed.modules.LogBox import android.app.AlertDialog import android.content.Context import android.widget.LinearLayout -import ShiggyXposed.xposed.Utils.Log +import GoonXposed.xposed.Utils.Log object RecoveryMenu { @@ -15,7 +15,7 @@ object RecoveryMenu { val container = LogBoxComponents.createMenuContainer(context, colors) - container.addView(LogBoxComponents.createTitle(context, colors, "ShiggyXposed Recovery", center = true)) + container.addView(LogBoxComponents.createTitle(context, colors, "GoonXposed Recovery", center = true)) container.addView(LogBoxComponents.createSubtitle(context, colors, "Select an option to continue")) val safeModeText = if (LogBoxUtils.isSafeModeEnabled(context)) "Disable Safe Mode" else "Enable Safe Mode" @@ -63,7 +63,7 @@ object RecoveryMenu { } 2 -> CustomBundleDialog.showCustomBundleDialog(context) - 3 -> ShiggyXposed.xposed.Utils.Companion.reloadApp() + 3 -> GoonXposed.xposed.Utils.Companion.reloadApp() 4 -> showConfirmAction( context, "Clear Cache & Reset", @@ -76,7 +76,7 @@ object RecoveryMenu { } } - private fun showConfirmAction(context: Context, title: String, message: String, action: () -> Unit) { + fun showConfirmAction(context: Context, title: String, message: String, action: () -> Unit) { val colors = LogBoxTheme.getM3Colors(context) val container = LogBoxComponents.createMenuContainer(context, colors)