How twyora/douyinenhancer works
DouyinEnhancer is an Xposed module that hooks Douyin at runtime to add media-saving, feed, playback, and UI controls. Users enable it for Douyin in an Xposed manager; its hook entry installs behavior in the host app, with settings controlling optional features. The app also exposes settings dialogs and persists configuration. Feature coverage follows the README and tree; where hook registration or unsampled implementations are not shown, links are limited to documented runtime relationships.
Main entry points: DouyinPackage.kt Host Signatures · ConfigManager.kt Config Manager · CommentEmojiHooker.kt Comment Media · FeedMultiImageHooker.kt Feed Downloads
Components 20
Hook Runtime
- Hook Entry
app/src/main/java/io/github/twyora/douyinenhancer/hook/HookEntry.kt - Host Signatures
app/src/main/java/io/github/twyora/douyinenhancer/hook/DouyinPackage.kt
Douyin Features
- Comment Media
app/src/main/java/io/github/twyora/douyinenhancer/hook/comment/CommentEmojiHooker.kt - Feed Features
app/src/main/java/io/github/twyora/douyinenhancer/hook/feed/RecommendedFeedHooker.kt - Feed Downloads
app/src/main/java/io/github/twyora/douyinenhancer/hook/feed/FeedMultiImageHooker.kt - Feed Playback
app/src/main/java/io/github/twyora/douyinenhancer/hook/feed/FeedVideoHooker.kt - Audio Comments
app/src/main/java/io/github/twyora/douyinenhancer/hook/comment/CommentAudioHooker.kt - Comment Images
app/src/main/java/io/github/twyora/douyinenhancer/hook/comment/CommentImageHooker.kt - Host UI Hooks
app/src/main/java/io/github/twyora/douyinenhancer/hook/ui/FeedComponentHooker.kt
Configuration
- Config Manager
app/src/main/java/io/github/twyora/douyinenhancer/config/ConfigManager.kt - Config Providers
app/src/main/java/io/github/twyora/douyinenhancer/config/provider/FeedConfigProvider.kt - Rule Gates
app/src/main/java/io/github/twyora/douyinenhancer/config/gate/RuleGate.kt - FastKV Storage
app/src/main/java/io/github/twyora/douyinenhancer/config/kvstorage/FastKVStorage.kt
Settings UI
- Module Activity
app/src/main/java/io/github/twyora/douyinenhancer/ui/MainActivity.kt - Settings Entry Hook
app/src/main/java/io/github/twyora/douyinenhancer/hook/ui/SettingsEntryHooker.kt - Settings Dialogs
app/src/main/java/io/github/twyora/douyinenhancer/ui/SettingsDialog.kt
Other components
- User
- Xposed Manager
- Douyin App
- Device Album
Connections 29
- User → Xposed Manager: activates module
- Xposed Manager → Hook Entry: loads module
- Hook Entry → Douyin App: hooks process
- Hook Entry → Host Signatures: uses signatures
- Comment Media → Host Signatures: resolves host APIs
- Feed Features → Host Signatures: resolves host APIs
- Feed Downloads → Host Signatures: resolves host APIs
- Feed Playback → Host Signatures: resolves host APIs
- Audio Comments → Host Signatures: resolves host APIs
- Comment Images → Host Signatures: resolves host APIs
- Host UI Hooks → Host Signatures: resolves host APIs
- Comment Media → Douyin App: hooks comment saving
- Comment Images → Douyin App: hooks image saving
- Audio Comments → Douyin App: hooks audio saving
- Feed Downloads → Douyin App: hooks feed saving
- Feed Playback → Douyin App: hooks playback
- Feed Features → Douyin App: filters feed
- Host UI Hooks → Douyin App: modifies host UI
- Config Manager → FastKV Storage: opens stores
- Config Manager → Config Providers: creates providers
- Config Providers → Rule Gates: evaluates rules
- Comment Media → Config Manager: reads options
- Feed Downloads → Config Manager: reads options
- User → Module Activity: opens settings
- Module Activity → Settings Entry Hook: starts host settings
- Settings Entry Hook → Settings Dialogs: shows dialog
- Settings Dialogs → Config Manager: edits options
- Comment Media → Device Album: saves media
- Feed Downloads → Device Album: saves media