feat(core): disable permission requests

This commit is contained in:
rhunk
2024-02-04 00:07:37 +01:00
parent 9ff818b546
commit 283f0266d9
4 changed files with 56 additions and 0 deletions

View File

@@ -0,0 +1,24 @@
package me.rhunk.snapenhance.core.features.impl.tweaks
import android.content.ContextWrapper
import android.content.pm.PackageManager
import me.rhunk.snapenhance.common.config.impl.Global
import me.rhunk.snapenhance.core.features.Feature
import me.rhunk.snapenhance.core.features.FeatureLoadParams
import me.rhunk.snapenhance.core.util.hook.HookStage
import me.rhunk.snapenhance.core.util.hook.hook
class DisablePermissionRequests : Feature("Disable Permission Requests", loadParams = FeatureLoadParams.INIT_SYNC) {
override fun init() {
val deniedPermissions by context.config.global.disablePermissionRequests
if (deniedPermissions.isEmpty()) return
ContextWrapper::class.java.hook("checkPermission", HookStage.BEFORE) { param ->
val permission = param.arg<String>(0)
val permissionKey = Global.permissionMap[permission] ?: return@hook
if (deniedPermissions.contains(permissionKey)) {
param.setResult(PackageManager.PERMISSION_GRANTED)
}
}
}
}

View File

@@ -19,6 +19,7 @@ import me.rhunk.snapenhance.core.features.impl.messaging.*
import me.rhunk.snapenhance.core.features.impl.spying.*
import me.rhunk.snapenhance.core.features.impl.tweaks.BypassScreenshotDetection
import me.rhunk.snapenhance.core.features.impl.tweaks.CameraTweaks
import me.rhunk.snapenhance.core.features.impl.tweaks.DisablePermissionRequests
import me.rhunk.snapenhance.core.features.impl.tweaks.PreventMessageListAutoScroll
import me.rhunk.snapenhance.core.features.impl.tweaks.UnsaveableMessages
import me.rhunk.snapenhance.core.features.impl.ui.*
@@ -117,6 +118,7 @@ class FeatureManager(
SpotlightCommentsUsername(),
OperaViewerParamsOverride(),
StealthModeIndicator(),
DisablePermissionRequests(),
)
initializeFeatures()