Skip to content

Commit 2fffafa

Browse files
committed
hint if module not enabled
1 parent 2e4d904 commit 2fffafa

3 files changed

Lines changed: 35 additions & 1 deletion

File tree

app/src/main/java/moe/lyniko/hiderecent/MainActivity.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,19 @@ class MainActivity : ComponentActivity() {
7171
Log.w(BuildConfig.APPLICATION_ID, "Wrong user id: $userId")
7272
}
7373

74+
if (!ModuleStatus.isActive()) {
75+
LaunchedEffect(snackbarHostState) {
76+
scope.launch {
77+
snackbarHostState.showSnackbar(
78+
getString(R.string.not_activated),
79+
actionLabel = getString(R.string.dismiss_notification),
80+
duration = SnackbarDuration.Indefinite
81+
)
82+
}
83+
}
84+
Log.w(BuildConfig.APPLICATION_ID, "Module is not activated")
85+
}
86+
7487
// check shizuku
7588
if (isShizukuNeeded(this) && !isShizukuAvailable()) {
7689
LaunchedEffect(snackbarHostState) {

app/src/main/java/moe/lyniko/hiderecent/MainHook.kt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import de.robv.android.xposed.IXposedHookLoadPackage
66
import de.robv.android.xposed.XC_MethodHook
77
import de.robv.android.xposed.XposedBridge
88
import de.robv.android.xposed.XSharedPreferences
9+
import de.robv.android.xposed.XC_MethodReplacement
910
import de.robv.android.xposed.XposedHelpers.callMethod
1011
import de.robv.android.xposed.XposedHelpers.findAndHookMethod
1112
import de.robv.android.xposed.XposedHelpers.getObjectField
@@ -15,7 +16,21 @@ import moe.lyniko.hiderecent.utils.PreferenceUtils
1516
class MainHook : IXposedHookLoadPackage {
1617

1718
override fun handleLoadPackage(lpparam: LoadPackageParam) {
18-
if (lpparam.packageName == "android") onAppHooked(lpparam)
19+
when (lpparam.packageName) {
20+
BuildConfig.APPLICATION_ID -> hookSelf(lpparam)
21+
"android" -> onAppHooked(lpparam)
22+
}
23+
}
24+
25+
private fun hookSelf(lpparam: LoadPackageParam) {
26+
installHook("ModuleStatus.isActive") {
27+
findAndHookMethod(
28+
ModuleStatus::class.java.name,
29+
lpparam.classLoader,
30+
"isActive",
31+
XC_MethodReplacement.returnConstant(true)
32+
)
33+
}
1934
}
2035

2136
private fun onAppHooked(lpparam: LoadPackageParam) {
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package moe.lyniko.hiderecent
2+
3+
object ModuleStatus {
4+
@JvmStatic
5+
fun isActive(): Boolean = false
6+
}

0 commit comments

Comments
 (0)