Skip to content

Loki 1.3.0

Choose a tag to compare

@JoeCorrell JoeCorrell released this 10 Aug 21:04
· 3 commits to main since this release

A dual-screen launcher for the AYN Thor.

Install

Download Loki-1.3.0.apk and install it on the device. On first run Loki
asks to be made the default launcher and offers a short walkthrough.

Movies & TV and PC streaming ship inside the app but stay switched off
until you ask for them — until then there is no section in the bar, no settings
category and no pages. To turn one on, download movies.json or stream.json
below, then open Settings → System → Extensions and import it.

Those files are not licence keys. Each is three lines of JSON you could type
yourself; only the extension field is read. They are a way of saying "I want
this part", and nothing checks them.

A file explorer

Reachable from Start → Files, and it uses both screens: the listing on the
top panel, the description of whatever the cursor is on plus every verb that
acts on it on the panel you are holding.

Open, mark, select all, cut, copy, paste, rename, new folder, zip, extract,
delete and sort. Marks survive walking into another folder — ticking a file,
going where it belongs and moving it there is the reason to tick anything — and
because that makes it possible to delete a set you cannot see, the count of what
is out of sight is shown wherever the marks are and again on the confirmation.

Some deliberate choices:

  • Deleting is permanent. Android gives an app no shared wastebasket, and a
    private one would consume your storage while claiming to have freed it. The
    confirmation says so.
  • Nothing is ever written over. A paste onto a name that already exists
    becomes Name (2).
  • Copy progress is counted in bytes, not files, so a folder holding one disc
    image and four hundred saves does not sit at "nearly done" for the whole
    operation.
  • A move within one volume is a rename, which is instant.
  • Extraction refuses an archive whose entries point outside their folder.
    ../ in a zip is a real attack, and the whole extraction is refused rather
    than the bad entry skipped.

It needs all-files access, which Android keeps behind a switch of its own. Loki
asks for it from the explorer and explains why it is empty until you grant it.

Metadata is ScreenScraper's now

ScreenScraper leads the merge and owns the artwork and the synopsis. It
identifies a ROM by its CRC, MD5 and SHA1 rather than by its name, and when a
file's hashes and filename are both unknown to it the title is searched for
instead — so a library named the way people actually name things still matches.

SteamGridDB supplies the square cell icon, which is the one thing ScreenScraper
has no asset for. Wikidata fills gaps and needs no account at all.

ArtScraper, RAWG and IGDB have been removed. Each covered something
ScreenScraper could not while it was ranked below them, and every one was a
network round trip per game per scrape spent to be ignored. One thing went with
them: nothing now supplies a time-to-beat figure.

Existing installs are migrated on first launch. Your ScreenScraper account is
kept.

Fixes

  • Choosing a backdrop for a platform no longer deletes its icon.
  • Platform folders and cards no longer borrow a game's artwork — their image
    comes from an icon pack or from one you chose, and otherwise from nothing.
  • Game icons scraped as cartridge and disc photographs are cleared by a
    re-scrape instead of being kept forever.
  • The game panel shows the square icon where there is one, with the frame
    following the picture rather than cropping it.
  • A scrape running in the background now says so on the top screen, with a
    count.

To pick up the artwork fixes on a library you have already scraped, turn off
"Only fill in missing data" in Settings → Metadata and run a full pass. A top-up
deliberately leaves stored images alone.

Platform artwork by GiuPhoenix.