From 614f9ced6fd8bd57aecdda0e46612374e2ac669c Mon Sep 17 00:00:00 2001 From: PalmDevs Date: Mon, 13 Oct 2025 03:49:58 +0700 Subject: [PATCH] feat: add Reset Loader Config in Recovery dialog, show Recovery option in Update Failed dialog --- .../revenge/xposed/modules/LogBoxModule.kt | 37 ++++++++++++------- .../revenge/xposed/modules/UpdaterModule.kt | 10 +++++ 2 files changed, 33 insertions(+), 14 deletions(-) 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 3907170..4b4c2d2 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 @@ -62,22 +62,31 @@ class LogBoxModule : Module() { } } - private fun showRecoveryAlert(context: Context) { - AlertDialog.Builder(context).setTitle("Revenge Recovery Options") - .setItems(arrayOf("Reload", "Delete bundle.js")) { _, which -> - when (which) { - 0 -> { - reloadApp() - } + 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(packageParam.appInfo.dataDir, "${Constants.CACHE_DIR}/${Constants.MAIN_SCRIPT_FILE}") - if (bundleFile.exists()) bundleFile.delete() + 1 -> { + val bundleFile = File( + context.dataDir, "${Constants.CACHE_DIR}/${Constants.MAIN_SCRIPT_FILE}" + ) - reloadApp() + if (bundleFile.exists()) bundleFile.delete() + + reloadApp() + } + + 2 -> { + UpdaterModule.resetLoaderConfig(context) + reloadApp() + } } - } - }.show() + }.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 27d274e..3480081 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 @@ -2,6 +2,7 @@ package io.github.revenge.xposed.modules import android.app.Activity import android.app.AlertDialog +import android.content.Context import android.util.AtomicFile import android.widget.Toast import androidx.core.util.writeBytes @@ -155,7 +156,16 @@ object UpdaterModule : Module() { downloadScript(activity) Toast.makeText(activity, "Retrying download in background...", Toast.LENGTH_SHORT).show() dialog.dismiss() + }.setNeutralButton("Recovery") { dialog, _ -> + LogBoxModule.showRecoveryAlert(activity) + dialog.dismiss() }.show() } } + + fun resetLoaderConfig(context: Context) { + val filesDir = File(context.dataDir, Constants.FILES_DIR) + val config = File(filesDir, CONFIG_FILE) + if (config.exists()) config.delete() + } }