Commit graph

126 commits

Author SHA1 Message Date
Torsten Grote
7b0e02c451
Clean up code after refactorings 2024-10-10 13:42:20 -03:00
Torsten Grote
83fd0ba5d1
Upgrade all the binary dependencies we include
Since this is for Android 15 and the new v2 format, this is a good time for upgrading, because we need to test the app extensively anyway.
2024-10-10 13:42:19 -03:00
Torsten Grote
e6905c0365
Move tink library into core module and expose via CoreCrypto
This also moves key derivation via HKDF into the core.
2024-10-08 19:36:03 -03:00
Torsten Grote
b2307d94dd
Add protobuf definitions for snapshot 2024-10-08 19:36:02 -03:00
Torsten Grote
78ef0caea7
clean up libs and fix AOSP build 2024-09-12 09:34:00 -03:00
Torsten Grote
b59da2a805
Ensure ChunkWriter uses current backend
When changing backends, the ChunkWriter could still use the old one causing data loss, because chunks assumed to exist on new backend, were written to old one.
2024-09-12 09:33:59 -03:00
Torsten Grote
96a3564610
Switch everything to new backends 2024-09-12 09:33:58 -03:00
Torsten Grote
58d58415c5
Use new Backend directly in storage lib 2024-09-12 09:18:22 -03:00
Torsten Grote
0c1dfb316d
Use new Backend directly in the app 2024-09-12 09:18:22 -03:00
Torsten Grote
5bb599e528
Use new SafBackend in DocumentsProviderStoragePlugin 2024-09-12 09:18:21 -03:00
Torsten Grote
8c05ccc39d
Use new WebDavBackend in WebDavStoragePlugin 2024-09-12 09:18:21 -03:00
Torsten Grote
27eb95f768
Split key concern out of storage plugin
This creates a KeyManager interface in the new core module which the storage module can use to get the key from.
2024-09-12 09:18:21 -03:00
Torsten Grote
418dfb344c
Fix joining string for file selection 2024-08-22 10:25:05 -03:00
Torsten Grote
a2189bc1f7
Restore files ownership only when file isn't pending anymore
because the system doesn't allow us to open files that we don't own
2024-08-22 09:35:40 -03:00
Torsten Grote
3683f82363
make file restore numbers add up by showing duplicates and errors 2024-08-22 09:35:40 -03:00
Torsten Grote
f51c758493
don't restore files that still exist unchanged
(same size and lastModified)
2024-08-22 09:35:39 -03:00
Torsten Grote
dc92e41aa8
declare foreground service type also when starting service 2024-08-22 09:35:39 -03:00
Torsten Grote
ff3956d9c4
store owner of media file and whether it is marked favorite 2024-08-22 09:35:39 -03:00
Torsten Grote
0a10db3bba
split out FilesItem class into own file 2024-08-02 13:54:44 -03:00
Torsten Grote
66836c875c
Fixes for MD3 that got merged in the meantime 2024-07-31 15:09:44 -03:00
Torsten Grote
777aa6d525
don't create empty snapshots 2024-07-31 15:09:43 -03:00
Torsten Grote
431e5ba8f5
toggle files checkbox when clicking them and add more space before checkbox 2024-07-31 15:09:43 -03:00
Torsten Grote
118b2c0be0
Integrate files selection into real Seedvault app 2024-07-31 15:09:43 -03:00
Torsten Grote
7d6ab6f8e0
Make demo restore with file selection functional
This injects FileSelectionManager as a singleton, so we can use its selection to recreate a snapshot, even in a service.

Also includes some UI improvements.
2024-07-31 15:09:43 -03:00
Torsten Grote
5012099419
Add UI prototype for selecting file to storage demo app 2024-07-31 15:09:43 -03:00
Torsten Grote
2b07b8417c
Add FileSelectionManager to storage lib
This new manager will be responsible for handling file selection by user prior to restore.
2024-07-31 15:09:42 -03:00
Aayush Gupta
955f38fb44 fragment_backup_content: Don't set custom style on FAB
Conflicts with dynamic theme

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-27 11:25:55 +07:00
Torsten Grote
07116b4f4c Use MD3 switches for files backup config 2024-07-11 15:59:03 +07:00
Aayush Gupta
b1909025c0 gradle: Migrate from kapt to ksp
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-30 12:20:20 +05:30
Aayush Gupta
6953f154b3 gradle: Migrate to recommended method of build version catalogs
This fixes broken AGP Upgrade Assistant in Android Studio as well as detects
the version catalog files in Android view.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-05-30 12:07:51 +05:30
Hosted Weblate
684ce8201b Import translations from Weblate
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Kristian Nordin <kristian.po@proton.me>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: ikya91 <weblate.haq9g@simplelogin.com>
Co-authored-by: lucasmz <git@lucasmz.dev>
Co-authored-by: lucasmz-dev <git@lucasmz.dev>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
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/fr/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pl/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/ro/
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/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/sv/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/sv/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2024-05-14 22:21:35 +05:30
Torsten Grote
1931024a10
Introduce constant for files snapshot file extension 2024-05-03 16:09:41 -03:00
Torsten Grote
7e612cb8e0
Introduce StoragePluginManager to handle storage plugins
and allow changing them dynamically. So far plugins were injected into the dependency graph and couldn't be changed at runtime, only their config could. Now we have the infrastructure in place to really allow for more than one plugin.
2024-04-25 09:51:45 -03:00
Torsten Grote
4f2ead66a5
Ensure root folder exists when using storage
We use the same root folder for app and files backup. App backup usually creates the root folder, but if only storage backup is used, it will be missing and needs to be created.
2024-04-25 09:51:44 -03:00
Torsten Grote
e6e65d0dd1
WebDAV files backup plugin 2024-04-25 09:51:44 -03:00
Hosted Weblate
a25ecd1886
Import translations from Weblate
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Fjuro <fjuro@alius.cz>
Co-authored-by: Fjuro <ifjuro@proton.me>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Igor Sorocean <sorocean.igor@gmail.com>
Co-authored-by: Kristian Nordin <kristian.po@proton.me>
Co-authored-by: Michael Bestas <mkbestas@gmail.com>
Co-authored-by: Oğuz Ersen <oguz@ersen.moe>
Co-authored-by: Suguru Hirahara <shirahara@users.noreply.hosted.weblate.org>
Co-authored-by: Yaron Shahrabani <sh.yaron@gmail.com>
Co-authored-by: Yuya <yuyaj@tutanota.com>
Co-authored-by: ZehRique <zehrique.dev@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: lucasmz <git@lucasmz.dev>
Co-authored-by: lucasmz <github@lucasmz.dev>
Co-authored-by: lucasmz <lucasmz@users.noreply.hosted.weblate.org>
Co-authored-by: nautilusx <translate@disroot.org>
Co-authored-by: rehork <cooky@e.email>
Co-authored-by: 大王叫我来巡山 <hamburger2048@users.noreply.hosted.weblate.org>
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault/cs/
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/fi/
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/ja/
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/ro/
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/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/pt/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_contactsbackup/ro/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/ro/
Translate-URL: https://hosted.weblate.org/projects/calyxos/seedvault_storage/sv/
Translation: CalyxOS/Seedvault
Translation: CalyxOS/Seedvault contacts backup
Translation: CalyxOS/Seedvault storage backup
2024-04-24 07:31:58 +02:00
Torsten Grote
9557dfd4e7 Fix flakyness in SmallFileBackupIntegrationTest again
Since the chunk gets zipped, the random input data would sometimes differ in size if randomness wasn't truly random, so it could be compressed more.
2024-04-05 17:23:49 +05:30
Torsten Grote
fef6ecc640 Fix flakyness in SmallFileBackupIntegrationTest 2024-04-05 02:56:06 +05:30
Torsten Grote
758186392d Properly handle exception while writing zip chunk entries 2024-02-13 23:36:19 +05:30
Torsten Grote
dc7405474e Improve error reporting when reading snapshot version 2024-02-13 23:36:05 +05:30
Torsten Grote
fd90be8776 Don't include empty dirs in media backup
Otherwise, the directories would be treated as small files and we would try to backup their content which would fail.
2024-02-13 23:36:05 +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
Torsten Grote
d7f985ba8a Add some comments to storage Restore 2023-11-28 18:53:57 +05:30
Steve Soltys
b131aaf898 Clean up Gradle build scripts 2023-10-19 00:23:06 -04:00
Steve Soltys
b917293bbc Switch to Kotlin build scripts + version catalog 2023-10-19 00:22:51 -04:00
Torsten Grote
f8b94c5f57
Upgrade tink to 1.10.0
1.11.0 is tagged, but not released to maven central, yet.
2023-10-10 15:44:53 -03:00
Torsten Grote
cb95444ad4
Bump minSdk to 33 and upgrade unit test dependencies 2023-10-10 15:44:53 -03:00
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
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
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