Skip to content

PR #267: Fix storage folder handling

Pre-release
Pre-release

Choose a tag to compare

released this 23 Apr 20:47

PR #267

Title: Fix storage folder handling

Source PR: WinNative-Emu/WinNative#267
Source branch: fix-storage-folder-handling
Source commit: b65915ad36a1acd8de15b3495f8e9a21c9ae1139
Build workflow run: https://github.com/MaxsTechReview/WinNative/actions/runs/24926203274

What This PR Is About

  • Adds shared Android file picker and folder picker contracts that prefer normal device storage roots.
  • Validates selected folders are resolvable and writable before saving them for stores, shortcuts, containers, and game installs.
  • Releases stale persisted tree URI permissions only after all active folder preferences are available.
  • Keeps existing folder grants when persistable permission capture fails for a newly selected folder.
  • Aligns Epic and GOG custom install folder behavior with Steam when the selected folder already matches the game folder.
  • Avoids storing pseudo tree URI paths when folder URI resolution fails.
  • Keeps Steam direct launches, ColdClient setup, and Steamless unpacking on the current service-resolved install folder when custom install paths change.
  • Refreshes stale Steam shortcut executable metadata when a valid executable is found in the current install folder.
  • Adds writable-directory checks before Steam, Epic, and GOG downloads create install markers.
  • Fixes CI compile errors from the tree URI helper expression body and missing Activity import.
  • git diff --check passed with only existing CRLF warnings.
  • Gradle compile was not run locally because java is not on PATH and JAVA_HOME is unset.

Attached Artifacts

  • WinNative-Debug-Standard-PR.267-b6591.apk
  • WinNative-Debug-Ludashi-PR.267-b6591.apk
  • WinNative-Debug-Pubg-PR.267-b6591.apk

Built from source commit b6591.