Skip to content

Commit b7b0f11

Browse files
committed
Detect and notify user if app is already patched
1 parent 0afd483 commit b7b0f11

File tree

1 file changed

+18
-2
lines changed
  • app/src/main/java/io/github/chsbuffer/revancedxposed

1 file changed

+18
-2
lines changed

app/src/main/java/io/github/chsbuffer/revancedxposed/MainHook.kt

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.chsbuffer.revancedxposed
22

33
import android.app.Application
4+
import android.widget.Toast
45
import app.revanced.extension.shared.Utils
56
import de.robv.android.xposed.IXposedHookLoadPackage
67
import de.robv.android.xposed.IXposedHookZygoteInit
@@ -29,8 +30,7 @@ class MainHook : IXposedHookLoadPackage, IXposedHookZygoteInit {
2930
"com.reddit.frontpage" to { RedditHook(app, lpparam) },
3031
"com.google.android.apps.photos" to { GooglePhotosHook(lpparam) },
3132
"com.instagram.android" to { MetaHook(app, lpparam) },
32-
"com.instagram.barcelona" to { MetaHook(app, lpparam) }
33-
)
33+
"com.instagram.barcelona" to { MetaHook(app, lpparam) })
3434

3535
fun shouldHook(packageName: String): Boolean {
3636
if (!hooksByPackage.containsKey(packageName)) return false
@@ -45,10 +45,26 @@ class MainHook : IXposedHookLoadPackage, IXposedHookZygoteInit {
4545

4646
inContext(lpparam) { app ->
4747
this.app = app
48+
if (isReVancedPatched(lpparam)) {
49+
Utils.showToastLong("ReVanced Xposed module does not work with patched app")
50+
return@inContext
51+
}
4852
hooksByPackage[lpparam.packageName]?.invoke()?.Hook()
4953
}
5054
}
5155

56+
private fun isReVancedPatched(lpparam: LoadPackageParam): Boolean {
57+
return runCatching {
58+
lpparam.classLoader.loadClass("app.revanced.extension.shared.Utils")
59+
}.isSuccess || runCatching {
60+
lpparam.classLoader.loadClass("app.revanced.extension.shared.utils.Utils")
61+
}.isSuccess || runCatching {
62+
lpparam.classLoader.loadClass("app.revanced.integrations.shared.Utils")
63+
}.isSuccess || runCatching {
64+
lpparam.classLoader.loadClass("app.revanced.integrations.shared.utils.Utils")
65+
}.isSuccess
66+
}
67+
5268
override fun initZygote(startupParam: StartupParam) {
5369
this.startupParam = startupParam
5470
XposedInit = startupParam

0 commit comments

Comments
 (0)