feat: our own task store, and the frontend for it (#10)
Reviewed-on: https://codeberg.org/jlmakiola/agendula/pulls/10
This commit is contained in:
@@ -122,7 +122,32 @@
|
||||
<string name="lists_header">Lists</string>
|
||||
<string name="new_task">New task</string>
|
||||
<string name="lists_failure">Could not read your tasks.</string>
|
||||
<string name="lists_empty">No task lists yet. Add one in your tasks app or with the + button.</string>
|
||||
<string name="lists_empty">No task lists yet.</string>
|
||||
<string name="lists_empty_action">Create a list</string>
|
||||
|
||||
<!-- Task lists: create, edit, delete -->
|
||||
<string name="list_add">New list</string>
|
||||
<string name="list_new_title">New list</string>
|
||||
<string name="list_edit_title">Edit list</string>
|
||||
<string name="list_name_hint">List name</string>
|
||||
<string name="list_color">Colour</string>
|
||||
<string name="list_delete">Delete list</string>
|
||||
<string name="list_save_failed">Could not save the list.</string>
|
||||
<string name="list_delete_failed">Could not delete the list.</string>
|
||||
<string name="list_delete_confirm_title">Delete list?</string>
|
||||
<string name="list_delete_confirm_message">“%1$s” and all of its tasks will be deleted. This can\'t be undone.</string>
|
||||
<string name="list_color_mauve">Mauve</string>
|
||||
<string name="list_color_red">Red</string>
|
||||
<string name="list_color_orange">Orange</string>
|
||||
<string name="list_color_amber">Amber</string>
|
||||
<string name="list_color_olive">Olive</string>
|
||||
<string name="list_color_green">Green</string>
|
||||
<string name="list_color_teal">Teal</string>
|
||||
<string name="list_color_cyan">Cyan</string>
|
||||
<string name="list_color_blue">Blue</string>
|
||||
<string name="list_color_indigo">Indigo</string>
|
||||
<string name="list_color_purple">Purple</string>
|
||||
<string name="list_color_pink">Pink</string>
|
||||
<string name="smart_today">Today</string>
|
||||
<string name="smart_overdue">Overdue</string>
|
||||
<string name="smart_upcoming">Upcoming</string>
|
||||
@@ -221,6 +246,37 @@
|
||||
<string name="settings_bottom_add_bar">Bottom quick-add bar</string>
|
||||
<string name="settings_bottom_add_bar_hint">Add tasks from a bar pinned to the bottom of a list, instead of the floating button</string>
|
||||
|
||||
<string name="onboarding_use_own_store">Use this device\'s storage instead</string>
|
||||
|
||||
<!-- Storage and export -->
|
||||
<string name="settings_section_storage">Storage</string>
|
||||
<string name="settings_storage_subtitle">Where tasks are kept, and export</string>
|
||||
<string name="settings_task_store">Task store</string>
|
||||
<string name="settings_task_store_hint">Each store keeps its own tasks. Switching does not move them across — export first if you want a copy.</string>
|
||||
<string name="settings_store_own">On this device</string>
|
||||
<string name="settings_store_own_hint">Agendula\'s own storage. Nothing else to install.</string>
|
||||
<string name="settings_store_external">Another task app</string>
|
||||
<string name="settings_store_external_hint">Share tasks with the app that syncs them</string>
|
||||
<string name="settings_store_external_missing">No compatible task app is installed</string>
|
||||
<string name="settings_store_permission_denied">Permission denied</string>
|
||||
<string name="settings_store_permission_denied_hint">The other app\'s tasks stay unreachable until you allow access. Tap to open app settings.</string>
|
||||
<string name="settings_export">Export tasks</string>
|
||||
<string name="settings_export_hint">Save your lists as iCalendar files</string>
|
||||
<string name="export_hint">One .ics file per list, readable by other task and calendar apps. The ticked lists go to a folder you pick, or into a single zip.</string>
|
||||
<string name="export_no_lists">No lists to export</string>
|
||||
<string name="export_to_folder">Save to a folder</string>
|
||||
<string name="export_to_zip">Save as a zip file</string>
|
||||
<string name="export_running">Exporting…</string>
|
||||
<plurals name="export_done">
|
||||
<item quantity="one">Exported %1$d list</item>
|
||||
<item quantity="other">Exported %1$d lists</item>
|
||||
</plurals>
|
||||
<string name="export_failed">The export could not be written</string>
|
||||
<string name="export_failed_folder">The chosen folder could not be opened</string>
|
||||
<string name="export_failed_read_only">The chosen folder is not writable</string>
|
||||
<string name="export_failed_create">A file could not be created in the chosen folder</string>
|
||||
<string name="export_failed_access">Access to the chosen location was lost</string>
|
||||
|
||||
<!-- Reminder lead times (custom amounts) -->
|
||||
<plurals name="reminder_minutes">
|
||||
<item quantity="one">%1$d minute before</item>
|
||||
|
||||
@@ -1,4 +1,22 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<full-backup-content>
|
||||
<!-- No file-based backups; settings live in DataStore which is backed up by default. -->
|
||||
<!--
|
||||
Agendula's own task store. Room runs in WAL mode and Auto Backup copies
|
||||
files without checkpointing, so the `-wal` sidecar can hold writes the
|
||||
`.db` alone does not — all three go in together, and the app checkpoints
|
||||
on ON_STOP so a restore is consistent either way.
|
||||
|
||||
Naming any <include> makes everything else excluded by default, so the
|
||||
archived dmfs database (`tasks.db.imported`, kept one release as the
|
||||
import's rollback path) is already left out. An explicit <exclude> for it
|
||||
would be redundant *and* rejected — lint's FullBackupContent check errors
|
||||
on an exclude that sits under no included path.
|
||||
|
||||
Settings live in DataStore, which this exclusion now also covers, so its
|
||||
sharedpref file is listed back in.
|
||||
-->
|
||||
<include domain="database" path="agendula-tasks.db" />
|
||||
<include domain="database" path="agendula-tasks.db-wal" />
|
||||
<include domain="database" path="agendula-tasks.db-shm" />
|
||||
<include domain="file" path="datastore/" />
|
||||
</full-backup-content>
|
||||
|
||||
@@ -1,8 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<data-extraction-rules>
|
||||
<!--
|
||||
See backup_rules.xml: the WAL sidecars travel with the database, and
|
||||
naming any <include> makes everything else excluded by default — which is
|
||||
what keeps the archived `tasks.db.imported` out without an <exclude> that
|
||||
lint would reject.
|
||||
-->
|
||||
<cloud-backup>
|
||||
<!-- Allow DataStore backup, exclude nothing extra. -->
|
||||
<include domain="database" path="agendula-tasks.db" />
|
||||
<include domain="database" path="agendula-tasks.db-wal" />
|
||||
<include domain="database" path="agendula-tasks.db-shm" />
|
||||
<include domain="file" path="datastore/" />
|
||||
</cloud-backup>
|
||||
<device-transfer>
|
||||
<include domain="database" path="agendula-tasks.db" />
|
||||
<include domain="database" path="agendula-tasks.db-wal" />
|
||||
<include domain="database" path="agendula-tasks.db-shm" />
|
||||
<include domain="file" path="datastore/" />
|
||||
</device-transfer>
|
||||
</data-extraction-rules>
|
||||
|
||||
Reference in New Issue
Block a user