Commit graph

680 commits

Author SHA1 Message Date
nautilusx
51293688c9 Translated using Weblate (German)
Currently translated at 100.0% (160 of 160 strings)

Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translation: CalyxOS/Seedvault
Change-Id: I791df0a0ceac12eb492b7837be841bc613f822e0
2022-01-05 01:40:46 +05:30
Oğuz Ersen
3210e79305 Translated using Weblate (Turkish)
Currently translated at 100.0% (160 of 160 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translation: CalyxOS/Seedvault
Change-Id: I509a1c362e1e96e5ac4967e00071b286c675178d
2022-01-05 01:40:46 +05:30
Torsten Grote
7d4fd105bf Fix finishing RequireProvisioningActivity when provisioning is aborted
On Android 11 this worked fine, but on Android 12 onStart() happens before activity results get delivered. We finish the activity when receiving a cancelled result. However, when onStart() gets called before we know the result, we relaunch an activity required for provisioning again instead of finishing.
2022-01-04 21:46:42 +05:30
Torsten Grote
a717ebaf9c
Merge pull request #323 from chirayudesai/12
Android 12 - 12-3.0 - new backup format!
2021-12-15 16:10:43 -03:00
Torsten Grote
0746af4304
Allow DAVx5 DocumentsProvider by default 2021-11-12 14:34:00 -03:00
Chirayu Desai
e972956929 Android 12 - 12-3.0
* Bump version following versioning scheme
* 3.0 now following new backup format
* Add initial entry to changelog

Change-Id: Ifca1b3feac0f510890450a1999b42897894d58ee
2021-10-13 18:06:30 +05:30
Torsten Grote
b0c6eeb9f7 Clean up stuck notifications when service gets killed 2021-10-13 17:16:16 +05:30
Torsten Grote
c7880b8a8b Don't crash when no store app is installed 2021-10-13 16:25:41 +05:30
Torsten Grote
c5a295d31c Allow storage backups to launch foreground service from background 2021-10-13 16:25:41 +05:30
Torsten Grote
97398f1c5c Build build storage backup lib within AOSP
This removes the AAR binary from the repo as it isn't needed anymore. Also room schema migrations will need to be one manually in the future as schema export doesn't seem to work in AOSP.
2021-10-13 16:25:41 +05:30
Torsten Grote
5662409ef5 Fix icon colors 2021-10-13 16:25:41 +05:30
Torsten Grote
75d4c7d05c Don't use setUnlockedDeviceRequired() on the backup key
as importing it with Android 12 GSI fails. This key is only used to restore old backups anyway and the new one doesn't use this restriction.
2021-10-13 16:25:41 +05:30
Torsten Grote
579919d5e7 Code style and lint after Android 12 version bumps 2021-10-13 16:25:41 +05:30
Torsten Grote
e80d89f0a2 Use our transport flags when creating RestoreSets
This hopefully prevents apps skipping restore that require end-to-end encrypted backup transports.

3762670bb7
2021-10-13 16:25:41 +05:30
Torsten Grote
7f4b565d2a First version bumps for Android 12 2021-10-13 16:25:41 +05:30
Torsten Grote
b029b0b029 Improve behavior of @pm@ backups when we can't do backups
Before, we were faking a backup and just returned true, but remembering that next time, we need to do a fresh non-incremental @pm@ backup.
Now, we backup to local cache, but don't upload it. On next run, when we can do backups again, we will upload the updated cache. This simplifies things and reduces the special logic required.
2021-10-13 16:15:20 +05:30
Torsten Grote
36c35d6f98 Force backup initialization when we have no cached metadata
as it can happen after clearing app data
2021-10-13 16:15:20 +05:30
Torsten Grote
c59a006a00 Remove @pm@ optimization from BackupNotificationManager
as it shouldn't be needed anymore
2021-10-13 16:15:20 +05:30
Torsten Grote
b8b6882484 Don't try to clear data of NO_DATA system apps
This speeds up the backup quite a bit since there's many such apps
2021-10-13 16:15:20 +05:30
Torsten Grote
79777a7b6f Close K/V DB after restoring records
also don't log stack trace when not finding backup type
2021-10-13 16:15:20 +05:30
Torsten Grote
ef5d1c3bc8 Port auto restore optimization from legacy v0 code to new v1 code 2021-10-13 16:15:20 +05:30
Torsten Grote
3c5e4120c7 Refactor Storage Plugin API 2021-10-13 16:15:20 +05:30
Torsten Grote
50066f0317 Let ApkBackup and ApkRestore use the new storage plugin API 2021-10-13 16:15:20 +05:30
Torsten Grote
183e34afd2 Remove legacy backup plugin code 2021-10-13 16:15:20 +05:30
Torsten Grote
1885021c1c Move backup of APKs of opt-out apps to after uploading @pm@ DB 2021-10-13 16:15:20 +05:30
Torsten Grote
a0f3c6b45f K/V restore using single file 2021-10-13 16:15:20 +05:30
Torsten Grote
0c915e5eb8 K/V backup using single file
Tests are still broken until restore has also been implemented with single file approach
2021-10-13 16:15:20 +05:30
Torsten Grote
23bb385190 Use new storage API for full restore 2021-10-13 16:15:20 +05:30
Torsten Grote
674568ca11 Use new storage API for full backups 2021-10-13 16:15:20 +05:30
Torsten Grote
4bdaaa0ce9 Make RestoreCoordinator use the new storage API with salt and backup type
This breaks restores until all the other required changed have been implemented.
2021-10-13 16:15:20 +05:30
Torsten Grote
75cf014e5d Add crypto method to get salted names for package data and APKs
This will only hide installed apps from naive attackers as the APKs are still not encrypted and even then other attacks would be possible.

However, it allows us to simplify our storage plugin API.
2021-10-13 16:15:20 +05:30
Torsten Grote
793663acb5 Add salt and backup type to metadata 2021-10-13 16:15:20 +05:30
Torsten Grote
39cb0c6443 Factor getting secure random bytes into Crypto interface 2021-10-13 16:15:20 +05:30
Torsten Grote
a77d927624 Remove deprecated methods from BackupPlugin 2021-10-13 16:15:20 +05:30
Torsten Grote
db4103e752 Move code to get available backups from RestorePlugin to BackupPlugin 2021-10-13 16:15:20 +05:30
Torsten Grote
5d1e3debd1 Define new and simpler BackupPlugin API
leaving the old one in place still
2021-10-13 16:15:20 +05:30
Torsten Grote
2932af463c Check version of backup files against expected version from metadata
and throw security exception if it does not match
2021-10-13 16:15:20 +05:30
Torsten Grote
5523e57fe7 Add current metadata to RestoreCoordinator state
so we know which backup version we need to expect during restore
2021-10-13 16:15:20 +05:30
Torsten Grote
bcb245531c Refactor fetching of restorable backups
so that we don't go through the BackupManager API, but use RestoreCoordinator directly
2021-10-13 16:15:20 +05:30
Torsten Grote
aeafc80bb9 Clean up after moving all backup code to new v1 version 2021-10-13 16:15:20 +05:30
Torsten Grote
f4dc776ed3 Do full backups with new version 1 with new crypto
Restoring still supports version 0 with old crypto
2021-10-13 16:15:20 +05:30
Torsten Grote
0c3ea7679b Do K/V backup with new version 1 with new crypto
Restoring still supports version 0 with old crypto
2021-10-13 16:15:20 +05:30
Torsten Grote
3ffb79b04f Write metadata with new version 1
Reading still supports version 0
2021-10-13 16:15:20 +05:30
Torsten Grote
0f241f7d25 Ensure that we have the main key for v1 crypto
We ask the user to generate a new key, because actively asking for the old one is training bad security habits, but technically verifying the old key will also work.
2021-10-13 16:15:20 +05:30
Torsten Grote
7dceb98670 Add test for decrypting and reading version 0 metadata 2021-10-13 16:15:20 +05:30
Torsten Grote
b707d7f9d0 Add test for full and k/v restore of version 0 backups 2021-10-13 16:15:20 +05:30
Michael Bestas
1cae6dc60e Bump version to 11-2.3
Change-Id: I792a1b1039f2ffcf23301334914b9c1fc75244ef
2021-10-05 01:34:35 +05:30
Michael Bestas
bfdf69c2f0 Switch all translations references to github.com/seedvault-app
Change-Id: I400b831c64ca72aa07940e323885595e864b2745
2021-10-05 01:34:35 +05:30
Michael Bestas
dce3ad244d Fix translations after replacing novacrypt BIP39 library
Change-Id: Ie8fe00a8d870374ce86c3766307f954dc9d259ba
2021-10-05 01:34:35 +05:30
Chirayu Desai
88f44a9f66 Merge branch 'master' of https://github.com/seedvault-app/seedvault into android11-11-2.2-merge
* 'master' of https://github.com/seedvault-app/seedvault: (50 commits)
  Bump version to 11-2.2
  Changelog: Update till 11-2.1
  Restrict exported components
  Allow launching restore through a dialer code
  Add expert settings with an option for unlimited quota
  Prevent screenshots of recovery code
  Use clearer more generic strings
  Ask for system authentication before storing a new recovery code
  Split up validating, verifying and storing of recovery code
  Disable Nextcloud restore when not installed and no store available
  Disable spell-checker on recovery code input
  Add warning for third-party tools to README
  document potential information leakage through the long-lived SQL caches
  Provide an overview over key derivations
  Compares kotlin-bip39 library with bitcoinj library
  Link FAQ in Readme to make it more discoverable
  Move LocalContactsBackup to product partition
  Add newline at the end of all files
  Improve .editorconfig setup
  Don't backup on metered networks
  ...

Conflicts:
	app/src/main/res/values-de/strings.xml
	app/src/main/res/values-es/strings.xml
	app/src/main/res/values-pt/strings.xml
	app/src/main/res/values-zh-rCN/strings.xml

Conflicts resolved by simply checking out translations from android11,
since they are not modified in master at all.

Change-Id: I0a83c72dbc78b38985b46f9b75ce92e27acd2e03
2021-09-29 19:52:03 +05:30
Chirayu Desai
08abcb63d7 Bump version to 11-2.2
User-facing changes:
* Don't backup on metered networks
* Disable spell-checker on recovery code input
* Disable Nextcloud restore when not installed and no store available
* Ask for system authentication before storing a new recovery code
* Prevent screenshots of recovery code
* Add expert settings with an option for unlimited quota
* Allow launching restore through a dialer code
* Restrict exported components

Others:
* Improve .editorconfig setup
* Move LocalContactsBackup to product partition
* Link FAQ in Readme to make it more discoverable
* Compares kotlin-bip39 library with bitcoinj library
* Provide an overview over key derivations
* document potential information leakage through the long-lived SQL caches
* Add warning for third-party tools to README

Change-Id: I095af13d0ff010c9602bc323267c074ce7d019a2
2021-09-29 19:33:45 +05:30
flawedworld
b2cd3c76a3 Restrict exported components
Change-Id: I30e5f530b6814acd4d3940279de6100f82e68445
2021-09-29 18:57:14 +05:30
Chirayu Desai
38f01765ec Allow launching restore through a dialer code
* We don't show Restore in menu by default since it's
  not the best idea to restore a running system
* However, at the same time, it's good to have a way to do
  that for those who'd like to restore anyway, and the only
  current way is adb, which is not ideal
* Dialing "*#*#RESTORE#*#*" will launch the restore activity

Change-Id: I258fead82f7e916a4de0b314e1840d7aa4b3746c
2021-09-29 18:57:14 +05:30
Torsten Grote
a5a3a85c6c Add expert settings with an option for unlimited quota
Change-Id: Iebaea41ce4e69912f7cb723bd92e94e4396aa657
2021-09-28 22:02:04 +05:30
Torsten Grote
d2a748c34a Prevent screenshots of recovery code
This is may be inconvenient for some people, but it is way more secure as screenshots can be accessed by malicious apps that look our for BIP39 codes. Better to store the code on paper.
2021-09-24 02:55:56 +05:30
Torsten Grote
3b1a4e3881 Use clearer more generic strings 2021-09-24 02:55:56 +05:30
Torsten Grote
6e838978e3 Ask for system authentication before storing a new recovery code
This will help to prevent data extraction via seedvault when somebody gets hold of an unlocked phone. However, it will not help against someone able to force you to provide fingerprints or other device secrets.
2021-09-24 02:55:56 +05:30
Torsten Grote
e0f728205d Split up validating, verifying and storing of recovery code 2021-09-24 02:55:56 +05:30
Alex
5bca365c14 Translated using Weblate (Tamil)
Currently translated at 97.7% (132 of 135 strings)

Co-authored-by: Alex <alexraj2003@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ta/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Shanavas
28e02a144a Translated using Weblate (Malayalam)
Currently translated at 12.5% (17 of 135 strings)

Co-authored-by: Shanavas <shanavas.m2@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ml/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
bruh
9fde673be6 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/vi/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Maciej Błędkowski
584c76e0af Translated using Weblate (Polish)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Maciej Błędkowski <mble@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
ssantos
a9f10b4749 Translated using Weblate (Portuguese)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Kaantaja
18ce429db5 Translated using Weblate (Finnish)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Kaantaja <ufdbvgoljrjkrkyyub@ianvvn.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fi/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Tymofii Lytvynenko
b4e5d1a9d3 Translated using Weblate (Ukrainian)
Currently translated at 100.0% (135 of 135 strings)

Translated using Weblate (Ukrainian)

Currently translated at 25.9% (35 of 135 strings)

Co-authored-by: Tymofii Lytvynenko <till.svit@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/uk/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Gediminas Murauskas
ac3f996660 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/lt/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Óscar Fernández Díaz
f7ab10f526 Translated using Weblate (Spanish)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
František Oboňa
710a9c39bf Translated using Weblate (Slovak)
Currently translated at 99.2% (134 of 135 strings)

Translated using Weblate (Slovak)

Currently translated at 11.8% (16 of 135 strings)

Co-authored-by: František Oboňa <frantisekobona@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/sk/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
oksya8and8
d175c3f5c8 Translated using Weblate (Japanese)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: oksya8and8 <darknessyasuko@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ja/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Taro Tanaka
f74f27bd6a Translated using Weblate (Japanese)
Currently translated at 31.8% (43 of 135 strings)

Co-authored-by: Taro Tanaka <anon_japan@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ja/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Yuya Shimbori
7f0d9a8ce2 Translated using Weblate (Japanese)
Currently translated at 29.6% (40 of 135 strings)

Co-authored-by: Yuya Shimbori <yuyaj@tutanota.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ja/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
ibukinus
fef672d875 Translated using Weblate (Japanese)
Currently translated at 20.0% (27 of 135 strings)

Co-authored-by: ibukinus <myon.ibuki@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ja/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Algustionesa Yoshi
ce3d440e3d Translated using Weblate (Indonesian)
Currently translated at 48.1% (65 of 135 strings)

Co-authored-by: Algustionesa Yoshi <algustionesa@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/id/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Noway Imtellingyouidiot
f4c6047919 Translated using Weblate (Hungarian)
Currently translated at 48.1% (65 of 135 strings)

Co-authored-by: Noway Imtellingyouidiot <johns.videos+weblate@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/hu/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Shashi A
a11298c263 Translated using Weblate (Telugu)
Currently translated at 95.5% (129 of 135 strings)

Translated using Weblate (Telugu)

Currently translated at 65.1% (88 of 135 strings)

Co-authored-by: Shashi A <bitcoinbabu401@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/te/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Yurical
4605e2d853 Translated using Weblate (Korean)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Yurical <yurical1@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ko/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Allan Nordhøy
4ba0456971 Translated using Weblate (Norwegian Bokmål)
Currently translated at 69.6% (94 of 135 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/nb_NO/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Oğuz Ersen
5a7d109e11 Translated using Weblate (Turkish)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Artem
6e1d2f9055 Translated using Weblate (Russian)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Artem <Localizer_in_Russian@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Eric
087f8b726c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
nautilusx
25e2ca8b7d Translated using Weblate (German)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Chirayu Desai
77b8ac9a50 Deleted translation using Weblate (Spanish (Argentina))
Deleted translation using Weblate (Uyghur)

Co-authored-by: Chirayu Desai <chirayudesai1@gmail.com>
2021-09-24 02:54:42 +05:30
Weblate
6f7c1c2000 Added translation using Weblate (Spanish (Argentina))
Added translation using Weblate (Uyghur)

Co-authored-by: Weblate <noreply@weblate.org>
2021-09-24 02:54:42 +05:30
Alexandre Brochand
da4a58810b Translated using Weblate (French)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Alexandre Brochand <armandleborgne@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
ArunJRK
55d7d62624 Translated using Weblate (Tamil)
Currently translated at 1.4% (2 of 135 strings)

Co-authored-by: ArunJRK <Arun.jrk99@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ta/
Translation: CalyxOS/Seedvault
2021-09-24 02:54:42 +05:30
Michael Bestas
26516d72a2 Disable Nextcloud restore when not installed and no store available
Attempting to install Nextcloud in SetupWizard on a device
that has no app store installed results in a crash.
Disable the option and use an appropriate summary.

Change-Id: Ie3dff8d85ed68b27858fa37b3efb97eb345fa372
2021-09-24 02:53:10 +05:30
Torsten Grote
71f7fd8474 Disable spell-checker on recovery code input
to prevent potential cloud learning or otherwise leaking code
2021-09-24 02:52:06 +05:30
Torsten Grote
d6a95e40ec Compares kotlin-bip39 library with bitcoinj library
to ensure that kotlin-bip39 is not malicious and can be upgraded safely
2021-09-24 00:02:43 +05:30
Torsten Grote
b149195e7a
Merge branch 'master' into code-style 2021-09-08 05:37:02 -03:00
Michael Bestas
532ed5e3f1
Add newline at the end of all files
Change-Id: I85718a4d8254d27e36f1712e4430e82863ba721e
2021-08-25 18:25:00 +03:00
Luca Stefani
bc24c7804d Don't backup on metered networks
* We better not overuse metered networks as such connections
* are usually sensitive to heavy data usage due to monetary costs and/or data limitations.
2021-08-25 14:59:49 +02: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
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
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
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
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
cda1e0c98e
Merge branch 'android11' into android11-merge-master/11-1.2 2021-07-05 19:46:24 +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
d7e2cd67e9 l10n: zh-rCN: Fix xliff:g
Change-Id: I2506aa8f92ec57bd2bb1a1426c45742a283b1400
2021-07-05 18:21:48 +05:30
Chirayu Desai
c102fb5166 l10n: my: Remove English strings
* Only added since I couldn't figure out how to delete this translation from weblate

Change-Id: I8127dbee63a9dcf15ef8d404ce4313a52d7ca4b4
2021-07-05 18:21:48 +05:30
Chirayu Desai
12fe1ef6ef l10n: fi,it: Fix < and >
Change-Id: I28b19ca0de11eb07d233416271fd5f5a0fd76ac3
2021-07-05 18:21:48 +05:30
Chirayu Desai
bf70bec4f0 Translated using Weblate (Burmese)
Currently translated at 51.1% (69 of 135 strings)

Translated using Weblate (Burmese)

Currently translated at 50.3% (68 of 135 strings)

Translated using Weblate (Burmese)

Currently translated at 48.8% (66 of 135 strings)

Co-authored-by: Chirayu Desai <chirayudesai1@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/my/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Daisuke Masamura
3c2eeb089f Translated using Weblate (Japanese)
Currently translated at 17.7% (24 of 135 strings)

Co-authored-by: Daisuke Masamura <weblate.p1q2j@8shield.net>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ja/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
matuo
cb967f874f Translated using Weblate (Japanese)
Currently translated at 17.7% (24 of 135 strings)

Co-authored-by: matuo <longman.longest@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ja/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Daimar Stein
964f13c63e Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Daimar Stein <570cxat11@relay.firefox.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Artem
71c016e68c Translated using Weblate (Russian)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Artem <KovalevArtem.ru@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Michael Bestas
abfc82c981 Translated using Weblate (Greek)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Michael Bestas <mkbestas@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/el/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
m4sk1n
8ee9b2555a Translated using Weblate (Polish)
Currently translated at 99.2% (134 of 135 strings)

Translated using Weblate (Polish)

Currently translated at 51.8% (70 of 135 strings)

Co-authored-by: m4sk1n <me@m4sk.in>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Jim_Di
c26b679804 Translated using Weblate (Russian)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Jim_Di <jim_digriz@bk.ru>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Jan Myler
50427c0493 Translated using Weblate (Czech)
Currently translated at 99.2% (134 of 135 strings)

Co-authored-by: Jan Myler <weblate@jm24.4wrd.cc>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/cs/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Alexandre Brochand
d1465d085d Translated using Weblate (French)
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Alexandre Brochand <armandleborgne@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Iris S
b9e0d163d9 Translated using Weblate (Greek)
Currently translated at 99.2% (134 of 135 strings)

Co-authored-by: Iris S <iris.sousouni@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/el/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Óscar Fernández Díaz
247775c77c Translated using Weblate (Spanish)
Currently translated at 100.0% (135 of 135 strings)

Translated using Weblate (Spanish)

Currently translated at 100.0% (135 of 135 strings)

Translated using Weblate (Spanish)

Currently translated at 97.0% (131 of 135 strings)

Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Oscar Nydza
cd3d0bc493 Translated using Weblate (Spanish)
Currently translated at 100.0% (135 of 135 strings)

Translated using Weblate (Spanish)

Currently translated at 97.0% (131 of 135 strings)

Translated using Weblate (Spanish)

Currently translated at 91.8% (124 of 135 strings)

Co-authored-by: Oscar Nydza <onn.tico@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
ssantos
d20cdb2112 Translated using Weblate (Portuguese)
Currently translated at 88.8% (120 of 135 strings)

Translated using Weblate (Portuguese (Portugal))

Currently translated at 88.1% (119 of 135 strings)

Translated using Weblate (Portuguese)

Currently translated at 88.8% (120 of 135 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_PT/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Nikita Epifanov
31ad6afe2e Translated using Weblate (Russian)
Currently translated at 97.7% (132 of 135 strings)

Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Eric
c3baa62d3c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (135 of 135 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Chaitanya Chowdary
a20bd468c8 Translated using Weblate (Telugu)
Currently translated at 20.0% (27 of 135 strings)

Translated using Weblate (Telugu)

Currently translated at 21.7% (27 of 124 strings)

Co-authored-by: Chaitanya Chowdary <chaitanyachowdaryy@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/te/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Przemysław Kuciel
ab67ab62aa Translated using Weblate (Polish)
Currently translated at 27.4% (34 of 124 strings)

Co-authored-by: Przemysław Kuciel <kludummy@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
nader ahmed
a082b3c603 Translated using Weblate (Arabic)
Currently translated at 12.0% (15 of 124 strings)

Co-authored-by: nader ahmed <naderabdalmonem0@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ar/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Daniel Martins
8b44197837 Translated using Weblate (Portuguese)
Currently translated at 99.1% (123 of 124 strings)

Co-authored-by: Daniel Martins <daniel.tritone@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Joel D'Silva
06104068e5 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: Joel D'Silva <jdms.contato@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Antoine Manderlier
3cb4a21a11 Translated using Weblate (French)
Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: Antoine Manderlier <antoine.manderlier@posteo.net>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Zkdc
06b58dc78c Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (124 of 124 strings)

Translated using Weblate (Chinese (Simplified))

Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: Zkdc <Zkdc2345@qq.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Reza Almanda
4e528f60af Translated using Weblate (Indonesian)
Currently translated at 20.1% (25 of 124 strings)

Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/id/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Nekromanser
9dbf3077b6 Translated using Weblate (Finnish)
Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: Nekromanser <ari.taitto@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fi/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Zeyarpo
2f9d3da39e Translated using Weblate (Burmese)
Currently translated at 52.4% (65 of 124 strings)

Co-authored-by: Zeyarpo <zeyar.po@foodpanda.com.mm>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/my/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Óscar Fernández Díaz
0497d0d546 Translated using Weblate (Spanish)
Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: Óscar Fernández Díaz <oscfdezdz@tuta.io>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
IT
2657744382 Translated using Weblate (Russian)
Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: IT <it@hardened.space>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Allan Nordhøy
db4303af8c Translated using Weblate (Norwegian Bokmål)
Currently translated at 79.0% (98 of 124 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/nb_NO/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
luizagdelima
181460fe01 Translated using Weblate (Portuguese (Portugal))
Currently translated at 4.0% (5 of 124 strings)

Co-authored-by: luizagdelima <2191250@iscap.ipp.pt>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_PT/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Oymate
34c7d3ff15 Translated using Weblate (Bengali)
Currently translated at 4.0% (5 of 124 strings)

Co-authored-by: Oymate <dhruboadittya96@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/bn/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Yurical
2cec239322 Translated using Weblate (Korean)
Currently translated at 94.8% (128 of 135 strings)

Translated using Weblate (Korean)

Currently translated at 95.9% (119 of 124 strings)

Co-authored-by: Yurical <yurical1@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ko/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
S
532f0e82e0 Translated using Weblate (Italian)
Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: S <sandro.campi@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/it/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
joaooliva
9db3c9c8f1 Translated using Weblate (Portuguese (Brazil))
Currently translated at 89.5% (111 of 124 strings)

Co-authored-by: joaooliva <joaooliva@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
nautilusx
339a433b44 Translated using Weblate (German)
Currently translated at 100.0% (135 of 135 strings)

Translated using Weblate (German)

Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +05:30
Oğuz Ersen
42edf5e01d Translated using Weblate (Turkish)
Currently translated at 100.0% (135 of 135 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (124 of 124 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translation: CalyxOS/Seedvault
2021-07-05 18:13:56 +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
Chirayu Desai
0e3147b365 Bump to 11-1.1
Also bump contactsbackup to keep the version consistent

Change-Id: I334cd6ea92b241f0ab57a68f05f9b15894b3f543
2021-04-16 23:04:30 +05:30
Chirayu Desai
54ae006652 Change signing configuration to use AOSP platform key
* https://stackoverflow.com/a/40145242

Change-Id: I12d09f299f4f0f7d8879a631d4f3298a18409683
2021-04-16 23:04:30 +05:30
Torsten Grote
100a99484a Store main key also when verifying recovery code
in case it wasn't stored before
2021-04-16 23:04:30 +05:30
Torsten Grote
c8a7e763d6 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-04-16 23:04:30 +05:30
Torsten Grote
6a5eaea2fd Use a TestApp for UnitTests so we can use different modules for injection 2021-04-16 23:04:30 +05:30
Torsten Grote
e8fbc3fbe7 Don't crash when storage app gets uninstalled 2021-04-16 23:04:30 +05:30
Torsten Grote
1bbaf3f55b Fix camel case in recovery code strings 2021-04-16 23:04:30 +05:30
Torsten Grote
4271fd6005 Delete all backups (if possible) when user generates a new recovery code 2021-04-16 23:04:30 +05:30
Torsten Grote
395cc4c899 Allow user to generate new recovery code 2021-04-16 23:04:30 +05:30
Torsten Grote
d64413a7c3 Allow user to verify existing recovery code 2021-04-16 23:04:30 +05:30
Torsten Grote
9bba81ed5c Add message to AssertionError to track down why it happens 2021-04-16 23:04:30 +05:30
Michael Bestas
af45233e02 strings: Avoid using camel case
Change-Id: I0365a381f4c2f28d3d61b4f90c66af9e557a50d2
2021-04-16 23:04:30 +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
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
43dbcdfa79
Merge branch 'master' into main-key 2021-02-17 08:19:54 -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
Torsten Grote
ca2a56f023 Allow user to generate new recovery code 2021-01-20 03:44:01 +05:30
Torsten Grote
9dc29e4b0a Allow user to verify existing recovery code 2021-01-20 03:44:01 +05:30
Torsten Grote
b7aedda90c
Add message to AssertionError to track down why it happens 2020-12-18 08:45:18 -03:00
Michael Bestas
4906a00786 strings: Avoid using camel case
Change-Id: I0365a381f4c2f28d3d61b4f90c66af9e557a50d2
2020-11-26 01:26:37 +05:30
Michael Bestas
34dcc083d4 Fix translations for master branch
Change-Id: Ic0a03f6806cce85b00e22dfe70c2d9b1a27b5602
2020-11-26 00:49:04 +05:30
Pera Petrovic
e8de37c549 Translated using Weblate (Serbian (latin))
Currently translated at 8.7% (10 of 114 strings)

Co-authored-by: Pera Petrovic <srdjan.todorovic.872019@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/sr_Latn/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Milo Ivir
b0b4391606 Translated using Weblate (Croatian)
Currently translated at 100.0% (114 of 114 strings)

Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/hr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
caioau
68c1029633 Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (114 of 114 strings)

Co-authored-by: caioau <caioau@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Michael Bestas
fe94d45f25 Compatibility symlinks for weblate translations
* Map weblate locale code to AOSP locale

Change-Id: I9e03b48ca00d8446416681a48c1ad3c2f5f63c42
2020-11-26 00:49:04 +05:30
Michael Bestas
3803a22dfe Fix broken translations
Change-Id: I5c3aa867cbc3952c1ea19b85bc3694476e69be7d
2020-11-26 00:49:04 +05:30
Óscar Fernández Díaz
663d12db4a Translated using Weblate (Spanish)
Currently translated at 100.0% (114 of 114 strings)

Co-authored-by: Óscar Fernández Díaz <oscfdezdz00@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
sock-et
c3e4e62374 Translated using Weblate (Italian)
Currently translated at 60.5% (69 of 114 strings)

Co-authored-by: sock-et <inline.py@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/it/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Yurical
a42aa90594 Translated using Weblate (Korean)
Currently translated at 94.7% (108 of 114 strings)

Translated using Weblate (Korean)

Currently translated at 88.5% (101 of 114 strings)

Co-authored-by: Yurical <yurical1@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ko/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Eric
8387ee09ae Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (114 of 114 strings)

Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
tamer dab
2570befba8 Translated using Weblate (Arabic)
Currently translated at 8.7% (10 of 114 strings)

Translated using Weblate (Hebrew)

Currently translated at 100.0% (114 of 114 strings)

Co-authored-by: tamer dab <dabsantamer@yahoo.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ar/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
LOyoujoLI
09888a228d Translated using Weblate (Russian)
Currently translated at 96.4% (110 of 114 strings)

Co-authored-by: LOyoujoLI <minion2018@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Kyuzial
51f8a29316 Translated using Weblate (French)
Currently translated at 99.1% (113 of 114 strings)

Co-authored-by: Kyuzial <kyuzial@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
nautilusx
3189773443 Translated using Weblate (German)
Currently translated at 100.0% (114 of 114 strings)

Co-authored-by: nautilusx <mail.ka@mailbox.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Nikita Epifanov
5fef513d86 Translated using Weblate (Russian)
Currently translated at 94.7% (108 of 114 strings)

Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Michael Bestas
d357b68a91 Translated using Weblate (Greek)
Currently translated at 100.0% (114 of 114 strings)

Co-authored-by: Michael Bestas <mkbestas@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/el/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Oğuz Ersen
1b991dd83b Translated using Weblate (Turkish)
Currently translated at 100.0% (114 of 114 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Atrate
9c4be5194e Translated using Weblate (Polish)
Currently translated at 25.0% (28 of 112 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
2020-11-26 00:49:04 +05:30
Allan Nordhøy
4f9c13657b Translated using Weblate (Norwegian Bokmål)
Currently translated at 78.5% (88 of 112 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/nb_NO/
2020-11-26 00:49:04 +05:30
ssantos
36bb4c6494 Translated using Weblate (Portuguese)
Currently translated at 97.3% (109 of 112 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Atrate
d1225ef61b Translated using Weblate (Polish)
Currently translated at 22.3% (25 of 112 strings)

Co-authored-by: Atrate <Atrate@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Milo Ivir
7199e78e6b Translated using Weblate (Croatian)
Currently translated at 100.0% (112 of 112 strings)

Co-authored-by: Milo Ivir <mail@milotype.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/hr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Yaron Shahrabani
607df522af Translated using Weblate (Hebrew)
Currently translated at 100.0% (112 of 112 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translation: CalyxOS/Seedvault
Change-Id: Id58ce22954ae88f5856ae64879c7fbd56b2d1a62
2020-11-26 00:49:04 +05:30
Chirayu Desai
9ce543812f Translated using Weblate (French)
Currently translated at 80.3% (90 of 112 strings)

Co-authored-by: Chirayu Desai <chirayudesai1@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Nikita Epifanov
746882587b Translated using Weblate (Russian)
Currently translated at 100.0% (112 of 112 strings)

Translated using Weblate (Russian)

Currently translated at 98.2% (110 of 112 strings)

Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2020-11-26 00:49:04 +05:30
Torsten Grote
c885499faf
Remove string that isn't needed anymore and change one 2020-11-25 08:41:46 -03:00
Torsten Grote
4ea563f8a3
Handle local contacts backup specially in app list
as it might not be installed
2020-11-18 17:21:10 -03:00
Torsten Grote
14f6e5ad93
Adapt main screen to new design 2020-11-18 17:14:24 -03:00
Torsten Grote
020a50533c
exclude apps from backup: react also when only switch is tapped
Fixes #83
2020-11-18 17:05:26 -03:00
Torsten Grote
b1a0c1b2e2
Group app status list into three sections
* important system apps
* user apps
* apps not allowing backup
2020-11-18 16:35:45 -03:00
Steve Soltys
9daaeea55d Move CI to GitHub Actions 2020-11-10 16:34:40 -05:00
Torsten Grote
7694eb3cf9 Move to different versioning scheme and show version in About dialog 2020-10-29 20:50:53 +05:30
Torsten Grote
81cd67217b Show backup status of select system apps 2020-10-29 20:23:01 +05:30
Torsten Grote
e9f3c08220
Make MANAGE_DOCUMENTS permission optional
for those who can not or do not want to use it

Fixes #58
2020-10-23 07:37:16 -03:00
Torsten Grote
f5e9c30d17
Also check internet access when determining whether backup storage is available
This commit also refactors the code in SettingsFragment and moves it into the SettingsViewModel.
The UsbMonitor turned out not to be reliable in determining changes to USB storage, so it was replaced with a ContentObserver which works for other storage types as well.
2020-10-23 07:34:00 -03:00
Torsten Grote
82048f2754
Don't mess with backup system settings as they can't be used to reliably prevent automatic updates anyway 2020-10-23 07:34:00 -03:00
Torsten Grote
e2f0d19f77
Pretend to make successful @pm@ backup when no backup is possible
This is the same behavior as Google backup when it has no internet connection and after extensive research the only option we can keep the system from considering the backup state to be compromised.

K/V backups are run at least every day, no matter what backup interval we set in settings and when they run, we don't get asked before, if now is a good time for backups. So we need to fake an OK for @pm@ backup and can error out afterwards without compromising state.
2020-10-23 07:33:59 -03:00
Torsten Grote
141fe7575d
Check also availability of internet access when using online storage
This moves these availability checks into the Storage class, so they can be used in various places without duplicating code.
2020-10-23 07:33:59 -03:00
Torsten Grote
0a2131e108
Check availability of storage on IO thread 2020-10-23 07:33:59 -03:00
Torsten Grote
7401ead553
Request backoff when asked to backup to network storage while no internet available
K/V backups are normally only attempted when charging and having an (un-metered) internet connection. However, if the system could not do a backup for more than a day, it ignores these requirements and still attempts a backup run. If a backup storage is used that is only accessible on the internet, but there is no internet connection, the backup attempt will fail. Therefore, we check if our storage requires the internet and if so, we treat it similar to a removable storage, by rejecting backup attempts and suppressing error notifications.
2020-10-23 07:33:58 -03:00
Torsten Grote
f356f56746
Demote hard name checks to IOExceptions
because it turns out SAF naming things 'null' is a thing
2020-10-23 07:33:58 -03:00
Torsten Grote
2aa3a1b4be
When opening app status from notification, ensure the settings are below
so back navigation works as expected
2020-10-23 07:33:58 -03:00
Torsten Grote
df788ba9a4
Don't assume backup is running when success or error notifications are shown 2020-10-23 07:33:56 -03:00
Torsten Grote
2cde417c8c
Add config option to re-install apps with feature modules only on same device
There is a possibility that incompatible APK splits make a an app crash when starting after re-installing it.
With that config option each OEM can decide with they want to take this risk or not.
2020-10-22 08:00:55 -03:00
Torsten Grote
e6723093c9
Android Studio 4.1 and changes to test files 2020-10-22 08:00:54 -03:00
Torsten Grote
a833df2165
Show dialog explaining auto-restore after a restore failed due to not all apps being installed 2020-10-22 08:00:54 -03:00
Torsten Grote
0f0f198228
Add unit tests for re-installing apps with APK splits 2020-10-13 16:19:05 -03:00
Torsten Grote
608e67cb65
Refactor existing ApkRestore unit tests to make adding new ones easier 2020-10-13 16:19:05 -03:00
Torsten Grote
b3db859b40
Re-install APK splits if they are compatible and have proper hash 2020-10-13 16:07:19 -03:00
Torsten Grote
68a6403c4b
Add a compatibility checker for APK splits
that tries to figure out compatibility only based on the name of the split.
This is not an exact science and there might be errors, but we hope to correctly identify most cases that matter in practice.
2020-10-13 16:07:19 -03:00
Torsten Grote
3487c91ba3 Do not re-install apps that require splits
The app will be shown as failed during restore and the user will be given the opportunity to re-install it manually via an installed ap store
2020-10-13 18:32:04 +05:30
Torsten Grote
643247b600 Change UI for re-installation of system apps
We are re-installing system apps if they are present on the restore device as a system app and have a newer version code.
Before, when one of those conditions is not true, we were showing a failure and gave the user the option to re-install the app from an app store.
Now, we don't offer the manual re-install option anymore and only show a success when a newer or same version of the system app is already installed.
2020-10-13 18:32:04 +05:30
Torsten Grote
0971c5db19 Do not back up APKs of test-only apps, as we can not re-install them anyway
The flag to allow installation gets filtered out after we set it:
http://aosp.opersys.com/xref/android-11.0.0_r5/xref/frameworks/base/services/core/java/com/android/server/pm/PackageInstallerService.java#544
2020-10-13 18:32:04 +05:30
Torsten Grote
0a8a286826 Update state of opt-out apps, even if they never had any state 2020-10-13 18:32:04 +05:30
Torsten Grote
a9402f4644 Update app install state after user comes back from manually installing an app
This way, the list of failed apps ideally keeps shrinking, allowing the user to see which apps are still left in a failed state.
2020-10-13 18:32:04 +05:30
Torsten Grote
1a81e2ddd6 If possible, open the app store an app was originally installed with
When an app fails to install during restore, we offer the option to manually install it.
If this doesn't happen with the same app store,
it is likely that the installed app will have a different signature (e.g. Aurora vs. F-Droid).
If the signature doesn't match, the data restore will fail.
Therefore, we attempt to let the user only use the same store for re-install.

There's a known issue that F-Droid doesn't report the proper package name:
https://gitlab.com/fdroid/fdroidclient/-/issues/2085
2020-10-13 18:32:04 +05:30
Torsten Grote
d6cb34c211 Allow the user to manually re-install apps before data restore starts
When one or more apps fail to install, the user is shown a dialog explaining that we need the apps installed in order for restore to work.
After the dialog is dismissed, the list of apps is resorted so failed apps are at the top. They are made clickable and the user is brought to an app store to re-install them.
2020-10-13 18:32:04 +05:30
Torsten Grote
747384fb59 Refactor InstallResult to be more extensible 2020-10-13 18:32:04 +05:30
Torsten Grote
f45411d81b Refactor code related to APK installs as preparation for upcoming changes 2020-10-13 18:32:04 +05:30
Torsten Grote
9830d2db95 Show different app state messages for backup and restore 2020-10-13 18:32:04 +05:30
Torsten Grote
3a31e09a04 Back up split APKs as well and store them in the metadata
This will enable us to check compatibility of the splits with the restore device and if compatible, re-install them.
2020-10-13 18:32:04 +05:30
Torsten Grote
af2bf4f60a Support APK splits in metadata 2020-10-13 18:32:04 +05:30
Torsten Grote
46e8a46c63 Pull out code in ApkBackup and ApkRestore into own methods 2020-10-13 18:32:04 +05:30
Torsten Grote
741e5ef1a0 Fix storage chooser title if the translation is long 2020-10-08 19:27:51 +05:30
Torsten Grote
9ae3c6e835 Add some documentation to the transport methods 2020-10-08 19:27:51 +05:30
Torsten Grote
fbdfa40300 Load app status data off the UI thread
Previously, the data was loaded on the UI thread which produced a
visible freeze after clicking "App backup status".
2020-10-08 19:27:51 +05:30
Torsten Grote
0612f79195 Fix or permit certain disk reads on UI thread 2020-10-08 19:27:51 +05:30
Torsten Grote
1d2c74bf2c Ensure that metadata cache streams get closed 2020-10-08 19:27:51 +05:30
Torsten Grote
4387353227 Enable StrictMode for userdebug builds 2020-10-08 19:27:51 +05:30
Torsten Grote
948cd597d8 Show proper transport labels for OS transport selection
If an AOSP-based ROM allows the user to choose a backup transport, these labels will be shown.
2020-10-08 19:27:51 +05:30