Skip to content

Add full backup and restore functionality#146

Open
speleoalex wants to merge 2 commits into
marcocorvi:masterfrom
speleoalex:feature/backup-restore
Open

Add full backup and restore functionality#146
speleoalex wants to merge 2 commits into
marcocorvi:masterfrom
speleoalex:feature/backup-restore

Conversation

@speleoalex
Copy link
Copy Markdown
Contributor

Summary

  • Add full backup menu option to create a complete app backup (database + settings)
  • Add restore menu option to restore from a backup file
  • Backup is created as a ZIP file and shared via Android share intent
  • Restore prompts user to select a backup file and restores all data

Changes

  • Added FullBackupTask.java - handles backup creation and sharing
  • Added FullRestoreTask.java - handles backup restoration
  • Modified MainWindow.java - added menu items for backup/restore
  • Added backup-related strings

🤖 Generated with Claude Code

speleoalex and others added 2 commits January 2, 2026 21:54
Implements complete backup/restore feature for TopoDroid:

- New FullBackupTask: Creates ZIP archive containing:
  - Main database (distox14.sqlite)
  - All survey folders (tdr, photo, audio, etc.)
  - Therion config projects (thconfig folder)
  - Application preferences (serialized to XML)
  - Manifest with backup metadata

- New FullRestoreTask: Restores from backup ZIP:
  - Properly closes database before overwriting
  - Restores all files and preferences
  - Auto-restarts app after successful restore

- Menu integration:
  - Added "Full backup" and "Restore backup" menu items
  - Uses Android file picker (ACTION_CREATE_DOCUMENT/ACTION_OPEN_DOCUMENT)
  - Confirmation dialogs before operations

- String resources for UI feedback and help text

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
- Change menu_backup and menu_restore to uppercase for consistency
- Fix survey count in FullBackupTask
- Add Java 1.8 compiler settings to build.properties

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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