From 11d35b3e5ffebc50479464b23c12cd1fb3edce8d Mon Sep 17 00:00:00 2001 From: frknkrc44 Date: Sat, 11 Oct 2025 16:52:46 +0300 Subject: [PATCH] Add new apps into presets, move detector/checker apps into new preset This commit also fixes the apps are not hidden from the Play Store. NOTE: DO NOT enable the "Detector/Checker apps" preset for the Play Store, otherwise you cannot check for the Play Integrity. --- app/src/main/res/values/strings.xml | 1 + .../hidemyapplist/common/AppPresets.kt | 2 + .../hidemyapplist/common/CommonUtils.kt | 4 +- .../common/app_presets/CustomROMPreset.kt | 2 +- .../common/app_presets/DetectorAppsPreset.kt | 58 +++++++++++++++++++ .../common/app_presets/RootAppsPreset.kt | 2 +- .../app_presets/SuspiciousAppsPreset.kt | 49 ++-------------- .../common/app_presets/XposedModulesPreset.kt | 2 +- 8 files changed, 70 insertions(+), 50 deletions(-) create mode 100644 common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/DetectorAppsPreset.kt diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index fe26edb..5044e5e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -114,6 +114,7 @@ Root managers/Rooted apps Custom ROM apps Suspicious apps + Detector/Checker apps Accessibility diff --git a/common/src/main/java/icu/nullptr/hidemyapplist/common/AppPresets.kt b/common/src/main/java/icu/nullptr/hidemyapplist/common/AppPresets.kt index 34af98d..88dc5e0 100644 --- a/common/src/main/java/icu/nullptr/hidemyapplist/common/AppPresets.kt +++ b/common/src/main/java/icu/nullptr/hidemyapplist/common/AppPresets.kt @@ -8,6 +8,7 @@ import icu.nullptr.hidemyapplist.common.Utils.getInstalledApplicationsCompat import icu.nullptr.hidemyapplist.common.Utils.getPackageInfoCompat import icu.nullptr.hidemyapplist.common.app_presets.BasePreset import icu.nullptr.hidemyapplist.common.app_presets.CustomROMPreset +import icu.nullptr.hidemyapplist.common.app_presets.DetectorAppsPreset import icu.nullptr.hidemyapplist.common.app_presets.RootAppsPreset import icu.nullptr.hidemyapplist.common.app_presets.SuspiciousAppsPreset import icu.nullptr.hidemyapplist.common.app_presets.XposedModulesPreset @@ -100,6 +101,7 @@ class AppPresets private constructor() { presetList.add(RootAppsPreset()) presetList.add(XposedModulesPreset()) presetList.add(SuspiciousAppsPreset()) + presetList.add(DetectorAppsPreset()) } } diff --git a/common/src/main/java/icu/nullptr/hidemyapplist/common/CommonUtils.kt b/common/src/main/java/icu/nullptr/hidemyapplist/common/CommonUtils.kt index 41c51fe..1bad88c 100644 --- a/common/src/main/java/icu/nullptr/hidemyapplist/common/CommonUtils.kt +++ b/common/src/main/java/icu/nullptr/hidemyapplist/common/CommonUtils.kt @@ -6,8 +6,8 @@ import icu.nullptr.hidemyapplist.common.Constants.GSF_PACKAGE_NAME import icu.nullptr.hidemyapplist.common.Constants.VENDING_PACKAGE_NAME object CommonUtils { - val gmsPackages = arrayOf(GMS_PACKAGE_NAME, GSF_PACKAGE_NAME, VENDING_PACKAGE_NAME) - val riskyPackages = arrayOf() + gmsPackages + val gmsPackages = arrayOf(GMS_PACKAGE_NAME, GSF_PACKAGE_NAME) + val riskyPackages = arrayOf(VENDING_PACKAGE_NAME) + gmsPackages val isAppDataIsolationEnabled: Boolean get() = SystemProperties.getBoolean(Constants.ANDROID_APP_DATA_ISOLATION_ENABLED_PROPERTY, true) diff --git a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/CustomROMPreset.kt b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/CustomROMPreset.kt index 96e6c4d..23b6227 100644 --- a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/CustomROMPreset.kt +++ b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/CustomROMPreset.kt @@ -3,7 +3,7 @@ package icu.nullptr.hidemyapplist.common.app_presets import android.content.pm.ApplicationInfo import icu.nullptr.hidemyapplist.common.Utils -class CustomROMPreset() : BasePreset("custom_rom") { +class CustomROMPreset : BasePreset("custom_rom") { override val exactPackageNames = setOf( "io.chaldeaprjkt.gamespace" ) diff --git a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/DetectorAppsPreset.kt b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/DetectorAppsPreset.kt new file mode 100644 index 0000000..63cae31 --- /dev/null +++ b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/DetectorAppsPreset.kt @@ -0,0 +1,58 @@ +package icu.nullptr.hidemyapplist.common.app_presets + +import android.content.pm.ApplicationInfo + +class DetectorAppsPreset : BasePreset("detector_apps") { + override val exactPackageNames = setOf( + // Detector apps + "com.reveny.nativecheck", + "icu.nullptr.nativetest", + "io.github.rabehx.securify", + "com.zhenxi.hunter", + "io.github.vvb2060.mahoshojo", + "io.github.huskydg.memorydetector", + "org.akanework.checker", + "icu.nullptr.applistdetector", + "com.byxiaorun.detector", + "com.kimchangyoun.rootbeerFresh.sample", + "com.androidfung.drminfo", + "com.kikyps.crackme", + "org.matrix.demo", + "com.rem01gaming.disclosure", + "luna.safe.luna", + "com.AndroLua", + "com.detect.mt", + "io.liankong.riskdetector", + "com.suisho.rc", + "com.ahmed.security_tester", + "id.my.pjm.qbcd_okr_dvii", + "wu.Zygisk.Detector", + "com.atominvention.rootchecker", + + // Play Integrity checkers + "krypton.tbsafetychecker", + "gr.nikolasspyr.integritycheck", + "com.henrikherzig.playintegritychecker", + "com.thend.integritychecker", + "com.flinkapps.safteynet", + + // Other checkers + "com.bryancandi.knoxcheck", + ) + + override fun canBeAddedIntoPreset(appInfo: ApplicationInfo): Boolean { + val packageName = appInfo.packageName + + // All Garfield packages + if (packageName.startsWith("me.garfieldhan.")) { + return true + } + + // Key attestation apps + if (packageName.endsWith(".keyattestation")) { + return true + } + + return false + } +} \ No newline at end of file diff --git a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/RootAppsPreset.kt b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/RootAppsPreset.kt index 8bea745..ce77b9a 100644 --- a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/RootAppsPreset.kt +++ b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/RootAppsPreset.kt @@ -4,7 +4,7 @@ import android.content.pm.ApplicationInfo import icu.nullptr.hidemyapplist.common.Utils import java.util.zip.ZipFile -class RootAppsPreset() : BasePreset("root_apps") { +class RootAppsPreset : BasePreset("root_apps") { override val exactPackageNames = setOf( // rooted apps "io.github.a13e300.ksuwebui", diff --git a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/SuspiciousAppsPreset.kt b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/SuspiciousAppsPreset.kt index 9276225..9bdf27c 100644 --- a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/SuspiciousAppsPreset.kt +++ b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/SuspiciousAppsPreset.kt @@ -6,45 +6,14 @@ import java.util.zip.ZipFile class SuspiciousAppsPreset : BasePreset("sus_apps") { override val exactPackageNames = setOf( "com.reveny.vbmetafix.service", + "com.microsoft.rdc.androidx", + "berserker.android.apps.sshdroid", + + // File managers "com.speedsoftware.rootexplorer", "me.zhanghai.android.files", "com.lonelycatgames.Xplore", "org.fossify.filemanager", - - // Detector apps - "com.reveny.nativecheck", - "icu.nullptr.nativetest", - "io.github.rabehx.securify", - "com.zhenxi.hunter", - "io.github.vvb2060.mahoshojo", - "io.github.huskydg.memorydetector", - "org.akanework.checker", - "icu.nullptr.applistdetector", - "com.byxiaorun.detector", - "com.kimchangyoun.rootbeerFresh.sample", - "com.androidfung.drminfo", - "com.kikyps.crackme", - "org.matrix.demo", - "com.rem01gaming.disclosure", - "luna.safe.luna", - "com.AndroLua", - "com.detect.mt", - "io.liankong.riskdetector", - "com.suisho.rc", - "com.ahmed.security_tester", - "id.my.pjm.qbcd_okr_dvii", - "wu.Zygisk.Detector", - "com.atominvention.rootchecker", - - // Play Integrity checkers - "krypton.tbsafetychecker", - "gr.nikolasspyr.integritycheck", - "com.henrikherzig.playintegritychecker", - "com.thend.integritychecker", - "com.flinkapps.safteynet", - - // Other checkers - "com.bryancandi.knoxcheck", ) val libNames = arrayOf( @@ -68,11 +37,6 @@ class SuspiciousAppsPreset : BasePreset("sus_apps") { return true } - // All Garfield packages - if (packageName.startsWith("me.garfieldhan.")) { - return true - } - // All Shizuku apps if (packageName.startsWith("moe.shizuku.")) { return true @@ -108,11 +72,6 @@ class SuspiciousAppsPreset : BasePreset("sus_apps") { return true } - // Key attestation apps - if (packageName.endsWith(".keyattestation")) { - return true - } - ZipFile(appInfo.sourceDir).use { zipFile -> if (findAppsFromLibs(zipFile, libNames) || findAppsFromAssets(zipFile, assetNames)) { return true diff --git a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/XposedModulesPreset.kt b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/XposedModulesPreset.kt index 0c1eeb5..7c7a078 100644 --- a/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/XposedModulesPreset.kt +++ b/common/src/main/java/icu/nullptr/hidemyapplist/common/app_presets/XposedModulesPreset.kt @@ -3,7 +3,7 @@ package icu.nullptr.hidemyapplist.common.app_presets import android.content.pm.ApplicationInfo import java.util.zip.ZipFile -class XposedModulesPreset() : BasePreset("xposed") { +class XposedModulesPreset : BasePreset("xposed") { override val exactPackageNames = setOf() override fun canBeAddedIntoPreset(appInfo: ApplicationInfo): Boolean {