Commit graph

895 commits

Author SHA1 Message Date
Torsten Grote
19bfc41d95
Allow backups in metered network, if user wants that 2024-03-08 09:52:07 -03:00
Torsten Grote
4eaa806636
Expose scheduling options in the UI 2024-03-08 09:52:07 -03:00
Torsten Grote
f593b66e00
try more than once to upload metadata after APK backups
Failure to upload metadata after backup up APKs can be critical and flaky I/O can make it fail, so we try again.
2024-03-08 09:52:06 -03:00
Torsten Grote
e7e489e091
Only reschedule next app backup when not on USB storage
Currently, after a manual run, we need to schedule the background backups again, because the scheduling gets lost. However, we need to be careful not to do that when the backup destination is on removable storage. Then we don't want to run.
2024-03-08 09:52:06 -03:00
Torsten Grote
8a870d8942
Use WorkInfo for determining if a backup is already running
Backup and restore is not possible when a backup is running. We used to check notifications for this, but now can use WorkManager's WorkInfo which should be more reliable.

Also, we used to prevent the "Backup now" action when app backup was disabled. But the user may want to do a storage backup. This is now possible.
2024-03-08 09:52:06 -03:00
Torsten Grote
0c1898c198
Properly schedule/cancel backup workers when backup destination changes
When the user changes to USB storage, we need to cancel current schedulings, because the storage is not always available (maybe can use a trigger URI?). And if moving to a non-USB storage, we need to schedule backups again.

Unfortunately, there are two places in the code where we handle storage location changes. Ideally, those get unified at some point.
2024-03-08 09:52:06 -03:00
Torsten Grote
e615402458
During restore, show apps without APK as failed
Previously, we backed up APKs of apps we could not back up (even if APK backup was disabled) so the user had a chance to get at least the apps back when restoring. Now, it is enough to record metadata about the app and the user will be able to manually install the app. The install apps step won't be skipped anymore.
2024-03-08 09:52:06 -03:00
Torsten Grote
6e7bc89e2f
Respect when worker was stopped
and log worker ID as well as object, because we've seen two scheduled workers running at the same time, requesting a backup at the same time. This should not happen.
2024-03-08 09:52:06 -03:00
Torsten Grote
0d7156789e
Guard against BadParcelableException when getting app list
hopefully something rare, but it just happened to me while testing.

It seems it happens when there are many apps installed (>500) and the app list is open while a backup happens. Then, we keep reloading the list and hammer the package manager hard which it seems can't handle it. It does recover on its own though.
2024-03-08 09:52:05 -03:00
Torsten Grote
04fc90e9f7
Migrate to own backup scheduling 2024-03-08 09:52:05 -03:00
Torsten Grote
911a8dabf4
Expose time of next backup in UI
to help debugging scheduling issues
2024-03-08 09:52:05 -03:00
Torsten Grote
8da73ad8d1
Make 'Backup now' action use AppBackupWorker 2024-03-08 09:52:05 -03:00
Torsten Grote
49066be31b
Improve backup notification 2024-03-08 09:52:05 -03:00
Torsten Grote
fcd4e518a5
Move APK backup from BackupCoordinator to new ApkBackupManager
This is a preparation for doing APK backup ourselves in a worker and not hacked into the backup transport. The latter was prone to timeouts by the AOSP backup API. With a worker, we have a bit more control and can schedule backups ourselves.
2024-03-08 09:52:04 -03:00
Torsten Grote
0c8fe3ef20 Fix nullability issues that AOSP is complaining about now 2024-03-07 20:40:09 +05:30
Torsten Grote
c33486ee00 Adjust code for new library versions 2024-03-07 20:40:09 +05:30
Chirayu Desai
635a1ef9b4 strings: Call D2D alpha instead of experimental
Change-Id: I571989a04a2cfaa5684d2d182185799b48b51e9e
2024-02-23 23:37:00 +05:30
Chirayu Desai
2744ccdc7d strings: Call Storage Backup beta instead of experimental
* Let's make it less scary

Change-Id: I889b04eb68df836aea3c5cc4ca97acd3f4c3af54
2024-02-23 23:37:00 +05:30
Torsten Grote
8c27814407
Merge pull request #613 from grote/backup-binder
Use BackupRequester to request backup in chunks
2024-02-22 13:10:23 -03:00
Michael Bestas
a050e73f7d Update SetupWizard dark theme for U
Change-Id: I0a5b1a41cceba2b45b41cfd64e98b8105c8ad6b6
2024-02-22 01:18:45 +05:30
Torsten Grote
a586ee6b14
In instrumentation tests, keep incremental backups
If we request backup in several chunks, packages like 'pm@' or 'android' get backed up for each chunk, so due to incremental backups, we need to keep old data when comparing.
2024-02-14 11:23:22 -03:00
Torsten Grote
b47b4ade1e
Stop cleaning up notification when service is destroyed. 2024-02-13 16:20:02 -03:00
Torsten Grote
4014666c15
Improve notification progress reporting
It is still somewhat buggy when d2d is on, but this is easier to resolve when moving everything to own scheduling.
2024-02-13 16:20:02 -03:00
Torsten Grote
86c603e2d2
Use BackupRequester to request backup in chunks
Otherwise users with lots of installed apps with request a lot of packages causing binder transactions to reach their size limit and crash.
2024-02-13 16:20:02 -03:00
Torsten Grote
81fae1a240 Try to recover from corrupt metadata cache 2024-02-13 23:37:41 +05:30
Torsten Grote
6428399bed Tolerate unexpected exceptions in DocumentsStorage and ApkRestore 2024-02-13 23:36:46 +05:30
Torsten Grote
09b7cabd99 Use own notification ID for success notification
and cancel observer notification when backup is finished. This is because when the success channel is disabled by the user, the observer notification could stick around and would never get removed.
2024-02-13 23:34:59 +05:30
Torsten Grote
cb9d3c701b Fix flaky metadata decoding test 2024-02-13 23:34:59 +05:30
Torsten Grote
fcbd62ba3b Remove warning from d2d expert setting as we now disable system scheduling for d2d 2024-02-13 23:34:59 +05:30
Torsten Grote
c832cd9886 Remove logWorkInfo as some part of it isn't in AOSP version of workmanger
It was meant for debugging only anyway
2024-02-13 23:34:59 +05:30
Torsten Grote
a380445693 Show success notification in a separate notification channel
so the user can disable it. This will be more of an issue now that it comes also for scheduled background backups.
2024-02-13 23:34:59 +05:30
Torsten Grote
de51ad2cc9 Use our own scheduling when doing d2d backups (experimental) 2024-02-13 23:34:59 +05:30
Hosted Weblate
d1f0fef718 Import translations from Weblate
Co-authored-by: 0que <0que@users.noreply.hosted.weblate.org>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Michael Bestas <mkbestas@gmail.com>
Co-authored-by: Morris Son <morrisson42@gmail.com>
Co-authored-by: Mother is a Gambler <dahlan@disroot.org>
Co-authored-by: Pander <pander@users.sourceforge.net>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: r5jyhte <ioulykttr@proton.me>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/el/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/id/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/nl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
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
2024-02-11 02:05:51 +05:30
Steve Soltys
64d0c87013 Add support for RoundSync as a storage provider 2024-01-27 21:27:59 +00:00
Torsten Grote
9c4f9d8a67
Merge pull request #606 from seedvault-app/chore/version-bump
Bump version to 14-4.0 - D2D <3
2024-01-24 17:11:48 -03:00
Chirayu Desai
9097c8ced5 Bump version to 14-4.0 - D2D <3
Change-Id: Ida82c6eafa715069d62dc92eb19accf64ed6d51c
2024-01-24 21:28:09 +05:30
Steve Soltys
695c33e466
Merge pull request #603 from seedvault-app/bugfix/excluded-apk-backups
Stop backing up excluded app APKs
2024-01-19 09:41:51 -05:00
Steve Soltys
d1e577aec9 Stop backing up excluded app APKs 2024-01-19 03:34:30 +00:00
Torsten Grote
599240c79f
Show size of app backups in Backup Status screen 2024-01-17 13:37:58 -03:00
Torsten Grote
c362da8220
Store size of app backups in metadata 2024-01-16 12:14:28 -03:00
Torsten Grote
0319d733c1
Merge pull request #562 from seedvault-app/feature/d2d-transfer
Add experimental support for forcing D2D transfer backups
2024-01-15 11:24:27 -03:00
Steve Soltys
daaf0e0ecc Add experimental support for forcing D2D transfer backups 2024-01-12 00:12:43 -05:00
Chirayu Desai
57adc57c7f Bump version and set property for testing
* Bump version
  * 33030020 -> 13-3.2
  * 33030021 -> This, d2d test #478
  * 33030022 -> Next, to go back to normal build after testing #489
* Set the testing property to true so that the system
  sends us the right app list
  14597: Optionally have System-scheduled backups act as migrations | https://review.calyxos.org/c/CalyxOS/platform_frameworks_base/+/14597

Change-Id: I278091b6659db095716e01b6c3894ce345219283
2024-01-02 22:02:53 -05:00
Aayush Gupta
57be15abcf colors: Switch to public APIs for colors
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-11-30 21:39:20 +05:30
t-m-w
c2f737458c Initial support for backup of D2D-only apps
Allow backup of apps that would otherwise only support device-to-device
migration. This is an initial-support patch to help determine the
viability of this approach.

Known issues / TODO:
* System-scheduled backups will not handle D2D-only apps, unless
  accompanied by a framework change forcing OperationType.MIGRATION.
  Backups triggered by the connection of a USB device or by Seedvault's
  StorageBackupService (files) scheduling are not affected, so they
  *will* back up D2D-only apps as expected; otherwise, the user may
  need to perform a backup manually via Backup Now.
* Apps with `allowBackup="false"` will appear in Backup Status under
  "Installed Apps" rather than "Apps that do not allow data backup",
  and their status will always be blank until they have been backed
  up. If they are not eligible for migration, it will never change.

Other notes:
* The unit test for excluding the Storage Plugin provider from backups
  was discussed, deemed unnecessary, and removed.

Co-authored-by: Oliver Scott <olivercscott@gmail.com>
Change-Id: I5a23d68be66f7d8ed755f2bccb9570ab7be49356
2023-11-29 23:55:40 -05:00
Torsten Grote
5d19160602 Pretend to be a device to device data transport
Change-Id: Ieab13cb15b64e09798ec0c1081d3b3cd975e0811
2023-11-29 23:55:40 -05:00
Torsten Grote
640f5b73c6 Fix double start of restore session
We emit the install result of APKs at least two times. When there is no APKs to install, because APK backup was disabled, we would start the restore of app data two times.

This fix waits until the emitted install result is considered finished, so we only start data restore once.
2023-11-28 18:54:32 +05:30
Tommy Webb
18013c0379 Support installing via F-Droid Basic
If an app being restored was originally installed with F-Droid Basic,
try to install it using F-Droid Basic again.

Change-Id: Ib067389ba20d74596892e24efd561ab2918d62cb
2023-11-27 19:24:36 +05:30
Torsten Grote
392809274c
Merge pull request #563 from seedvault-app/bugfix/binder-exception-too-many-packages
Fix binder exception when restoring a large number of applications
2023-11-27 08:43:08 -03:00
Steve Soltys
b498dab9b1 Apply latest code review suggestions 2023-11-26 14:51:49 -05:00
Oliver Scott
97d2d18a73
fixup! Allow secondary user backup to USB
Issue: calyxos#1058
Change-Id: I4aaadef5954e9c091f7048bffd8e0ed700fdd2e6
2023-11-01 17:19:17 -04:00
Steve Soltys
b1a2c6d4cf Apply code review suggestions 2023-11-01 00:10:00 -04:00
Steve Soltys
6c7afd5f55 Fix binder exception when restoring a large number of applications 2023-10-31 21:38:36 -04:00
t-m-w
a091142a3f Allow restoring data for a greater number of apps
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
2023-10-31 21:38:36 -04:00
Steve Soltys
b917293bbc Switch to Kotlin build scripts + version catalog 2023-10-19 00:22:51 -04:00
Steve Soltys
8297bb7087 Fix and improve E2E tests 2023-10-17 21:24:38 -04:00
Torsten Grote
cb95444ad4
Bump minSdk to 33 and upgrade unit test dependencies 2023-10-10 15:44:53 -03:00
Torsten Grote
74566b902a
Upgrade kotlin-bip39-jvm to 1.0.6
Bip39ComparisionTest was run before and after upgrading org.bitcoinj:bitcoinj-core to latest version to ensure that kotlin-bip39 is still behaving the same.

A small tweak in WordListTest was needed because WorldList constructor was made internal.
2023-10-10 15:44:52 -03:00
Torsten Grote
bc90378edf
Merge pull request #579 from seedvault-app/staging/android14-bp
Get app working in Android 14, built via Android.bp
2023-10-10 15:42:29 -03:00
Chirayu Desai
6cb3b30b84
restore: Runtime-registered broadcasts receivers must specify export behavior
See: https://developer.android.com/about/versions/14/behavior-changes-14#runtime-receivers-exported
Change-Id: I6f80a060370a0b202c277924ea8cbf565bc29d6e
2023-10-10 12:08:19 -03:00
Chirayu Desai
aa0e82cfca ApkInstaller: Supress NewApi for
* 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
2023-10-09 00:16:15 +05:30
Chirayu Desai
978ab6897b 14: Bump to JavaVersion.VERSION_17
* AOSP android-14.0.0_r1 bumped Kotlin to 1.8.10
  which requires this

Change-Id: I91f51abbf0b303f3db88c5f4f81c570dd85a6510
2023-10-09 00:01:53 +05:30
Chirayu Desai
a6b32ac3d2 14: Update AOSP libs from gradle, from android-14.0.0_r1
* Compiled with a plain `m`, and then copied over
  from the paths noted in the comments

Change-Id: If5d399d839886c7fe044f5bb7088ed95259e6bf2
2023-10-09 00:01:53 +05:30
Steve Soltys
d678d9a960 Bump emulator image in Gradle task to android-34 2023-10-09 00:01:26 +05:30
Steve Soltys
bf5dc1958c Switch to GitHub actions for E2E tests 2023-10-09 00:01:26 +05:30
Chirayu Desai
fcdacf22a7 14: Add new permission FOREGROUND_SERVICE_DATA_SYNC
* Android.bp build means we get set to targetSdk 34 already

Fixes: Starting FGS with type dataSync targetSDK=34 requires permissions
See: https://developer.android.com/about/versions/14/changes/fgs-types-required#data-sync
Change-Id: I69932d778e870535522e08dff131f1bb1d128955
2023-10-08 00:39:29 +05:30
Chirayu Desai
e6f32510d5 Bump version to 14-3.3
* Android 14 is here!

Change-Id: Ic4249bb1d2a3ac03011f5b7608534ecd526e99c6
2023-10-08 00:39:29 +05:30
Michael Bestas
a83e36634c seedvault: Enable monochrome icon
Just use foreground icon for now
2023-09-26 02:36:50 +05:30
Michael Bestas
09d6131a1c seedvault: Update app icon
* Regenerate in android studio as a single xml instead of png
* Remove roundIcon, this was only used on sdk 25
* Use device accent for icon background
2023-09-26 02:36:50 +05:30
Hosted Weblate
f30acd8b2d Import translations from Weblate
Co-authored-by: Dan <jonweblin2205@protonmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: František Oboňa <frantisekobona@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Micovec <jiri.vokrinek@email.cz>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/cs/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/sk/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/uk/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translation: CalyxOS/Seedvault
2023-09-25 23:24:03 +05:30
Steve Soltys
6eaba0b87a Wait until storage location is initialized for e2e test 2023-09-25 22:52:01 +05:30
Steve Soltys
ced8803761 Switch ANDROID_SDK_HOME to ANDROID_HOME 2023-09-22 04:12:53 +00:00
Steve Soltys
29bd71bcc9 Intercept and assert on application data in e2e test 2023-09-21 06:51:43 +00:00
Steve Soltys
04c5089113 Start recording screen again if we get cut off after 3 minutes 2023-09-14 18:42:22 +00:00
Steve Soltys
59cef31183 Address review comments, add screen recording, use test backup data 2023-09-14 18:11:45 +00:00
Steve Soltys
f1238977d0 Add end-to-end emulator test running on CI 2023-09-14 18:11:45 +00:00
Steve Soltys
a922b69094 Add support for local development with an emulator 2023-09-14 17:33:30 +00:00
Torsten Grote
1e69831244 Improving support for missing MANAGE_DOCUMENTS permission 2023-09-14 17:23:08 +00:00
t-m-w
208dbd6a60 Support a lack of MANAGE_DOCUMENTS permission
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
2023-09-14 17:22:50 +00:00
Aayush Gupta
6ca1f2792f Bump to AGP and Gradle 8.x
Disable new R8 mode and resource namespacing for now to avoid build failures.
These needs to be worked on before they can be enabled.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-08-03 00:56:59 +08:00
Aayush Gupta
4a31035585 Drop packageName from manifests for tests
Tests are Gradle-only and keeping this in manifest results in namespace collision
Ref: https://developer.android.com/build/configure-app-module#change-namespace-for-testing

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-08-03 00:08:57 +08:00
Aayush Gupta
8b63a0a7f9 Set appropriate namespace in all modules
Required by new AGP versions

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-08-03 00:08:57 +08:00
Aayush Gupta
b330b7baa6 Switch to new Sdk version properties
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-08-03 00:08:57 +08:00
Aayush Gupta
64ecd5c061 Drop buildToolsVersion
If you're using Android plugin for Gradle 3.0.0 or higher, your project automatically uses a default version of the build tools that the plugin specifies

Ref: https://developer.android.com/tools/releases/build-tools

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-08-03 00:08:57 +08:00
Aayush Gupta
1943595f11 Migrate to new plugins and dependency management system
* Ensure every plugin is present in project's plugin block with version
* Switch to full plugin id for jetbrains plugins
* Move plugin and dependency repos to settings

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-07-03 23:28:27 +05:30
Aayush Gupta
591e9dbc68 Bump kotlin to 1.7.20 based on Android 13 QPR2 release
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2023-07-03 23:28:27 +05:30
Michael Bestas
90c8a3fb12 Remove androidx.annotation.VisibleForTesting.PRIVATE usage
VisibleForTesting defaults to private anyway, fixes build in 13 QPR3.

Change-Id: Icdbbd63f1f0fde2148491feefbc7221e91590881
2023-06-14 15:37:50 +05:30
Hosted Weblate
5448ef8652 Import translations from Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Milo Ivir <mail@milotype.de>
Co-authored-by: Pander <pander@users.sourceforge.net>
Co-authored-by: Ram <airavatam@tutanota.com>
Co-authored-by: Yuya <yuyaj@tutanota.com>
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/ja/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/nl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/hr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/ml/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ml/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2023-05-27 04:02:43 +05:30
Hosted Weblate
8bea1be060 Import translations from Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/
Translation: CalyxOS/Seedvault
2023-03-29 19:49:31 +05:30
Hosted Weblate
80d3b0e880 Import translations from Weblate
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/
Translation: CalyxOS/Seedvault
2023-03-29 04:28:27 +05:30
Hosted Weblate
be5d2e0d53 Import translations from Weblate
Co-authored-by: Dan <denqwerta@gmail.com>
Co-authored-by: Eric <hamburger2048@users.noreply.hosted.weblate.org>
Co-authored-by: Felipe Nogueira <contato.fnog@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Leon Omelan <rozpierog@gmail.com>
Co-authored-by: Michael Bestas <mkbestas@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Pander <pander@users.sourceforge.net>
Co-authored-by: Reikimann <krellegaming@gmail.com>
Co-authored-by: Tom Sawyer <translate@grymkoll.simplelogin.com>
Co-authored-by: Translator-3000 <weblate.m1d0h@8shield.net>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Zkdc <Zkdc2345@qq.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: gnu-ewm <gnu.ewm@protonmail.com>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: slundi <slundi@gmail.com>
Co-authored-by: ssantos <ssantos@web.de>
Co-authored-by: Óscar Fernández Díaz <oscfdezdz@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/el/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/gl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/it/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/nl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_PT/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/sv/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/uk/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/da/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/nl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/nl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/pl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/pt/
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
2023-03-29 03:16:45 +05:30
Torsten Grote
923fb51f43 Ignore extra translations 2023-03-10 00:07:24 +05:30
Torsten Grote
9ae32a9bac Redesign About dialog 2023-03-10 00:07:24 +05:30
Michael Bestas
0e147786b4 Remove compatibility symlinks for weblate translations
Weblate uses the correct locales now
2023-03-09 04:00:02 +05:30
Chirayu Desai
23abc02d69 Disable screenshots on more recovery code screens
* Basically try to cover all screens that may have a recovery code

Fixes: #506
Change-Id: If0143b71596ff470a04982d8f87b7a622d362309
2023-01-20 23:21:16 +05:30
Chirayu Desai
eebeff90ff Bump version to 13-3.3
* Release early, release often

Change-Id: Id408dd7463a5c9a51dafea0e45cbda122ba26866
2023-01-11 19:23:02 +05:30
Chirayu Desai
ebed17ee58 Mark Nextcloud as not recommended
* 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
2023-01-11 19:19:41 +05:30
t-m-w
5d0aca1b49 Warn before turning off backups
Let the user know that turning off backups will require a new backup
set to be created.

Requires: https://github.com/seedvault-app/seedvault/pull/496

Change-Id: I22a1cebd272ac43cab6c68b99ace5919d6a7a9f5
2023-01-06 20:09:38 +05:30
Torsten Grote
87a800438b Always start a new RestoreSet when initializing the device
This avoids deleting the current backup when the user disables backups (or the system decides to do a random re-init).
2023-01-06 20:09:16 +05:30
Denham McLaren
bedba071df Translated using Weblate (English (Australia))
Currently translated at 100.0% (17 of 17 strings)

Translated using Weblate (English (Australia))

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (English (Australia))

Currently translated at 100.0% (182 of 182 strings)

Translated using Weblate (English (Australia))

Currently translated at 10.9% (20 of 182 strings)

Co-authored-by: Denham McLaren <denhamrock@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/en_AU/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/en_AU/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/en_AU/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2023-01-06 04:19:45 +05:30
Translator-3000
2685d57bda Translated using Weblate (Italian)
Currently translated at 100.0% (17 of 17 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Italian)

Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Translator-3000 <weblate.m1d0h@8shield.net>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/it/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/it/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/it/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2023-01-06 04:19:45 +05:30
Yaron Shahrabani
6a12cf9480 Translated using Weblate (Hebrew)
Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
Translation: CalyxOS/Seedvault
2023-01-06 04:19:45 +05:30
Егор Ермаков
45349e2e07 Translated using Weblate (Russian)
Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Егор Ермаков <eg.ermakov2016@yandex.ru>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2023-01-06 04:19:45 +05:30
Dan
b7f187451f Translated using Weblate (Ukrainian)
Currently translated at 100.0% (17 of 17 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Dan <denqwerta@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/uk/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/uk/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/uk/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2023-01-06 04:19:45 +05:30
nautilusx
2166cae00a Translated using Weblate (German)
Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: nautilusx <translate@disroot.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translation: CalyxOS/Seedvault
2023-01-06 04:19:45 +05:30
Oğuz Ersen
5c4da3ffa6 Translated using Weblate (Turkish)
Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translation: CalyxOS/Seedvault
2023-01-06 04:19:45 +05:30
gallegonovato
43ca12686f Translated using Weblate (Spanish)
Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translation: CalyxOS/Seedvault
2023-01-06 04:19:45 +05:30
TobiGr
c43274e6a0 Translated using Weblate (German)
Currently translated at 99.4% (181 of 182 strings)

Co-authored-by: TobiGr <tobigr@mail.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translation: CalyxOS/Seedvault
2023-01-06 04:19:45 +05:30
Eric
3e25c3f54f Translated using Weblate (Chinese (Simplified))
Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Eric <hamburger1024@duck.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hans/
Translation: CalyxOS/Seedvault
2023-01-06 04:19:45 +05:30
Gediminas Murauskas
2d2e9dacb6 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/lt/
Translation: CalyxOS/Seedvault
2023-01-06 04:19:45 +05:30
Torsten Grote
4b9e2bb9f3 Show foreground notification right away when doing manual backup 2023-01-06 00:02:58 +05:30
Chirayu Desai
4520ed4fff
Bump version to 13-3.2 (#487)
* Spread out the version code a bit to allow for more
  releases per one name

Change-Id: I70b6ba92e359a1f229ee470f4032c04b9fd25e5b
2023-01-02 13:02:43 -03:00
Michael Bestas
644e5c10de Translated using Weblate (Greek)
Currently translated at 100.0% (182 of 182 strings)

Co-authored-by: Michael Bestas <mkbestas@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/el/
Translation: CalyxOS/Seedvault
2022-12-01 07:05:47 +05:30
blueline
f9e33337e6 Translated using Weblate (French (Canada))
Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (French (Canada))

Currently translated at 4.4% (8 of 179 strings)

Co-authored-by: blueline <blueline3@proton.me>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr_CA/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/fr_CA/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
2022-12-01 06:27:15 +05:30
ssantos
3a2025f5b2 Translated using Weblate (Portuguese (Portugal))
Currently translated at 88.2% (158 of 179 strings)

Co-authored-by: ssantos <ssantos@web.de>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_PT/
Translation: CalyxOS/Seedvault
2022-12-01 06:27:15 +05:30
Gediminas Murauskas
9ca8c29086 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (17 of 17 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Lithuanian)

Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Gediminas Murauskas <muziejusinfo@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/lt/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/lt/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/lt/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-12-01 06:27:15 +05:30
이정희
e97c310f5e Translated using Weblate (Korean)
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
2022-12-01 06:27:15 +05:30
Vri 🌈
5935a66a4f Translated using Weblate (German)
Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: Vri 🌈 <weblate@vrifox.cc>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/de/
Translation: CalyxOS/Seedvault
2022-12-01 06:27:15 +05:30
gallegonovato
68c764b60f 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% (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
2022-12-01 06:27:15 +05:30
Launacloud
41e06324ad Translated using Weblate (Portuguese (Brazil))
Currently translated at 98.3% (176 of 179 strings)

Co-authored-by: Launacloud <CLOUDAPPSLAURA@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translation: CalyxOS/Seedvault
2022-12-01 06:27:15 +05:30
bruh
78bdba0af4 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (179 of 179 strings)

Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/vi/
Translation: CalyxOS/Seedvault
2022-12-01 06:27:15 +05:30
Maxime Leroy
ec53059cfa Translated using Weblate (French)
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
2022-12-01 06:27:15 +05:30
kbci_wcn
aae2f5dabb Translated using Weblate (Catalan)
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
2022-12-01 06:27:15 +05:30
Егор Ермаков
8041680e19 Translated using Weblate (Russian)
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
2022-12-01 06:27:15 +05:30
Micovec
15dda1bfab Translated using Weblate (Czech)
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
2022-12-01 06:27:15 +05:30
Pietro Cappuccino
31b3af2a05 Translated using Weblate (Italian)
Currently translated at 70.0% (119 of 170 strings)

Co-authored-by: Pietro Cappuccino <p.cappuccino@tiscali.it>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/it/
Translation: CalyxOS/Seedvault
2022-12-01 06:27:15 +05:30
Doan Quan Tien
e2c73b0660 Translated using Weblate (Vietnamese)
Currently translated at 100.0% (170 of 170 strings)

Co-authored-by: Doan Quan Tien <doanquantien1@outlook.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/vi/
Translation: CalyxOS/Seedvault
2022-12-01 06:27:15 +05:30
Michael Bestas
a27541f87a Translated using Weblate (Greek)
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
2022-12-01 06:27:15 +05:30
Óscar Fernández Díaz
b89c97370f Translated using Weblate (Spanish)
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
2022-12-01 06:27:15 +05:30
fawaz006
edad362ea8 Translated using Weblate (Arabic)
Currently translated at 100.0% (16 of 16 strings)

Translated using Weblate (Arabic)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Arabic)

Currently translated at 13.5% (23 of 170 strings)

Co-authored-by: fawaz006 <fawaz27000@hotmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ar/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/ar/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ar/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-12-01 06:27:15 +05:30
Eric
a30ea61693 Translated using Weblate (Chinese (Simplified))
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
2022-12-01 06:27:15 +05:30
Yaron Shahrabani
d233775501 Translated using Weblate (Hebrew)
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
2022-12-01 06:27:15 +05:30
nautilusx
df99fc6a1e Translated using Weblate (German)
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
2022-12-01 06:27:15 +05:30
Oğuz Ersen
edb2c7ae40 Translated using Weblate (Turkish)
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
2022-12-01 06:27:15 +05:30
Allan Nordhøy
7a00678372 Translated using Weblate (Norwegian Bokmål)
Currently translated at 87.5% (14 of 16 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 76.9% (130 of 169 strings)

Co-authored-by: Allan Nordhøy <epost@anotheragency.no>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/nb_NO/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-12-01 06:27:15 +05:30
lx3k
c9f3324ec0 Translated using Weblate (Japanese)
Currently translated at 93.7% (15 of 16 strings)

Translated using Weblate (Japanese)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Japanese)

Currently translated at 88.1% (149 of 169 strings)

Co-authored-by: lx3k <lx3kvdms@anonaddy.me>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ja/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/ja/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ja/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-12-01 06:27:15 +05:30
Weblate
8193233c8f Added translation using Weblate (Asturian)
Added translation using Weblate (Gaelic)

Added translation using Weblate (Asturian)

Added translation using Weblate (Welsh)

Added translation using Weblate (Gaelic)

Added translation using Weblate (Welsh)

Added translation using Weblate (Asturian)

Added translation using Weblate (Gaelic)

Added translation using Weblate (Welsh)

Co-authored-by: Weblate <noreply@weblate.org>
2022-12-01 06:27:15 +05:30
Torsten Grote
271b9a560f Remove some code warnings 2022-11-16 19:19:56 +05:30
Torsten Grote
1a7fc5f028 Add expert option to save logs 2022-11-16 19:19:56 +05:30
Torsten Grote
374ba8b64f Remove permission requirement in a better way for debug builds
and reformat some SettingsFragment details
2022-11-12 03:38:14 +05:30
Chirayu Desai
c6a77904a6
RecoveryCode: Allow screenshots on debug builds (#446)
* 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
2022-10-14 16:30:18 -03:00
Alexander Martinz
0106c1911a Document POST_NOTIFICATIONS permission usage
Change-Id: Ie9d2b9bc06aba0dfbd268408220ba54081137b26
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2022-10-06 20:07:13 +05:30
Alexander Martinz
7799ad1339 Document that MANAGE_DOCUMENTS is optional
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>
2022-10-06 20:07:13 +05:30
Torsten Grote
dfc9aeee28
Expect BackupObserver to be called with null packages 2022-09-08 17:45:17 -03:00
Torsten Grote
848ed51de4
Expect ApplicationInfo#splitSourceDirs to be null
Also handle errors like these a bit better
2022-09-08 17:40:41 -03:00
Torsten Grote
4e0fab1883
Bump version code and version name
also add changelog entry
2022-08-23 11:44:19 -03:00
Torsten Grote
6ea33632cd
Upgrade more dependencies for Android 13
Now is a good time as we need to thoroughly test everything again anyway.
2022-08-23 11:44:18 -03:00
Torsten Grote
46e19516cd
Add POST_NOTIFICATIONS permission and pre-grant it 2022-08-23 11:44:18 -03:00
Torsten Grote
82f23b7800
Set minSdk to 32 and remove code for old SDKs
We can't go to 33 yet, because roboelectric doesn't support that
2022-08-23 11:44:18 -03:00
Aayush Gupta
02af9a27a8 restore: install: Cast any() to Int to avoid oevrload errors
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2022-08-23 18:36:42 +05:30
Torsten Grote
d72bee523b Mock ApplicationInfo
as it now calls the native SystemClock.uptimeMillis() method which is hard to mock
2022-08-23 18:30:55 +05:30
Aayush Gupta
65fa49132e settings: AppListRetriever: Switch to lowercase() method
W: 'toLowerCase(Locale): String' is deprecated. Use lowercase() instead.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2022-08-23 18:30:43 +05:30
Aayush Gupta
584a54b127 gradle: Upgrade robolectric and add explicit dependency on hamcrest
Current hamcrest dependency was coming from robolectric but upgrading it
removed it.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2022-08-23 18:30:43 +05:30
Aayush Gupta
4b8427821b gradle: Enable java 11 language features
Also unify the style while at it

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2022-08-23 14:43:34 +05:30
Aayush Gupta
c48aa73ad0 gradle: Bump kotlin and dependencies version for Android 13
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2022-08-23 14:43:33 +05:30
Torsten Grote
3aa1b9f03d
Merge pull request #422 from t-m-w/do-not-restore-storage-provider
Exclude storage provider from restore
2022-08-15 17:29:01 -03:00
t-m-w
7901aec408 Exclude storage provider from restore and update affected unit tests,
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
2022-07-11 16:58:52 -04:00
Torsten Grote
49c9425166 Expose app status information to screen readers
This is for backup, restore and re-install status.
2022-07-08 20:11:38 +05:30
José Rebelo
976e898656 Mark background backup notification as ongoing 2022-06-07 03:15:07 +05:30
Michael W
19ed570a4e Tell user about non enabled backup
* 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
2022-06-07 03:14:55 +05:30
Michael W
c97375b294 Seedvault: Fix button on code output
* Missed in the SuW redesign commit

Change-Id: Ie035b77470672248ccc531334cea5a3005fb1e20
2022-06-07 03:14:45 +05:30
Michael W
4576c6d332 Seedvault: Redesign SUW activities for 12
* 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
2022-05-26 12:35:48 +02:00
Michel Le Bihan
e26081fcfa Translated using Weblate (Polish)
Currently translated at 100.0% (16 of 16 strings)

Translated using Weblate (Polish)

Currently translated at 84.6% (143 of 169 strings)

Co-authored-by: Michel Le Bihan <michel@lebihan.pl>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/pl/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault storage backup
2022-04-29 23:55:05 +05:30
Jeffree Romero
1df679ad8f Translated using Weblate (Spanish)
Currently translated at 100.0% (169 of 169 strings)

Co-authored-by: Jeffree Romero <jeffree.s.romero@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Translation: CalyxOS/Seedvault
2022-04-29 23:55:05 +05:30
Егор Ермаков
7dc67a9104 Translated using Weblate (Russian)
Currently translated at 100.0% (169 of 169 strings)

Co-authored-by: Егор Ермаков <eg.ermakov2016@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translation: CalyxOS/Seedvault
2022-04-29 23:55:05 +05:30
Torsten Grote
d598aac81e Clean up system USB storage feature a bit 2022-04-29 23:43:09 +05:30
Torsten Grote
81d5281a94 Save restore storage only when it had backups
Incidentally this gets rid of the need to pass an implementation-specific Uri to the StoragePlugin.
2022-04-29 23:43:09 +05:30
Oliver Scott
d7910a84b4 Save storage unconditionally on location set
The storage plugin cannot find USB backups for secondary users if it is not saved before checking if backups exist
2022-04-29 23:43:09 +05:30
Oliver Scott
dd57828697 Allow secondary user backup to USB
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
2022-04-29 23:43:09 +05:30
Nextross
fa93d5dfcc Translated using Weblate (Czech)
Currently translated at 100.0% (16 of 16 strings)

Translated using Weblate (Czech)

Currently translated at 99.4% (168 of 169 strings)

Co-authored-by: Nextross <onlineservices.aminolysis@aleeas.com>
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
2022-03-24 21:18:05 +05:30
Chirayu Desai
c832f71a29 Deleted translation using Weblate (Uyghur)
Deleted translation using Weblate (Uyghur)

Deleted translation using Weblate (Uyghur)

Co-authored-by: Chirayu Desai <chirayudesai1@gmail.com>
2022-03-24 21:18:05 +05:30
Reza Almanda
0d2f51b5e6 Translated using Weblate (Indonesian)
Currently translated at 56.2% (95 of 169 strings)

Co-authored-by: Reza Almanda <rezaalmanda27@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/id/
Translation: CalyxOS/Seedvault
2022-03-24 21:18:05 +05:30
Micovec
31d31bd6f9 Translated using Weblate (Czech)
Currently translated at 93.7% (15 of 16 strings)

Translated using Weblate (Czech)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Czech)

Currently translated at 91.1% (154 of 169 strings)

Translated using Weblate (Czech)

Currently translated at 76.9% (130 of 169 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_contactsbackup/cs/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/cs/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-03-24 21:18:05 +05:30
Baptiste H
d5cf2a371a Translated using Weblate (French)
Currently translated at 100.0% (16 of 16 strings)

Translated using Weblate (French)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (French)

Currently translated at 100.0% (169 of 169 strings)

Co-authored-by: Baptiste H <baptiste.huchon@bechamail.fr>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/fr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/fr/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-03-24 21:18:05 +05:30
kbci_wcn
4a1aa34eee Translated using Weblate (Catalan)
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
2022-03-24 21:18:05 +05:30
Nikita Epifanov
cd71458a5c Translated using Weblate (Russian)
Currently translated at 93.7% (15 of 16 strings)

Translated using Weblate (Russian)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Russian)

Currently translated at 98.2% (166 of 169 strings)

Co-authored-by: Nikita Epifanov <nikgreens@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/ru/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ru/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-03-24 21:18:05 +05:30
Armand LB
4949a5997a Translated using Weblate (French)
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
2022-03-24 21:18:05 +05:30
bruh
0c7876a37d Translated using Weblate (Vietnamese)
Currently translated at 100.0% (169 of 169 strings)

Co-authored-by: bruh <quangtrung02hn16@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/vi/
Translation: CalyxOS/Seedvault
2022-03-24 21:18:05 +05:30
Me0wzz
cb9f9e35ca Translated using Weblate (Korean)
Currently translated at 100.0% (16 of 16 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Korean)

Currently translated at 100.0% (169 of 169 strings)

Translated using Weblate (Korean)

Currently translated at 81.6% (138 of 169 strings)

Co-authored-by: Me0wzz <me0wzz@protonmail.ch>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ko/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/ko/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ko/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-03-24 21:18:05 +05:30
nautilusx
4c8896e46f Translated using Weblate (German)
Currently translated at 100.0% (16 of 16 strings)

Translated using Weblate (German)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (German)

Currently translated at 100.0% (169 of 169 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_contactsbackup/de/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/de/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-03-24 21:18:05 +05:30
Gabriel Cardoso
64d30f8849 Translated using Weblate (Portuguese (Brazil))
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
2022-03-24 21:18:05 +05:30
Eric
20375444f4 Translated using Weblate (Chinese (Simplified))
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
2022-03-24 21:18:05 +05:30
Óscar Fernández Díaz
ab22e51cfb Translated using Weblate (Spanish)
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
2022-03-24 21:18:05 +05:30
Oğuz Ersen
ce0e8af4db Translated using Weblate (Turkish)
Currently translated at 100.0% (16 of 16 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (1 of 1 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (169 of 169 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (164 of 164 strings)

Co-authored-by: Oğuz Ersen <oguzersen@protonmail.com>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/tr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/tr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/tr/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2022-03-24 21:18:05 +05:30
Weblate
4c829c6760 Added translation using Weblate (Uyghur)
Added translation using Weblate (Uyghur)

Added translation using Weblate (Uyghur)

Added translation using Weblate (English (India))

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Serbian (latin))

Added translation using Weblate (Spanish (American))

Added translation using Weblate (French (Canada))

Added translation using Weblate (Chinese (Simplified))

Added translation using Weblate (Chinese (Traditional))

Added translation using Weblate (English (Canada))

Added translation using Weblate (English (Australia))

Added translation using Weblate (Burmese)

Added translation using Weblate (Assamese)

Added translation using Weblate (Tagalog)

Added translation using Weblate (Portuguese (Portugal))

Added translation using Weblate (Uzbek)

Added translation using Weblate (Urdu)

Added translation using Weblate (Kyrgyz)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Sinhala)

Added translation using Weblate (Slovak)

Added translation using Weblate (Khmer (Central))

Added translation using Weblate (Kannada)

Added translation using Weblate (Korean)

Added translation using Weblate (Albanian)

Added translation using Weblate (Serbian)

Added translation using Weblate (Kazakh)

Added translation using Weblate (Georgian)

Added translation using Weblate (Finnish)

Added translation using Weblate (Persian)

Added translation using Weblate (Swedish)

Added translation using Weblate (French)

Added translation using Weblate (Spanish)

Added translation using Weblate (Nepali)

Added translation using Weblate (Dutch)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Azerbaijani)

Added translation using Weblate (Zulu)

Added translation using Weblate (Arabic)

Added translation using Weblate (Italian)

Added translation using Weblate (Amharic)

Added translation using Weblate (Swahili)

Added translation using Weblate (Afrikaans)

Added translation using Weblate (Marathi)

Added translation using Weblate (Malay)

Added translation using Weblate (Polish)

Added translation using Weblate (Macedonian)

Added translation using Weblate (Mongolian)

Added translation using Weblate (Malayalam)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Croatian)

Added translation using Weblate (Armenian)

Added translation using Weblate (English (United Kingdom))

Added translation using Weblate (Icelandic)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Punjabi)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Czech)

Added translation using Weblate (Catalan)

Added translation using Weblate (Odia)

Added translation using Weblate (Japanese)

Added translation using Weblate (Bosnian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Belarusian)

Added translation using Weblate (Bengali)

Added translation using Weblate (Romanian)

Added translation using Weblate (Russian)

Added translation using Weblate (Estonian)

Added translation using Weblate (Basque)

Added translation using Weblate (Danish)

Added translation using Weblate (German)

Added translation using Weblate (Portuguese (Brazil))

Added translation using Weblate (Chinese (Traditional, Hong Kong))

Added translation using Weblate (Tamil)

Added translation using Weblate (Telugu)

Added translation using Weblate (Thai)

Added translation using Weblate (Lithuanian)

Added translation using Weblate (Latvian)

Added translation using Weblate (Turkish)

Added translation using Weblate (Lao)

Added translation using Weblate (Galician)

Added translation using Weblate (Gujarati)

Added translation using Weblate (English (India))

Added translation using Weblate (Norwegian Bokmål)

Added translation using Weblate (Serbian (latin))

Added translation using Weblate (Spanish (American))

Added translation using Weblate (French (Canada))

Added translation using Weblate (Chinese (Simplified))

Added translation using Weblate (Chinese (Traditional))

Added translation using Weblate (English (Canada))

Added translation using Weblate (English (Australia))

Added translation using Weblate (Burmese)

Added translation using Weblate (Assamese)

Added translation using Weblate (Tagalog)

Added translation using Weblate (Portuguese (Portugal))

Added translation using Weblate (Uzbek)

Added translation using Weblate (Urdu)

Added translation using Weblate (Kyrgyz)

Added translation using Weblate (Slovenian)

Added translation using Weblate (Sinhala)

Added translation using Weblate (Slovak)

Added translation using Weblate (Khmer (Central))

Added translation using Weblate (Kannada)

Added translation using Weblate (Korean)

Added translation using Weblate (Albanian)

Added translation using Weblate (Serbian)

Added translation using Weblate (Kazakh)

Added translation using Weblate (Georgian)

Added translation using Weblate (Finnish)

Added translation using Weblate (Persian)

Added translation using Weblate (Swedish)

Added translation using Weblate (French)

Added translation using Weblate (Spanish)

Added translation using Weblate (Nepali)

Added translation using Weblate (Dutch)

Added translation using Weblate (Indonesian)

Added translation using Weblate (Azerbaijani)

Added translation using Weblate (Zulu)

Added translation using Weblate (Arabic)

Added translation using Weblate (Italian)

Added translation using Weblate (Amharic)

Added translation using Weblate (Swahili)

Added translation using Weblate (Afrikaans)

Added translation using Weblate (Marathi)

Added translation using Weblate (Malay)

Added translation using Weblate (Polish)

Added translation using Weblate (Macedonian)

Added translation using Weblate (Mongolian)

Added translation using Weblate (Malayalam)

Added translation using Weblate (Hebrew)

Added translation using Weblate (Hindi)

Added translation using Weblate (Hungarian)

Added translation using Weblate (Croatian)

Added translation using Weblate (Armenian)

Added translation using Weblate (English (United Kingdom))

Added translation using Weblate (Icelandic)

Added translation using Weblate (Vietnamese)

Added translation using Weblate (Punjabi)

Added translation using Weblate (Portuguese)

Added translation using Weblate (Czech)

Added translation using Weblate (Catalan)

Added translation using Weblate (Odia)

Added translation using Weblate (Japanese)

Added translation using Weblate (Bosnian)

Added translation using Weblate (Ukrainian)

Added translation using Weblate (Bulgarian)

Added translation using Weblate (Belarusian)

Added translation using Weblate (Bengali)

Added translation using Weblate (Romanian)

Added translation using Weblate (Russian)

Added translation using Weblate (Estonian)

Added translation using Weblate (Basque)

Added translation using Weblate (Danish)

Added translation using Weblate (German)

Added translation using Weblate (Portuguese (Brazil))

Added translation using Weblate (Chinese (Traditional, Hong Kong))

Added translation using Weblate (Tamil)

Added translation using Weblate (Telugu)

Added translation using Weblate (Thai)

Added translation using Weblate (Lithuanian)

Added translation using Weblate (Latvian)

Added translation using Weblate (Turkish)

Added translation using Weblate (Lao)

Added translation using Weblate (Galician)

Added translation using Weblate (Gujarati)

Co-authored-by: Weblate <noreply@weblate.org>
2022-03-24 21:18:05 +05:30
Yaron Shahrabani
e69a7b3f0d Translated using Weblate (Hebrew)
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
2022-03-24 21:18:05 +05:30
Michael Bestas
c06cab77cc Translated using Weblate (Greek)
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
2022-03-24 21:18:05 +05:30
Torsten Grote
17a83eaab3 Always add a storage option placeholder for DavX5 2022-01-13 06:32:05 +05:30
Torsten Grote
4ee7605b50 Refactor StorageRoots to be more generic to prepare for non-SAF storage plugins
and to make it easier to add placeholders for storage options
2022-01-13 06:32:05 +05:30
Michael Bestas
b1ca70193c Fix storage restore progress string 2022-01-12 04:35:09 +05:30
Chirayu Desai
2b4bb1cb4f Deleted translation using Weblate (Uyghur) 2022-01-12 03:50:48 +05:30
Michael Bestas
08610e1332 Don't hide navigation bar in setup wizard
Also:
Remove back button from recovery code input page
Convert root back button to skip button

Change-Id: I0bca13b53ac3898f2ab3b8503aaf7d2bc51a983a
2022-01-05 01:45:01 +05:30
Giovanni Ricca
efaeaa56ad Translated using Weblate (Italian)
Currently translated at 72.5% (116 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/it/
2022-01-05 01:40:46 +05:30
Chirayu Desai
4795a88762 Deleted translation using Weblate (Spanish (Argentina)) 2022-01-05 01:40:46 +05:30
Michael Bestas
6e6695fea1 Remove unused translations
* Fixes lint checks after 0f241f7d25

Change-Id: I578e5bc68e6c0a1cedc8da8c547d1813e212d072
2022-01-05 01:40:46 +05:30
ssantos
302740f59d Translated using Weblate (Portuguese)
Currently translated at 100.0% (160 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt/
2022-01-05 01:40:46 +05:30
fem
06ef8fc124 Translated using Weblate (Japanese)
Currently translated at 99.3% (159 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ja/
2022-01-05 01:40:46 +05:30
Gabriel Cardoso
d4da47634f Translated using Weblate (Portuguese (Brazil))
Currently translated at 100.0% (160 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
2022-01-05 01:40:46 +05:30
御守りのいちか
e00b899055 Translated using Weblate (Chinese (Traditional))
Currently translated at 21.8% (35 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/zh_Hant/
2022-01-05 01:40:46 +05:30
Gabriel Cardoso
8bcb1e8692 Translated using Weblate (Portuguese (Brazil))
Currently translated at 92.5% (148 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
2022-01-05 01:40:46 +05:30
Ilya
723b958ba4 Translated using Weblate (Russian)
Currently translated at 98.7% (158 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ru/
Change-Id: I218e6e24e5c72fb640865c8615ff38373681196d
2022-01-05 01:40:46 +05:30
Reza Almanda
eb31b2444a Translated using Weblate (Indonesian)
Currently translated at 52.5% (84 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/id/
2022-01-05 01:40:46 +05:30
Milo Ivir
c61c88f1df Translated using Weblate (Croatian)
Currently translated at 100.0% (160 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/hr/
Change-Id: I4073f6c141d5b448003b60d0a818ed4bc6306177
2022-01-05 01:40:46 +05:30
Armand LB
31d2d9c46b Translated using Weblate (French)
Currently translated at 100.0% (160 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
Change-Id: I83217e2b06c0dfa38eeca6caa8601138a24a3582
2022-01-05 01:40:46 +05:30
Yaron Shahrabani
25a416bcfc Translated using Weblate (Hebrew)
Currently translated at 97.5% (156 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
2022-01-05 01:40:46 +05:30
Nekromanser
95aa1b28f5 Translated using Weblate (Finnish)
Currently translated at 100.0% (160 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fi/
2022-01-05 01:40:46 +05:30
Weblate
2a7284e8ea Added translation using Weblate (Uyghur) 2022-01-05 01:40:46 +05:30
Weblate
975421198d Added translation using Weblate (Spanish (Argentina)) 2022-01-05 01:40:46 +05:30
Nekromanser
8cc88ac993 Translated using Weblate (Finnish)
Currently translated at 85.0% (136 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fi/
2022-01-05 01:40:46 +05:30
Alexandre Brochand
873a095d8f Translated using Weblate (French)
Currently translated at 91.2% (146 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/fr/
2022-01-05 01:40:46 +05:30
bruh
61567ed83a Translated using Weblate (Vietnamese)
Currently translated at 100.0% (160 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/vi/
Change-Id: I8d7115c34f86e960c8e2cf168f3c3144214eaf71
2022-01-05 01:40:46 +05:30
Óscar Fernández Díaz
457e287c67 Translated using Weblate (Spanish)
Currently translated at 100.0% (160 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/es/
Change-Id: Ib2ef827f26476597d478f8deca5673a2dbac4d59
2022-01-05 01:40:46 +05:30
Gediminas Murauskas
43f2c7a751 Translated using Weblate (Lithuanian)
Currently translated at 100.0% (160 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/lt/
Change-Id: Iea1fe96abe6845c361171ad7d775922c9d0cc782
2022-01-05 01:40:46 +05:30
Yaron Shahrabani
a026af10b9 Translated using Weblate (Hebrew)
Currently translated at 69.3% (111 of 160 strings)

Translation: CalyxOS/Seedvault
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/he/
2022-01-05 01:40:46 +05:30
Eric
9a1f5e3864 Translated using Weblate (Chinese (Simplified))
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
2022-01-05 01:40:46 +05:30
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