Skip to content

Add Orgzly Revived support for Android - #1300

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

Add Orgzly Revived support for Android#1300
abrignoni merged 2 commits into
mainfrom
feat/orgzly-android

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Adds Orgzly Revived (com.orgzlyrevived) support for Android, an outliner for Org-mode files. Two artifacts from databases/orgzly.db:

  • Notes: each heading with its to-do state, tags, priority and content, plus the scheduled and deadline Org timestamps given both as the raw Org string (which preserves a repeater such as .+2d) and as a UTC time. Level and parent id place the note in the outline.
  • Notebooks: each Org file the app holds, with the sentence the app records describing the last thing that happened to it.

Two things the notes call out because they change how the rows should be read:

  • Created only appears on notes the app itself created. On the tested device 34 of 35 notes were the sample notebook the app installs on first run and carried no Created value; the one note added by hand carried it. Notes therefore leads with Title rather than Created, since sorting by a value most rows lack would hide the notebook.
  • Last Action Message is what separates shipped content from a person's own. It read Loaded from resource Getting Started with Orgzly for the sample; a notebook loaded from a linked repository names that source instead.

Paths cover both com.orgzlyrevived (the maintained fork, which is what F-Droid and the project ship today) and the original com.orgzly. The searches table held only the app's four shipped default searches and is not parsed.

Verified on a multi-container tree: the storage spellings collapse, a second Android user adds its own rows against a known delta (35 then 55 notes with a tenant holding 20), and a decoy package adds none. sample_data follows with the next corpus capture.

🤖 Generated with Claude Code

abrignoni and others added 2 commits September 3, 2026 01:33
Two artifacts from databases/orgzly.db:

- Notes: each heading with its to-do state, tags, priority, content and the
  scheduled and deadline Org timestamps, given both as the raw Org string
  (which preserves a repeater such as '.+2d') and as a UTC time.
- Notebooks: each Org file the app holds, with the sentence the app records
  describing where it came from.

Created only appears on notes the app itself created: on the tested device 34
of 35 notes were the sample notebook the app installs on first run and carried
none, while the note added by hand carried it. Notes therefore leads with Title
rather than Created, because sorting by a value most rows lack would hide the
notebook. The notebook's Last Action Message is what separates shipped content
from a person's own, reading 'Loaded from resource Getting Started with Orgzly'
for the sample.

Paths cover both com.orgzlyrevived, the maintained fork, and the original
com.orgzly. The searches table held only the app's four shipped default
searches and is not parsed.

Verified on a multi-container tree: the storage spellings collapse, a second
Android user adds its own rows against a known delta (35 then 55 notes with a
tenant holding 20), 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_v7 corpus. The
zero-row value is a checked absence, confirmed against the source store.

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