By default, Android exposes USB devices only to the main user.
In order to query, read and write to it, the signature permission INTERACT_ACROSS_USERS_FULL (optional) is granted to create Seedvault's context as the system user.
Issue: calyxos#437
Issue: https://github.com/seedvault-app/seedvault/issues/77
Change-Id: I0b1b4c8c5aeeb226419ff94e15f631ebe1db66df
Currently translated at 100.0% (16 of 16 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (169 of 169 strings)
Translated using Weblate (Catalan)
Currently translated at 87.5% (148 of 169 strings)
Translated using Weblate (Catalan)
Currently translated at 80.4% (136 of 169 strings)
Translated using Weblate (Catalan)
Currently translated at 71.0% (120 of 169 strings)
Translated using Weblate (Catalan)
Currently translated at 20.7% (35 of 169 strings)
Translated using Weblate (Catalan)
Currently translated at 15.3% (26 of 169 strings)
Translated using Weblate (Catalan)
Currently translated at 5.9% (10 of 169 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (1 of 1 strings)
Translated using Weblate (Catalan)
Currently translated at 4.7% (8 of 169 strings)
Co-authored-by: kbci_wcn <kbci_wcn@aleeas.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ca/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/ca/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ca/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
Currently translated at 99.4% (168 of 169 strings)
Translated using Weblate (French)
Currently translated at 97.6% (165 of 169 strings)
Co-authored-by: Armand LB <armandleborgne@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
Currently translated at 98.8% (167 of 169 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (16 of 16 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 43.7% (7 of 16 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (1 of 1 strings)
Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.8% (167 of 169 strings)
Co-authored-by: Gabriel Cardoso <g.cardoso@mailfence.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/pt_BR/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (169 of 169 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (1 of 1 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (169 of 169 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (169 of 169 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (164 of 164 strings)
Co-authored-by: Eric <alchemillatruth@purelymail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/zh_Hans/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Currently translated at 100.0% (169 of 169 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (164 of 164 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
Currently translated at 100.0% (169 of 169 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (169 of 169 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (164 of 164 strings)
Translated using Weblate (Hebrew)
Currently translated at 95.7% (157 of 164 strings)
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translation: CalyxOS/Seedvault
Currently translated at 100.0% (169 of 169 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (16 of 16 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (164 of 164 strings)
Added translation using Weblate (Greek)
Translated using Weblate (Greek)
Currently translated at 100.0% (1 of 1 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (164 of 164 strings)
Added translation using Weblate (Greek)
Translated using Weblate (Greek)
Currently translated at 99.3% (163 of 164 strings)
Co-authored-by: Michael Bestas <mkbestas@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/el/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/el/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/el/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (160 of 160 strings)
Co-authored-by: Eric <spice2wolf@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translation: CalyxOS/Seedvault
Change-Id: I61376609ee1b59f103fa469790127ae36c4fc47a
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
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.
* Bump version following versioning scheme
* 3.0 now following new backup format
* Add initial entry to changelog
Change-Id: Ifca1b3feac0f510890450a1999b42897894d58ee
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.
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.
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.
* '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
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
* 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
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.