Michael Bestas
d0cf968d06
Improve .editorconfig setup
...
Add rules for all the project files.
Inspired by android studio editorconfig, results in
all files containing newlines at the end of file for
consistent code style throughout the app.
Change-Id: Ifc98fcf75f8e78526a0e186b2b14d44f0f7e45ac
2021-08-25 18:24:53 +03:00
Chirayu Desai
96ffcc258d
Bump version to 11-2.1
...
* Only change here is the BIP39 dependency replacement, however
I'm still bumping version so that it's easy to figure out in case
there ever was a build with just 2.0 and not this due to whatever reason
Change-Id: I9783d5e038d002e871c09be6fe61174c5a5b901f
2021-07-06 00:02:14 +05:30
Torsten Grote
05640ebb63
Replace novacrypt BIP39 library with the zcash one
...
which is MIT licensed instead of GPLv3
Change-Id: I30041de5ab1c1f8c7d5f57d6c60e28300a285259
2021-07-05 23:50:18 +05:30
Chirayu Desai
fd4c92bd84
SeedVault 2.0: Now with storage backup!
...
Change-Id: Ifd639c3c9205b417d1ec37c8e7a11a2119b5cb48
2021-07-05 22:35:08 +05:30
Torsten Grote
23e8f6503c
Upgrade storage lib after recent set of changes
2021-07-05 20:08:29 +05:30
Torsten Grote
d13b9ea3fd
Always run storage backups in a foreground service
...
otherwise we get killed for using too much CPU
2021-07-05 20:08:29 +05:30
Torsten Grote
056bdc3bf3
Fix crash that happens when starting RestoreActivity without key
...
This instantiates all sorts of classes down to Restore which accessed the streamKey that is still unavailable at this point. Now it is only instantiated lazily when actually starting a restore.
2021-07-05 20:08:29 +05:30
Torsten Grote
781bcd28d3
Remove storage snapshots from list if we can't decrypt them
2021-07-05 20:08:29 +05:30
Torsten Grote
26e35e1820
Make 'skip' buttons bigger so they are easier to tap
2021-07-05 20:08:29 +05:30
Torsten Grote
a4cbb0b6df
Only request app backup when it is actually enabled
2021-07-05 20:08:29 +05:30
Torsten Grote
1ff8e54748
Re-initialize backup location when changing recovery code
...
* delete all storage backups for current user
* clears the storage backup cache
* start a new app data restore set and initializes it
The reason is that old backups won't be readable anymore with the new key. We also can't delete other backups safely as we did before, because we can't be sure that they don't belong to a different device or user.
2021-07-05 20:08:29 +05:30
Torsten Grote
347d2a316f
Allow using the same storage location on different devices or user profiles
...
Previously, we would put our files directly in the root of the storage location and delete any existing backups there. When used by different devices or user profiles, these would keep deleting each other's backups.
2021-07-05 20:08:29 +05:30
Torsten Grote
a762d1b64e
Upgrade gradle and test libraries
2021-07-05 20:08:29 +05:30
Torsten Grote
342bd2068a
Clear existing storage snapshots from storage medium
...
because that scenario isn't supported at the moment
2021-07-05 20:08:29 +05:30
Torsten Grote
f373f4bb97
release 0.9.7 of storage demo app
2021-07-05 20:08:29 +05:30
Torsten Grote
801dcc42ed
add READMEs and tie them together in main README
2021-07-05 20:08:29 +05:30
Torsten Grote
e77d5cad2c
Update storage design document and add some TODOs to the code
2021-07-05 20:08:29 +05:30
Torsten Grote
858954e82d
Add user dictionary to repo for spellchecker
2021-07-05 20:08:29 +05:30
Torsten Grote
0aee5cc2aa
Provide correct version to associated data
2021-07-05 20:08:29 +05:30
Torsten Grote
e7a8ad50e8
Add version number to chunks cache
...
so we can later do in-place version upgrades and find out which chunks we need to store new versions for
2021-07-05 20:08:29 +05:30
Torsten Grote
61fe823a04
Check that version in snapshot matches the one in chunks
2021-07-05 20:08:29 +05:30
Torsten Grote
be9a84d704
Add storage design document
2021-07-05 20:08:29 +05:30
Torsten Grote
e21207de32
Only require network for storage backups when storage needs network
2021-07-05 20:08:29 +05:30
Torsten Grote
b8ac11e724
apply ktlint to storage.lib as well
2021-07-05 20:08:29 +05:30
Torsten Grote
d6bd36ad8b
Backup now: run storage backup before app backup
2021-07-05 20:08:29 +05:30
Torsten Grote
9ca6cf2aae
Allow to skip app restore to reach file restore
2021-07-05 20:08:29 +05:30
Torsten Grote
bdefb04a0d
Add UI for restoring files after app restore
2021-07-05 20:08:29 +05:30
Torsten Grote
fa123f07a0
Improve finding restore sets
...
now that we store more things in the same folder
2021-07-05 20:08:29 +05:30
Torsten Grote
5b2b75047e
handle storage backup when USB is used as target
2021-07-05 20:08:29 +05:30
Torsten Grote
6c633b70c3
Add storage library (and demo app)
...
and use for periodic files backup
2021-07-05 20:08:29 +05:30
Torsten Grote
1cd3a3a0e6
Fix log message when canceling full backup
2021-07-05 20:08:29 +05:30
Chirayu Desai
5bfc5da3f7
Bump version to 11-1.2
...
Change-Id: I3817cf2320379504a8205125e7fa4894e3e57deb
2021-07-05 19:38:58 +05:30
Dhina17
7f9c2b4eb1
colors: Sync with Settings theme
...
Change-Id: I69366b7744a76658607bd48a81e06975c4c6060c
2021-07-05 19:20:08 +05:30
Torsten Grote
11564c8c35
Make recovery code fit on smaller screens
2021-07-05 18:56:01 +05:30
Chirayu Desai
02c7ba28b9
On phones we tap, not click!
...
Change-Id: Id0f0587b5174810de9e7d8036ca7e1264ea43c76
2021-05-26 23:07:25 +05:30
Michael Bestas
ee61be8361
Fix a couple camel case issues in strings
...
* This should finally cover all strings
2021-05-26 22:52:19 +05:30
Michael Bestas
d53f0fcde2
Switch all text references to github.com/seedvault-app
2021-04-20 03:59:01 +05:30
Torsten Grote
28f9447317
Also consider contacts with account 'com.android.contacts' for backup
...
In our tests with CalyxOS, all local contacts had a null account, but for some reason on LineageOS, those contacts have 'com.android.contacts'. So we now consider this as well.
2021-04-16 23:30:43 +05:30
Chirayu Desai
d5b32d1410
Bump to 11-1.1
...
Also bump contactsbackup to keep the version consistent
Change-Id: I334cd6ea92b241f0ab57a68f05f9b15894b3f543
2021-04-16 22:49:43 +05:30
Torsten Grote
e38f958f9c
Merge pull request #220 from chirayudesai/aosp-key
...
Change signing configuration to use AOSP platform key
2021-03-05 13:49:37 -03:00
Chirayu Desai
b08b1f55f7
Change signing configuration to use AOSP platform key
...
* https://stackoverflow.com/a/40145242
Change-Id: I12d09f299f4f0f7d8879a631d4f3298a18409683
2021-03-05 02:37:27 +05:30
Torsten Grote
ecdc0c2716
Merge pull request #209 from grote/main-key
...
Store main key for key derivations from 512-bit BIP39 recovery code
2021-02-17 09:41:16 -03:00
Torsten Grote
43dbcdfa79
Merge branch 'master' into main-key
2021-02-17 08:19:54 -03:00
Torsten Grote
a0bf7b6ae3
Merge pull request #206 from grote/content-provider-removed-crash
...
Don't crash when storage app gets uninstalled
2021-02-17 08:19:25 -03:00
Torsten Grote
68543dcb91
Store main key also when verifying recovery code
...
in case it wasn't stored before
2021-02-15 12:16:27 -03:00
Torsten Grote
851407037e
Store main key for key derivations from 512-bit BIP39 recovery code
...
This main key will be used later to derive sub-keys for other crypto operations.
2021-02-15 12:16:27 -03:00
Torsten Grote
2cd2f73241
Use a TestApp for UnitTests so we can use different modules for injection
2021-02-15 12:16:27 -03:00
Torsten Grote
fcd8afe072
Don't crash when storage app gets uninstalled
2021-02-09 15:37:05 -03:00
Torsten Grote
263531fec9
Fix camel case in recovery code strings
2021-01-20 03:44:01 +05:30
Torsten Grote
f758bb3110
Delete all backups (if possible) when user generates a new recovery code
2021-01-20 03:44:01 +05:30