ES-DE Companion v1.0.0 — The Ground-Up Rebuild
This is the first stable release of ES-DE Companion since its ground-up rebuild. If you're coming from v0.6.0 or earlier, read the Upgrading from 0.6.0 section below before you install.
Upgrading from 0.6.0
Same app, same package (com.esde.companion) — installing this APK over your existing 0.6.0 install works as a normal in-place update. But the integration mechanism underneath has changed completely, so a few things need your attention:
- No more scripts. The old app generated shell scripts into ES-DE's
scripts/folder and had ES-DE call them on each event. That mechanism is gone entirely — the app now only reads ES-DE's ownes_log.txtdirectly eliminating any latency from Browse Script Events. On first launch, onboarding detects any leftover script files from the old version and offers a one-tap cleanup step to delete them. - One more ES-DE setting is required. In addition to "Custom Event Scripts" and "Browsing Custom Event Scripts," ES-DE's "Debug Mode" must now also be enabled (Press START → Other Settings in ES-DE). Onboarding walks you through this and won't finish until all three are on.
- Settings moved off a dedicated screen. There's no more Settings screen to navigate into. Long-press anywhere on the companion screen (or tap a corner button assigned to Settings) opens it as a popup instead.
- Widget layouts will reset to new defaults. The widget overlay system was rebuilt on new grid-based canvases (System View / Game View) with its own persistence format, so your old widget positions and sizes won't carry over. You'll start from the new fresh-install defaults (logo slide transitions with glint, fanart backgrounds with pan & zoom) and can re-customize from there.
- Your ES-DE folder, media folder, and other Setup paths carry over as-is — you shouldn't need to reconfigure those unless onboarding specifically prompts you.
Full details: see Upgrading from 0.6.0 in the README.
What's New Since 0.6.0
Everything below shipped as part of the rebuild — this is a summary, not an exhaustive changelog.
Core architecture
- Rebuilt from the ground up on a strict Clean Architecture (
domain/data/ui), Jetpack Compose, Kotlin Coroutines/Flow, and DataStore — replacing the old SharedPreferences/callback-based codebase - New integration mechanism: tails and parses ES-DE's own
es_log.txtdirectly instead of generating and monitoring companion-owned scripts/log files - Extensive automated test coverage for the log-parsing and state-reduction pipeline, including cold-start/anchor-replay and log-truncation-on-restart handling
Widget overlay system
- Two independent canvases — System View and Game View — each with its own layout
- Up to 12 widget types per canvas, including a new Custom Image type
- Full editing: drag-and-drop move, four independent edge resize handles with edge-snapping, add/remove, layer reordering, all always-on grid-snapped
- Per-widget configuration: image scaling (Contain/Cover), transitions (Slide/Scale for logos, Fade for backdrops), an optional Logo Glint sweep, Pan & Zoom on backdrops, and blur/darken sliders — all set per widget instance, not as global toggles
App Drawer & App Dock
- App Drawer: swipe-up gesture, configurable grid columns, per-app "launch on this/other screen" preference, and folders — group apps into named, renameable folders with an optional "sort folders on top" setting
- New App Dock: an optional persistent row of pinned apps (2-5 slots, three size presets), including a pinnable App Drawer shortcut slot
Floating Action Buttons (FAB)
- Four independently configurable corner buttons, each assignable to Music, Settings, Game Manual, App Drawer, a specific app, or none
Game Manuals
- Game Manuals can be set to open on game launch allowing navigation and zoom functionality
- Game manual FAB can be set to appear automatically whenever the current game has a scanned manual allowing quick access
Easy setup
- New onboarding wizard with real ES-DE config detection: auto-detects folders where possible, watches ES-DE's own settings file live to confirm the three required settings toggles, and offers automatic cleanup of leftover files from older versions
- Live confirmation step that waits for real activity from ES-DE before finishing setup
Automatic updates
- The app now checks GitHub for newer releases itself — silent check on every launch, with a manual "Check for Updates" entry in Settings
- One-tap download/install handling the Android "install unknown apps" permission, plus a one-time "what's new" dialog after an update actually installs
Other additions
- Local debug logging for troubleshooting hard-to-reproduce issues
- "Close Companion App on ES-DE Quit" and "Launch ES-DE on Companion App Start" convenience toggles
- Double-tap-anywhere gesture to manually blank/unblank the screen
Requirements
- Android 10+ (API level 29 or higher)
- ES-DE installed with downloaded media
- ES-DE settings: Custom Event Scripts, Browsing Custom Event Scripts, and Debug Mode all enabled (Press START → Other Settings in ES-DE, then back out of the menu to save)
Documentation
- README — overview, setup, and the full "Upgrading from 0.6.0" guide
- User Guide — comprehensive feature documentation
- FAQ — troubleshooting and common questions