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
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
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
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
bd968be0b1
Remove BackupJobService as the OS is scheduling its own backups
2019-09-02 09:47:52 -03:00
Torsten Grote
1ee443a3d8
Add a unique ID to the device folder name to avoid collisions
...
when using several devices of the same model with the same account
2019-09-02 09:47:51 -03:00
Torsten Grote
2ce625ac87
Huge refactoring of backup transport
...
* to get rid of global state
* to have a testable architecture
* to allow for authenticated encryption
* to have a backup format version
* to potentially allow for other storage plugins
2019-09-02 09:47:49 -03:00
Torsten Grote
87b25aa4ec
Re-implement manual backup run and show notification during manual backups
2019-07-09 10:41:58 +02:00
Torsten Grote
4c79d41963
Show Backup Location screen before letting user choose backup folder
...
This screen can also be reached by tapping the previously inactive backup location setting.
2019-07-09 10:25:30 +02:00
Torsten Grote
3e64c3686f
Use Android's hardware-backed keystore to store backup key
...
This commit also disables the old UI as it does not work with the new key
2019-07-08 13:21:32 +02:00
Torsten Grote
66c0919eb5
Let user write down recovery code on first start
2019-07-08 13:21:32 +02:00
Torsten Grote
ee6cf38312
Migrate SettingsActivity and Fragment to Kotlin
2019-07-04 08:45:23 +02:00
Torsten Grote
c801502e81
Migrate SettingsManager to Kotlin
2019-07-04 08:25:37 +02:00
Torsten Grote
3d5911d41d
Add a SettingsViewModel in Kotlin including the Kotlin deps
2019-07-03 19:44:37 +02:00
Torsten Grote
b983414295
Add custom settings UI
2019-07-03 12:46:55 +02:00
Torsten Grote
540147470d
Allow the user to schedule full background backups
2019-06-11 09:28:03 -03:00
Torsten Grote
8a0fe3c513
Store backup passphrase insecurely for now
...
This is being done to implement automatic background updates
and not supposed to be part of a release.
The backup key will later be generated and shown to the user instead of
allowing them to choose their own.
2019-06-05 16:45:04 -03:00
Torsten Grote
b3c744b872
Store backup folder Uri in default shared preferences
...
and keep using it as long as it continues to be available.
2019-06-04 16:54:46 -04:00