feat: more native bridge methods
This commit is contained in:
parent
06878b3135
commit
21d693290a
3 changed files with 50 additions and 1 deletions
|
|
@ -9,9 +9,11 @@ class Constants {
|
|||
const val CACHE_DIR = "cache/pyoncord"
|
||||
const val MAIN_SCRIPT_FILE = "bundle.js"
|
||||
|
||||
|
||||
const val LOG_TAG = "Revenge"
|
||||
|
||||
const val LOADER_NAME = "RevengeXposed"
|
||||
|
||||
const val USER_AGENT = "RevengeXposed"
|
||||
}
|
||||
}
|
||||
|
|
@ -11,6 +11,7 @@ import io.github.revenge.xposed.modules.*
|
|||
import io.github.revenge.xposed.modules.appearance.FontsModule
|
||||
import io.github.revenge.xposed.modules.appearance.SysColorsModule
|
||||
import io.github.revenge.xposed.modules.appearance.ThemeModule
|
||||
import io.github.revenge.xposed.modules.bridge.AdditionalBridgeMethodsModule
|
||||
import io.github.revenge.xposed.modules.bridge.BridgeModule
|
||||
|
||||
class Main : Module(), IXposedHookLoadPackage, IXposedHookZygoteInit {
|
||||
|
|
@ -18,12 +19,13 @@ class Main : Module(), IXposedHookLoadPackage, IXposedHookZygoteInit {
|
|||
private val modules = mutableListOf(
|
||||
HookScriptLoaderModule(),
|
||||
BridgeModule(),
|
||||
AdditionalBridgeMethodsModule(),
|
||||
UpdaterModule(),
|
||||
FixResourcesModule(),
|
||||
LogBoxModule(),
|
||||
FontsModule(),
|
||||
ThemeModule(),
|
||||
SysColorsModule(),
|
||||
SysColorsModule()
|
||||
)
|
||||
|
||||
init {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
package io.github.revenge.xposed.modules.bridge
|
||||
|
||||
import android.app.AlertDialog
|
||||
import android.content.ClipData
|
||||
import android.content.ClipboardManager
|
||||
import android.content.Context
|
||||
import android.os.Build
|
||||
import android.widget.Toast
|
||||
import io.github.revenge.xposed.Module
|
||||
|
||||
class AdditionalBridgeMethodsModule : Module() {
|
||||
override fun onContext(context: Context) = with(context) {
|
||||
BridgeModule.registerMethod("revenge.alertError") {
|
||||
val (error, version) = it
|
||||
val app = getAppInfo()
|
||||
val errorString = "$error"
|
||||
|
||||
val clipboard = applicationContext.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager
|
||||
val clip = ClipData.newPlainText("Stack Trace", errorString)
|
||||
|
||||
AlertDialog.Builder(this)
|
||||
.setTitle("Revenge Error")
|
||||
.setMessage(
|
||||
"""
|
||||
Revenge: $version
|
||||
${app.name}: ${app.version} (${app.versionCode})
|
||||
Device: ${Build.MANUFACTURER} ${Build.MODEL}
|
||||
|
||||
|
||||
""".trimIndent() + errorString
|
||||
)
|
||||
.setPositiveButton("OK") { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
}
|
||||
.setNeutralButton("Copy") { dialog, _ ->
|
||||
clipboard.setPrimaryClip(clip)
|
||||
Toast.makeText(applicationContext, "Copied stack trace", Toast.LENGTH_SHORT).show()
|
||||
dialog.dismiss()
|
||||
}
|
||||
.show()
|
||||
|
||||
null
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue