github RobZombie9043/es-de-companion v1.0.0

9 hours ago

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 own es_log.txt directly 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.txt directly 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

Don't miss a new es-de-companion release

NewReleases is sending notifications on new releases.