Skip to content

Use share instead of save-as for backup and export#145

Closed
speleoalex wants to merge 6 commits into
marcocorvi:masterfrom
speleoalex:feature/export-file-picker
Closed

Use share instead of save-as for backup and export#145
speleoalex wants to merge 6 commits into
marcocorvi:masterfrom
speleoalex:feature/export-file-picker

Conversation

@speleoalex
Copy link
Copy Markdown
Contributor

Summary

  • Full backup uses Android share intent instead of file picker for better UX
  • Removed "Save As" checkbox from export dialogs - always use share
  • Added translations for backup/restore strings (IT, DE, ES, FR, PT)

Changes

  • FullBackupTask.java: Added share functionality after backup creation
  • MainWindow.java: Simplified backup to use share directly
  • ExportDialogPlot.java, ExportDialogShot.java: Removed save-as option
  • export_dialog_*.xml: Removed save-as checkbox from layouts
  • strings.xml (5 languages): Added backup/restore translations

Test plan

  • Test full backup with share intent
  • Verify export dialogs work without save-as option
  • Check translations display correctly

🤖 Generated with Claude Code

speleoalex and others added 6 commits December 18, 2025 10:34
This adds a checkbox to both plot and survey export dialogs that allows
users to choose the save location using the system file picker instead
of saving to the default location.

Features:
- New "Save as..." checkbox in export dialogs (plot and survey)
- When enabled, opens file picker to choose save location
- Works with all export formats including ZIP
- Preference is remembered between exports
- Added DiscoXComm stub class for build compatibility
- Updated README.md formatting
- Added .gitignore for build artifacts

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

Co-Authored-By: Claude <noreply@anthropic.com>
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>
DiscoXProtocol requires DiscoXComm to extend SapComm for proper
communication. Restored correct implementation from upstream.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Full backup now uses Android share intent instead of file picker
- Removed "Save As" checkbox from export dialogs (plot and shot)
- Added translations for backup/restore strings (IT, DE, ES, FR, PT)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add checkbox to share exported 3D models via Android share intent instead of using file picker.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@speleoalex
Copy link
Copy Markdown
Contributor Author

Closing this PR - Marco Corvi has implemented the export share functionality differently via settings (mExportDataShare, mExportPlotShare, mExportModelShare). Created new PR #146 with only the backup/restore changes.

@speleoalex speleoalex closed this Jan 2, 2026
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