From 0f0fc1645ae4705ef50ce095e0df016623dc7ec9 Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Wed, 15 Oct 2025 00:53:30 +0700 Subject: [PATCH] chore: move `showRecoveryAlert` to `Utils` --- .../kotlin/io/github/revenge/xposed/Utils.kt | 30 +++++++++++++++++ .../revenge/xposed/modules/LogBoxModule.kt | 33 ++----------------- .../revenge/xposed/modules/UpdaterModule.kt | 3 +- 3 files changed, 34 insertions(+), 32 deletions(-) diff --git a/app/src/main/kotlin/io/github/revenge/xposed/Utils.kt b/app/src/main/kotlin/io/github/revenge/xposed/Utils.kt index 0ec4738..f001622 100644 --- a/app/src/main/kotlin/io/github/revenge/xposed/Utils.kt +++ b/app/src/main/kotlin/io/github/revenge/xposed/Utils.kt @@ -1,8 +1,12 @@ package io.github.revenge.xposed +import android.app.AlertDialog import android.app.AndroidAppHelper +import android.content.Context import android.content.Intent +import io.github.revenge.xposed.modules.UpdaterModule import kotlinx.serialization.json.Json +import java.io.File import kotlin.system.exitProcess class Utils { @@ -15,6 +19,32 @@ class Utils { application.startActivity(Intent.makeRestartActivityTask(intent!!.component)) exitProcess(0) } + + fun showRecoveryAlert(context: Context) { + AlertDialog.Builder(context).setTitle("Revenge Recovery Options") + .setItems(arrayOf("Reload", "Delete Script", "Reset Loader Config")) { _, which -> + when (which) { + 0 -> { + reloadApp() + } + + 1 -> { + val bundleFile = File( + context.dataDir, "${Constants.CACHE_DIR}/${Constants.MAIN_SCRIPT_FILE}" + ) + + if (bundleFile.exists()) bundleFile.delete() + + reloadApp() + } + + 2 -> { + UpdaterModule.resetLoaderConfig(context) + reloadApp() + } + } + }.show() + } } object Log { diff --git a/app/src/main/kotlin/io/github/revenge/xposed/modules/LogBoxModule.kt b/app/src/main/kotlin/io/github/revenge/xposed/modules/LogBoxModule.kt index 4b4c2d2..81c580e 100644 --- a/app/src/main/kotlin/io/github/revenge/xposed/modules/LogBoxModule.kt +++ b/app/src/main/kotlin/io/github/revenge/xposed/modules/LogBoxModule.kt @@ -1,13 +1,12 @@ package io.github.revenge.xposed.modules -import android.app.AlertDialog import android.content.Context import de.robv.android.xposed.callbacks.XC_LoadPackage import io.github.revenge.xposed.Constants import io.github.revenge.xposed.Module +import io.github.revenge.xposed.Utils import io.github.revenge.xposed.Utils.Companion.reloadApp import io.github.revenge.xposed.Utils.Log -import java.io.File class LogBoxModule : Module() { lateinit var packageParam: XC_LoadPackage.LoadPackageParam @@ -51,7 +50,7 @@ class LogBoxModule : Module() { showDevOptionsDialogMethod.hook { before { try { - showRecoveryAlert(context) + Utils.showRecoveryAlert(context) } catch (ex: Exception) { Log.e("Failed to show dev options dialog: $ex") } @@ -61,32 +60,4 @@ class LogBoxModule : Module() { } } } - - companion object { - fun showRecoveryAlert(context: Context) { - AlertDialog.Builder(context).setTitle("Revenge Recovery Options") - .setItems(arrayOf("Reload", "Delete Script", "Reset Loader Config")) { _, which -> - when (which) { - 0 -> { - reloadApp() - } - - 1 -> { - val bundleFile = File( - context.dataDir, "${Constants.CACHE_DIR}/${Constants.MAIN_SCRIPT_FILE}" - ) - - if (bundleFile.exists()) bundleFile.delete() - - reloadApp() - } - - 2 -> { - UpdaterModule.resetLoaderConfig(context) - reloadApp() - } - } - }.show() - } - } } \ No newline at end of file diff --git a/app/src/main/kotlin/io/github/revenge/xposed/modules/UpdaterModule.kt b/app/src/main/kotlin/io/github/revenge/xposed/modules/UpdaterModule.kt index 3480081..2427d87 100644 --- a/app/src/main/kotlin/io/github/revenge/xposed/modules/UpdaterModule.kt +++ b/app/src/main/kotlin/io/github/revenge/xposed/modules/UpdaterModule.kt @@ -9,6 +9,7 @@ import androidx.core.util.writeBytes import de.robv.android.xposed.callbacks.XC_LoadPackage import io.github.revenge.xposed.Constants import io.github.revenge.xposed.Module +import io.github.revenge.xposed.Utils import io.github.revenge.xposed.Utils.Companion.JSON import io.github.revenge.xposed.Utils.Companion.reloadApp import io.github.revenge.xposed.Utils.Log @@ -157,7 +158,7 @@ object UpdaterModule : Module() { Toast.makeText(activity, "Retrying download in background...", Toast.LENGTH_SHORT).show() dialog.dismiss() }.setNeutralButton("Recovery") { dialog, _ -> - LogBoxModule.showRecoveryAlert(activity) + Utils.showRecoveryAlert(activity) dialog.dismiss() }.show() }