Restore app data in smaller batches when performing a full restoration
from a backup set, to prevent a Binder exception that causes the
process to fail entirely.
Android may encounter this exception when trying to call the
transport.startRestore() method if too many packages are involved; in
testing, 300 is an example of too many. Instead of using
IRestoreSession.restoreAll(), use restorePackages() and provide the
package names in batches of 100.
This issue reveals itself when using SeedVault with the D2D patch and
with an OS, such as stock Pixel OS, that includes an abundance of
packages. (Prior to this patch, the call to restoreAll() meant that the
framework would request data restoration for all packages installed,
even if they were not in the metadata.)
In logs, this issue appears as follows:
```
I BackupManagerService: Full restore; asking about 300 apps
W BpBinder: Large outgoing transaction of 528540 bytes, interface descriptor <uncached descriptor>, code 14
E JavaBinder: !!! FAILED BINDER TRANSACTION !!! (parcel size = 528540)
E BackupManagerService: Unable to contact transport for restore: data parcel size 528540 bytes
```
Change-Id: Ibb5bb4572d9e873beccd6056da5fe3ae4dce71c2
* Pre-34, this was marked as @hide and @TestApi
* We were using it as a system app with hidden APIs allowed,
and having added the framework android.jar to gradle
* 91fa0b1298
made it public, so lint now complains. Silence that.
Change-Id: I5a1ec9847a25a0798726af3867d7660db1528a00
When `android.permission.MANAGE_DOCUMENTS` is not granted, Seedvault
prompts to select a storage location. Do not insist on resolving the
storage's actual root, as it will likely (or perhaps always) fail.
Use a fake storage root as is done for USB and app-based options.
Known issues:
* Selected location is assumed not to be USB and not to require
network access in its storage options.
Change-Id: I357b4c68673d71c087be41e9c94c2841c1d6658e
* We've had a love/hate relationship with the combination of
SAF + Nextcloud app + Nextcloud server
* SAF is quite limiting, and that causes it's own issues
* On top of that, Nextcloud app has it's own issues. We've
even sent patches for some things, but there's only so much one can do
https://github.com/nextcloud/android/pulls?q=is%3Apr+author%3Agrote
* With the DAVx5 WebDAV support, it seems to work better.
* However, most recently a server side change broke things entirely, with either apps
https://github.com/seedvault-app/seedvault/issues/490#issuecomment-1368032414
* Due of all of this, it just leads to a bad backup experience.
As such, let's just say this is not recommended at all entirely
* Hopefully in the future we'll be able to support more options
Change-Id: I0b46dd11df7c31606131bf311583fe4777536463
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Korean)
Currently translated at 100.0% (179 of 179 strings)
Co-authored-by: 이정희 <daemul72@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ko/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ko/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Galician)
Currently translated at 100.0% (1 of 1 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (179 of 179 strings)
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/gl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/es/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/gl/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (French)
Currently translated at 100.0% (170 of 170 strings)
Co-authored-by: Maxime Leroy <lisacintosh@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translation: CalyxOS/Seedvault
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Catalan)
Currently translated at 100.0% (170 of 170 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_storage/ca/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Russian)
Currently translated at 98.8% (177 of 179 strings)
Translated using Weblate (Russian)
Currently translated at 100.0% (170 of 170 strings)
Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ru/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Czech)
Currently translated at 97.2% (174 of 179 strings)
Translated using Weblate (Czech)
Currently translated at 96.6% (173 of 179 strings)
Translated using Weblate (Czech)
Currently translated at 99.4% (169 of 170 strings)
Co-authored-by: Micovec <jiri.vokrinek@email.cz>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/cs/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/cs/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Greek)
Currently translated at 100.0% (170 of 170 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_storage/el/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Spanish)
Currently translated at 100.0% (170 of 170 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% (17 of 17 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (170 of 170 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_storage/zh_Hans/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Hebrew)
Currently translated at 100.0% (170 of 170 strings)
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/he/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (German)
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (German)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (German)
Currently translated at 100.0% (170 of 170 strings)
Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/de/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
Currently translated at 100.0% (17 of 17 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (179 of 179 strings)
Translated using Weblate (Turkish)
Currently translated at 100.0% (170 of 170 strings)
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/tr/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
* We already pre-fill the code on debug builds to make testing easier
* Allow screenshots too so we don't have to note down the code right away
when testing
Change-Id: Ie9cc3080616b78a6e5f9b427c080f10c146a036d
MR #151 implemented a fallback if MANAGE_DOCUMENTS is not granted,
which falls back to show a file chooser to the user to manually
select the storage root.
Document this behavior in the manifest as well, as the permission
causes some certification tests to fail (#453).
Change-Id: I3271b7969aacc014349766a022f13a00bea9ff85
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
additionally adding a test to ensure the storage provider is excluded.
Otherwise, when the storage provider (i.e. DAVx5 or Nextcloud) is installed,
it will be terminated, and the restoration process will be interrupted.
Change-Id: Ic1be201b673d718b416009ff61f5d975c89b6a62
* Pressing "Backup now" should not just ignore you when it's not actually
enabled
* Add a toast message telling you it's not enabled
Fixes: #390
Change-Id: I5d698a244652e094b0acfc42cdea017a0af9a20b
* New SetupWizard uses external/setupdesign (sud) and
external/setupcompat (suc) to achieve the desired looks
* It prevents proper previews when included in any app, though, so
we better try achieving the same by manually styling the activities
for 12
* This patch mimics the design by applying styles similar to the ones
from sud, sometimes reusing parts taken from there
Change-Id: Iccf588e5239aeb00645f97b095910986f32c52d0
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