How byxiaorun/ruru works
ApplistDetector is an Android app that runs device and installed-app checks and presents their findings in expandable cards. On launch, MainActivity gathers accessibility, account, developer-setting, and VPN signals; MainPage schedules detector runs and renders results. Detector modules cover environment artifacts, package-manager visibility, file presence, Xposed/Magisk indicators, and device settings. The README provides little feature detail, so the map follows the app workflow visible in excerpts; several detector implementations are indexed but unsampled, and their links are shown only where MainPage documents their invocation.
Main entry points: MainPage.kt Results page · IDetector.kt Detector contract · MainActivity.kt Main activity · AbnormalEnvironment.kt Environment scan
Components 19
App workflow
- Main activity
app/src/main/java/com/byxiaorun/detector/MainActivity.kt - App context
app/src/main/java/com/byxiaorun/detector/MyApplication.kt - Results page
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Result cards
app/src/main/java/icu/nullptr/applistdetector/component/CheckCard.kt - Hint card
app/src/main/java/icu/nullptr/applistdetector/component/IconHintCard.kt
Environment checks
- Environment scan
library/src/main/java/icu/nullptr/applistdetector/AbnormalEnvironment.kt - File checks
library/src/main/java/icu/nullptr/applistdetector/FileDetection.kt - Xposed modules
library/src/main/java/icu/nullptr/applistdetector/XposedModules.kt
Package checks
- PM command
library/src/main/java/icu/nullptr/applistdetector/PMCommand.kt - PM conventional APIs
library/src/main/java/icu/nullptr/applistdetector/PMConventionalAPIs.kt - PM sundry APIs
library/src/main/java/icu/nullptr/applistdetector/PMSundryAPIs.kt - Intent queries
library/src/main/java/icu/nullptr/applistdetector/PMQueryIntentActivities.kt - Magisk app scan
library/src/main/java/icu/nullptr/applistdetector/MagiskApp.kt
Device signals
- Accessibility scan
library/src/main/java/icu/nullptr/applistdetector/Accessibility.kt - Setting properties
library/src/main/java/icu/nullptr/applistdetector/SettingProp.kt - Account scan
library/src/main/java/icu/nullptr/applistdetector/Account.kt - Detector contract
library/src/main/java/icu/nullptr/applistdetector/IDetector.kt
Other components
- User
- Android services
Connections 32
- User → Main activity: opens app
- Main activity → App context: uses context
app/src/main/java/com/byxiaorun/detector/MainActivity.kt - Main activity → Android services: reads device state
app/src/main/java/com/byxiaorun/detector/MainActivity.kt - Main activity → Results page: shows page
app/src/main/java/com/byxiaorun/detector/MainActivity.kt - Results page → Result cards: renders results
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → Hint card: renders hints
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → Environment scan: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → PM command: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → PM conventional APIs: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → PM sundry APIs: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → Intent queries: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → File checks: runs checks
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → Xposed modules: runs checks
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → Magisk app scan: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → Accessibility scan: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → Setting properties: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Results page → Account scan: runs check
app/src/main/java/icu/nullptr/applistdetector/MainPage.kt - Environment scan → File checks: checks paths
library/src/main/java/icu/nullptr/applistdetector/AbnormalEnvironment.kt - Main activity → Account scan: collects account data
app/src/main/java/com/byxiaorun/detector/MainActivity.kt - Main activity → Accessibility scan: collects accessibility data
app/src/main/java/com/byxiaorun/detector/MainActivity.kt - Main activity → Setting properties: collects setting data
- Environment scan → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/AbnormalEnvironment.kt - File checks → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/FileDetection.kt - Xposed modules → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/XposedModules.kt - Magisk app scan → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/MagiskApp.kt - Account scan → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/Account.kt - Accessibility scan → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/Accessibility.kt - Setting properties → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/SettingProp.kt - PM command → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/PMCommand.kt - PM conventional APIs → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/PMConventionalAPIs.kt - PM sundry APIs → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/PMSundryAPIs.kt - Intent queries → Detector contract: implements
library/src/main/java/icu/nullptr/applistdetector/PMQueryIntentActivities.kt