Torsten Grote
f246d16492
Upgrade Kotlin and Android Gradle Plugin
2019-12-06 11:31:32 -03:00
Torsten Grote
6520f6aa04
Upgrade Kotlin and Android Gradle Plugin
2019-12-06 09:38:07 -03:00
Torsten Grote
3093e3a789
Add About DialogFragment reachable from main overflow menu
2019-12-06 09:31:48 -03:00
Steve Soltys
525cfae960
Update README.md to reflect latest features and permissions
2019-11-30 14:32:39 -05:00
Steve Soltys
8686ee6c90
Fix APK deployment to prebuilt repo
2019-10-28 23:53:47 -04:00
Steve Soltys
ed8f4a6fef
Merge pull request #46 from stevesoltys/feature/rebranding
...
Rebrand application
2019-10-28 22:03:56 -04:00
Steve Soltys
32f558faf1
Rebrand application as 'Seedvault'
2019-10-28 21:57:47 -04:00
Steve Soltys
8ea68ea6ca
Merge pull request #44 from grote/cleanup
...
Cleanup unused code
2019-09-25 21:14:57 -04:00
Torsten Grote
c9a29810fc
Remove unused code and resources
2019-09-25 11:04:24 -03:00
Torsten Grote
d81c355799
Advance a step when returning to SetupWizard from restore
2019-09-25 11:04:23 -03:00
Steve Soltys
77cb935fa4
Fix multiline prebuilt repo commit message
2019-09-25 01:20:33 -04:00
Steve Soltys
d944f985a0
Merge pull request #42 from grote/usb
...
Various optimizations for using a USB flash drive as backup storage medium
2019-09-25 01:06:17 -04:00
Steve Soltys
927e0d5dd8
Merge pull request #43 from stevesoltys/feature/prebuilt-repo
...
Add source tree commit URL to prebuilt repo commit message
2019-09-25 01:05:53 -04:00
Steve Soltys
57e2096596
Add source tree commit URL to prebuilt repo commit message
2019-09-23 19:04:22 -04:00
Torsten Grote
470b5a2ccf
Tolerate backup attempts when flash drive is not plugged in
...
Also remove hardcoding of PACKAGE_MANAGER_SENTINEL constant
2019-09-23 10:29:01 -03:00
Torsten Grote
08018fcc9b
Do not allow manual backup/restore operations when removable storage is not available
2019-09-23 10:10:28 -03:00
Torsten Grote
cc2bb4a651
When selecting USB storage, do a backup right away
...
This is because USB drives are rarely plugged in,
so we should use every chance we get to do a backup.
2019-09-23 10:10:27 -03:00
Torsten Grote
26f23e95fe
Disable automatic backups when a removable USB flash drive is used
...
as storage location.
The backup backoff time is not reliable for this as the system still
attempts to backup the magic @pm@ package without checking for the
backoff value.
2019-09-23 10:10:27 -03:00
Torsten Grote
2c4d44c5b9
Grant MANAGE_USB permission, so we can get USB serial numbers
...
This is needed to reliably identify USB mass storage devices.
If someone has several identical thumb drives,
this prevents a backup from being performed when non-backup drives get attached.
2019-09-23 10:10:27 -03:00
Torsten Grote
007dd7759d
Save the time of the last backup and only do automatic flash drive backups once a day
...
This commit also turns SettingsManager into a class, so we can mock
and later also inject it.
2019-09-23 10:10:27 -03:00
Torsten Grote
b0386c8b66
Start backup automatically when flash drive used for backup is plugged in
2019-09-23 10:10:26 -03:00
Torsten Grote
650642068e
Don't try to do backups if storage is not available
2019-09-23 10:10:26 -03:00
Steve Soltys
6eb6f64696
Merge pull request #41 from grote/android-10
...
Make app work for Android 10
2019-09-22 22:01:18 -04:00
Steve Soltys
e09ccb43e1
Merge pull request #40 from stevesoltys/feature/prebuilt-repo
...
Add support for automatic prebuilt repo deployments
2019-09-22 22:01:07 -04:00
Steve Soltys
54ff9e8cf7
Merge pull request #38 from grote/restore
...
Implement new Restore UI
2019-09-22 13:16:52 -04:00
Steve Soltys
710fcb439c
Add support for automatic prebuilt repo deployments
2019-09-21 16:36:29 -04:00
Torsten Grote
bf28bc3338
Truncate files when writing to them explicitly
...
For some reason this wasn't an issue on Pie,
but an instrumentation test caught the change in behavior on Q.
2019-09-20 09:42:59 -03:00
Torsten Grote
e659892278
Fix CI by running tests with newer Java version, but target JDK 8
2019-09-19 12:52:31 -03:00
Torsten Grote
37ffacbafe
Upgrade to Android 10 (Q)
...
If somebody wants the backup app to work on a lower Android version,
they need to maintain a branch for that which uses and targets the old API.
2019-09-19 09:17:42 -03:00
Torsten Grote
8adb94c6c9
Explicitly tint storage root icons for system dark theme
2019-09-19 07:54:28 -03:00
Torsten Grote
0e5f9cff0f
Remove the progress bar for restore operation as progress reporting is bugyy
...
This also adds an additional warning when the user is using ejectable storage
2019-09-18 09:26:32 -03:00
Torsten Grote
55d92aec39
Adapt UI and text to the different use-cases (backup vs. restore)
2019-09-17 15:48:59 -03:00
Torsten Grote
10ad6d6b2d
Improve error message when no backups could be found for restore
2019-09-17 12:14:53 -03:00
Torsten Grote
54ad762eb1
Save more information about current storage location
...
Show storage name in settings
2019-09-17 12:14:53 -03:00
Torsten Grote
c6f83647b2
Show recovery code from top to bottom instead of from left to right
...
This way it is easier to enter it.
2019-09-17 12:14:53 -03:00
Torsten Grote
4efaa08881
Show notification right away when requesting manual backup
2019-09-17 12:14:53 -03:00
Torsten Grote
6d8178f6b1
Use the MANAGE_DOCUMENTS permission to show possible storage locations
...
This also auto-grants the needed Uri permission,
so the user does not need to go through the OS folder selection activity.
2019-09-17 12:14:51 -03:00
Torsten Grote
7455f4afb9
Remove READ_PHONE_STATE permission
2019-09-17 12:14:41 -03:00
Torsten Grote
9cede639f3
When restoring, ask for location first and then restore code
...
This also checks if there's a backup at the chosen location
and requires the user to select another once,
if we can not find a backup.
2019-09-11 17:26:03 -03:00
Torsten Grote
af43c6154d
Get rid of device folders, use unix epoch as backup token and store it
2019-09-11 15:26:10 -03:00
Torsten Grote
8b6656a350
Read RestoreSets from encrypted backup metadata file
2019-09-10 16:46:26 -03:00
Torsten Grote
f9c8b657a0
Write an encrypted metadata file for each restore set
2019-09-10 16:46:25 -03:00
Torsten Grote
044ef01ba1
Do not generate new 12-word code when restoring
...
Also allow auto-completion when entering the 12-word code.
This makes testing and entering the code easier
and does not compromise security as the word list is public anyway.
2019-09-10 13:35:58 -03:00
Torsten Grote
1a7fdfa59a
Implement restoring of backup and show progress in UI
...
Note that the progress view is not exact as the progress reporting of
AOSP seems to be buggy.
2019-09-10 13:35:58 -03:00
Torsten Grote
491789e8e0
Add a RestoreActivity that lists available RestoreSets (backups)
...
and allows the user to select one to get restored.
2019-09-10 13:35:57 -03:00
Torsten Grote
aa3aad8fb3
Return actually available RestoreSets
...
Before, we were always returnign a dummy RestoreSet,
if one was actually available or not.
Now, we also include the device name.
Note that it is planned to store the actual device name
and other metadata in an encrypted file
so that the backup server will not learn it.
2019-09-10 13:35:57 -03:00
Steve Soltys
7a7059cda3
Merge pull request #35 from grote/transport
...
Huge refactoring of backup transport
2019-09-09 20:13:59 -04:00
Torsten Grote
c714a4e7e1
Show error notification when backup fails
...
The implementation is rudimentary for now.
E.g. The notification is only shown when a device init fails
which seems to be triggered after the first failure.
2019-09-02 17:07:21 -03:00
Torsten Grote
683268a15f
Add a unit test for checking word list integrity
...
Also does minor clean-ups
2019-09-02 17:03:44 -03:00
Torsten Grote
74aa62a264
Add instrumentation test for testing AES/GCM nonces are really unique
2019-09-02 09:47:53 -03:00