github SapphireRhodonite/melonDS-android 0.1.0
melonDS-android v0.1.0

latest releases: 0.6.0, 0.5.0, 0.4.1...
6 months ago

External Display Stability & Layout Improvements

This release marks a milestone in external display support, improving stability, layout handling, and overall user experience.
A huge thanks to everyone who has tested and provided feedback — your input has been key to reaching this stage.

Important Notice

The package name has changed in this version.
Because of this, your previous configurations will not carry over automatically.
You will likely need to reconfigure your settings and layouts after updating.

Key Changes

  • Default External Layout Handling:

    • Defined DEFAULT_EXTERNAL_ID in LayoutConfiguration.
    • Added buildDefaultExternalLayout() in InternalLayoutsRepository to provide a default layout configuration for external displays.
    • EmulatorActivity now uses DefaultLayoutProvider to generate a fallback layout if no custom configuration exists.
    • SharedPreferencesSettingsRepository now returns DEFAULT_EXTERNAL_ID when no external layout is set.
    • ExternalLayoutListFragment now uses DEFAULT_EXTERNAL_ID as its fallback.
  • Background Handling:

    • EmulatorViewModel now correctly observes and loads the background for the external display layout, ensuring _externalBackground is updated even if the layout starts as null.
  • New Features:

    • Added "Refresh external screen" option to quick settings, allowing users to re-initialize the external display if it fails to show up initially.
    • Launcher compatibility: melonDS-android can now be launched directly from frontends such as EmulationStation-DE.
  • External Display Manager Improvements:

    • ExternalDisplayManager now holds the ExternalPresentation instance.
    • Presentations are now detached when no activities are active in the foreground, preventing unnecessary persistence.
    • Activities now interact with ExternalDisplayManager to show/hide presentations.
    • RomListActivity and EmulatorActivity now call showExternalDisplay() in onStart() to ensure the presentation appears when the activity becomes visible.
  • ROM List Handling:

    • Improved FileSystemRomsRepository.getRomAtPath to also match by filename if the full path does not return a result.

This version greatly increases stability and resilience of external display mode, ensuring a valid and usable layout is always available, and adds launcher integration support for smoother use in custom setups.

Don't miss a new melonDS-android release

NewReleases is sending notifications on new releases.