Skip to content

Add ARMSX1/ARMSX2 smart cache support - #118

Merged
misantronic merged 1 commit into
mainfrom
feature/armsx-smart-cache-v2
Aug 23, 2026
Merged

Add ARMSX1/ARMSX2 smart cache support#118
misantronic merged 1 commit into
mainfrom
feature/armsx-smart-cache-v2

Conversation

@misantronic

Copy link
Copy Markdown
Owner

Adds Armsx1SmartCacheStrategy and Armsx2SmartCacheStrategy, sharing one query helper, that pull recently played games from ARMSX2's RecentGamesContentProvider (title, file URI, serial, lastPlayed). Unlike WatermelonDS, ARMSX2 doesn't precompute an RA hash, so these candidates go through the normal hash-then-lookup path.

Also fixes toAbsoluteStoragePath() to handle file:// URIs, not just content://. ARMSX2's provider returns plain file:// paths, and those were falling through unresolved.

Upstream is merged and shipped: ARMSX2/ARMSX2#566, released in 2.6.6.8. ARMSX1 carries the same patch in ARMSX2/ARMSX1#10 (still open).

Verified end-to-end on-device before rebase: OutRun 2006 matched RA gameId 20859 and cached; a second PS2 game correctly got a real "no match" from RA's own API (unrecognized dump, not a bug).

Replaces #88, which was invalidated when #87 was squash-merged. Rebased onto the current main and ported to the new Emulator enum API (isInstalled/isEnabled, packageCandidates) — package candidate lists and installed/enabled semantics are equivalent to the old per-emulator booleans.

Tracked in #33.

@misantronic
misantronic merged commit e1ad5b0 into main Aug 23, 2026
2 checks passed
@misantronic
misantronic deleted the feature/armsx-smart-cache-v2 branch August 23, 2026 12:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant