feat(core/scripting): disable script optimization
Signed-off-by: rhunk <101876869+rhunk@users.noreply.github.com>
This commit is contained in:
@@ -1156,6 +1156,10 @@
|
||||
"disable_log_anonymization": {
|
||||
"name": "Disable Log Anonymization",
|
||||
"description": "Disables the anonymization of logs"
|
||||
},
|
||||
"disable_optimization": {
|
||||
"name": "Disable Optimization",
|
||||
"description": "Disables the optimization of scripts. This may cause performance issues."
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -9,4 +9,5 @@ class Scripting : ConfigContainer() {
|
||||
val autoReload = unique("auto_reload", "snapchat_only", "all")
|
||||
val integratedUI = boolean("integrated_ui", false) { requireRestart() }
|
||||
val disableLogAnonymization = boolean("disable_log_anonymization", false) { requireRestart() }
|
||||
val disableOptimization = boolean("disable_optimization", false) { requireRestart() }
|
||||
}
|
||||
@@ -15,8 +15,10 @@ import me.rhunk.snapenhance.common.scripting.ktx.scriptableObject
|
||||
import me.rhunk.snapenhance.common.scripting.type.ModuleInfo
|
||||
import me.rhunk.snapenhance.common.scripting.type.Permissions
|
||||
import me.rhunk.snapenhance.common.scripting.ui.InterfaceManager
|
||||
import org.mozilla.javascript.*
|
||||
import org.mozilla.javascript.Function
|
||||
import org.mozilla.javascript.ScriptableObject
|
||||
import org.mozilla.javascript.Undefined
|
||||
import org.mozilla.javascript.Wrapper
|
||||
import java.io.Reader
|
||||
import java.lang.reflect.Modifier
|
||||
import kotlin.reflect.KClass
|
||||
@@ -235,7 +237,7 @@ class JSModule(
|
||||
}
|
||||
}
|
||||
|
||||
contextScope(shouldOptimize = true) {
|
||||
contextScope(shouldOptimize = scriptRuntime.config().scripting.disableOptimization.getNullable() != true) {
|
||||
evaluateReader(moduleObject, reader, moduleInfo.name, 1, null)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,14 @@ import android.content.Context
|
||||
import android.os.ParcelFileDescriptor
|
||||
import me.rhunk.snapenhance.bridge.scripting.IScripting
|
||||
import me.rhunk.snapenhance.common.BuildConfig
|
||||
import me.rhunk.snapenhance.common.config.impl.RootConfig
|
||||
import me.rhunk.snapenhance.common.logger.AbstractLogger
|
||||
import me.rhunk.snapenhance.common.scripting.type.readModuleInfo
|
||||
import org.mozilla.javascript.ScriptableObject
|
||||
import java.io.InputStream
|
||||
|
||||
open class ScriptRuntime(
|
||||
val config: () -> RootConfig,
|
||||
val androidContext: Context,
|
||||
logger: AbstractLogger,
|
||||
) {
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
package me.rhunk.snapenhance.common.scripting.ktx
|
||||
|
||||
import com.faendir.rhino_android.RhinoAndroidHelper
|
||||
import org.mozilla.javascript.Context
|
||||
import org.mozilla.javascript.*
|
||||
import org.mozilla.javascript.Function
|
||||
import org.mozilla.javascript.Scriptable
|
||||
import org.mozilla.javascript.ScriptableObject
|
||||
import org.mozilla.javascript.Wrapper
|
||||
import java.io.File
|
||||
|
||||
private val rhinoAndroidHelper = RhinoAndroidHelper(null as File?)
|
||||
|
||||
Reference in New Issue
Block a user