Adopt the shared icon family (python_pkg/app_icons in testsAndMisc): a
charcoal #1B1D21 field carrying a deep-purple checklist glyph, deep purple
being this app's own theme seedColor. Two ticked-off rows rather than a lone
checkmark, so it reads as a notes app and not as a generic "done" badge.
Android gains the adaptive-icon layers the project never had, including an
Android 13 monochrome layer.
Linux needs separate handling: Flutter's GTK runner never sets a window icon,
so my_application.cc now calls gtk_window_set_icon_name and
install_desktop_entry.sh populates the hicolor theme from the pre-rendered
PNGs in linux/icons (committed, so the installer needs no image tooling).
StartupWMClass is the APPLICATION_ID rather than the binary name - verified
with xprop against a running window, where WM_CLASS is the GApplication id.
No Dart code changes, so test coverage is unaffected.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
OS-level safety net so a reinstall can restore data through Android's
backup/restore flow. Sets allowBackup=true and points fullBackupContent
(pre-31) and dataExtractionRules (API 31+) at empty rule sets, which back
up the default locations: the app files dir (local CRDT DB todo.db),
databases, and shared_prefs (GitHub sync settings + token).
Backing up shared_prefs is intentional — it restores the sync config on
reinstall so recovery needs no re-auth (zero-touch). The token is a
narrowly-scoped contents-only PAT for the single private sync repo, kept
in the user's own Google backup.
Caveats: Auto Backup is scheduled (~daily, Wi-Fi+charging) so very recent
changes may not be captured, and restore fires through the Play Store /
device-setup flow, not an `adb install -r`. Auto-sync remains the primary
durability path; this is the secondary net. Verified the attributes merge
into the app manifest via a debug build.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Flutter app for Android + Linux desktop. Captures ideas with per-keystroke local autosave to a CRDT-backed SQLite store (sqlite_crdt), and syncs through a private GitHub repo using per-device changeset files (conflict-free last-writer-wins merge). Includes GitHub OAuth device-flow sign-in with PAT fallback, a barebones notes list, and sync settings.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>