How mryouki/youkidex-android-desktop works
YoukiDEX is an Android desktop environment: users enable its overlay or launch the desktop, then open and manage apps through a dock, taskbar, and windowed desktop. The repository also contains a substantial video-wallpaper workflow, from gallery/editor configuration through persisted settings to video playback and GL rendering. README-documented capabilities include workshop sources, plugins, multi-user controls, casting, and privileged tools. Sampled code confirms key wallpaper, shell, plugin, and user-management responsibilities; wiring for several other features is inferred only at the subsystem level.
Main entry points: LauncherActivity.kt Desktop launcher · YoukiGLWallpaperService.kt Wallpaper service · WallpaperConfigRepository.kt Wallpaper configuration · ShellManager.kt Shell client
Components 27
Desktop experience
- Main entry
app/src/main/java/com/youki/dex/activities/MainActivity.kt - Setup and permissions
app/src/main/java/com/youki/dex/onboarding/OnboardingActivity.kt - Desktop launcher
app/src/main/java/com/youki/dex/activities/LauncherActivity.kt - Display launcher
app/src/main/java/com/youki/dex/activities/SecondaryLauncherActivity.kt - App drawer
app/src/main/java/com/youki/dex/adapters/AppAdapter.kt - Dock and tasks
app/src/main/java/com/youki/dex/adapters/AppTaskAdapter.kt - Desktop widgets
app/src/main/java/com/youki/dex/livewallpaper/DesktopWidgetManager.kt
Live wallpaper
- Wallpaper gallery
app/src/main/java/com/youki/dex/livewallpaper/ui/gallery/GalleryActivity.kt - Wallpaper editor
app/src/main/java/com/youki/dex/livewallpaper/ui/editor/EditorActivity.kt - Wallpaper configuration
app/src/main/java/com/youki/dex/livewallpaper/data/WallpaperConfigRepository.kt - Wallpaper database
app/src/main/java/com/youki/dex/livewallpaper/data/YoukiWallpaperDatabase.kt - Wallpaper service
app/src/main/java/com/youki/dex/livewallpaper/service/YoukiGLWallpaperService.kt - Video playback
app/src/main/java/com/youki/dex/livewallpaper/engine/VideoEngine.kt - GL renderer
app/src/main/java/com/youki/dex/livewallpaper/service/WallpaperGLEngine.kt
Customization and content
- Preferences
app/src/main/java/com/youki/dex/fragments/PreferencesFragment.kt - Workshop browser
app/src/main/java/com/youki/dex/activities/WorkshopSourcesActivity.kt - Workshop sources
app/src/main/java/com/youki/dex/workshop/data/WorkshopDatabase.kt - Plugin management
app/src/main/java/com/youki/dex/plugins/PluginManager.kt
System integrations
- User management
app/src/main/java/com/youki/dex/utils/MultiUserManager.kt - Cast integration
app/src/main/java/com/youki/dex/cast/CastManager.kt - Shell client
app/src/main/java/com/youki/dex/server/ShellManager.kt - Shizuku access
app/src/main/java/com/youki/dex/utils/ShizukoManager.kt - Root access
app/src/main/java/com/youki/dex/utils/RootManager.kt
Runtime services
- Isolated QA
app/src/main/java/com/youki/dex/qa/QaTestOrchestrator.kt
Other components
- Android user
- Android system
- Cast device
Connections 28
- Android user → Main entry: opens
- Main entry → Setup and permissions: starts setup
- Android user → Desktop launcher: opens desktop
- Desktop launcher → App drawer: browses apps
- Desktop launcher → Dock and tasks: manages tasks
- Desktop launcher → Display launcher: uses displays
- Desktop launcher → Desktop widgets: hosts widgets
- Android user → Preferences: customizes
- Android user → Wallpaper gallery: chooses video
- Wallpaper gallery → Wallpaper editor: edits selection
- Wallpaper editor → Wallpaper configuration: saves settings
- Wallpaper configuration → Wallpaper database: persists
- Wallpaper service → Wallpaper configuration: observes active config
- Wallpaper service → Video playback: prepares playback
- Wallpaper service → GL renderer: updates and renders
- Android user → Workshop browser: browses sources
- Workshop browser → Workshop sources: reads sources
- Android user → Plugin management: manages plugins
- Android user → User management: manages users
- User management → Shell client: runs privileged commands
- Android user → Cast integration: casts desktop or media
- Cast integration → Cast device: connects
- Shizuku access → Shell client: launches server
- Root access → Shell client: launches server
- Android user → Isolated QA: runs self-test
- Android system → Setup and permissions: provides permissions
- Android system → Desktop launcher: hosts desktop
- Android system → Wallpaper service: hosts wallpaper