Skip to content

Add Aves Gallery support for Android - #1302

Merged
abrignoni merged 2 commits into
mainfrom
feat/aves-android
Sep 3, 2026
Merged

Add Aves Gallery support for Android#1302
abrignoni merged 2 commits into
mainfrom
feat/aves-android

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Adds Aves Gallery (deckers.thibault.aves) support for Android, an open source gallery. Two artifacts from databases/metadata.db:

  • Catalogued Media: the app's index of the media it found, joined to its metadata, reverse-geocoded address, favourites and video resume positions. Latitude and Longitude come from each file's embedded location; Country Code and Country Name are the app's own reverse geocoding of those coordinates, so they are a derived answer rather than anything recorded in the file, and the notes say so. On the tested device two images carrying known coordinates resolved to IS and US, and the geocoding reached country level only. KML output.
  • Trash and Vaults: items binned inside the app, where the Path shows the file is still on the device and recoverable, so a row is an intentional deletion together with the means to undo it; and encrypted vaults, where the row records that a vault exists, which matters because it means media was deliberately concealed. Both present and empty on the tested device, recorded as a checked absence.

Date Added leads rather than Date Taken: the media store records it for every entry, while Date Taken comes from the file's own capture metadata and is absent from videos and from images carrying none. It was filled on 2 of the 6 tested entries, so leading with it would have hidden most of the collection.

Paths use a deckers.thibault.aves* prefix so the libre, izzy and play variants are all covered; the tested build was deckers.thibault.aves.libre, whose package carries a variant suffix. The metadata flags column is an undocumented bitmask and is not reported.

Verified on a multi-container tree: the storage spellings collapse, a second Android user adds its own rows against a known delta (6 then 10 entries with a tenant holding 4), and a decoy package adds none. sample_data follows with the corpus capture now running.

🤖 Generated with Claude Code

abrignoni and others added 2 commits September 3, 2026 11:11
Two artifacts from databases/metadata.db:

- Catalogued Media: the app's index of media on the device, joined to its
  metadata, reverse-geocoded address, favourites and video resume positions.
  Coordinates come from the file's embedded location; Country Code and Name are
  the app's own geocoding of them, which is a derived answer and the notes say
  so. KML output.
- Trash and Vaults: items binned inside the app, whose Path shows the file is
  still on the device and recoverable, and encrypted vaults, whose existence
  records that media was deliberately concealed.

Date Added leads rather than Date Taken, because the media store records it for
every entry while Date Taken is absent from videos and from images carrying no
capture metadata: it was filled on 2 of the 6 tested entries.

Paths use a deckers.thibault.aves* prefix so the libre, izzy and play variants
are all covered; the tested build was deckers.thibault.aves.libre.

Verified on a multi-container tree: the storage spellings collapse, a second
Android user adds its own rows against a known delta (6 then 10 entries with a
tenant holding 4), and a decoy package adds none.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Row counts from a real aleapp.py run against the emu_a15_oss_v9 corpus. The
zero is a checked absence, confirmed against the source store.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@abrignoni
abrignoni merged commit 6f566ed into main Sep 3, 2026
10 checks passed
@abrignoni
abrignoni deleted the feat/aves-android branch September 3, 2026 15:25
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