Torsten Grote
952cdec55d
Fully implement BlobCache
...
This class is responsible for caching blobs during a backup run,
so we can know that a blob for the given chunk ID already exists
and does not need to be uploaded again.
It builds up its cache from snapshots available on the backend
and from the persistent cache that includes blobs that could not be added to a snapshot,
because the backup was aborted.
2024-10-08 19:36:05 -03:00
Torsten Grote
5b567c79a2
Also snapshot unchanged APKs
2024-10-08 19:36:05 -03:00
Torsten Grote
cacea886b0
Simplify transport init and token handling
...
The token used to be very important, because it was our restore set folder name. Now it is just a number in a snapshot, so things get a bit simpler.
2024-10-08 19:36:05 -03:00
Torsten Grote
3c4b4f705c
Remove hack of @pm@ backup when initializing transport
...
as it isn't needed anymore with v2 since we don't do duplicate restore sets anymore
2024-10-08 19:36:04 -03:00
Torsten Grote
7f9e84fdb6
Stop writing out old metadata to backend
...
We'll probably keep metadata around for internal information about backup state
2024-10-08 19:36:04 -03:00
Torsten Grote
c2ad309f93
K/V backup and restore using v2
...
while maintaining support for v0 and v1
2024-10-08 19:36:04 -03:00
Torsten Grote
7c7ea5fcd7
Full backup and restore using v2
...
while maintaining support for v0 and v1
2024-10-08 19:36:04 -03:00
Torsten Grote
83708d9403
Prepare restore backup loading for v2
2024-10-08 19:36:03 -03:00
Torsten Grote
8ce79f4195
Add protobuf-kotlin-lite and use new builders
2024-10-08 19:36:03 -03:00
Torsten Grote
897ae48b44
Back up app APKs in new v2 format
...
We still support restoring in v1 format for some time.
2024-10-08 19:36:03 -03:00
Torsten Grote
e17c98857f
Back up app icons in new v2 format
...
We still support downloading in v1 format for some time.
2024-10-08 19:36:03 -03:00
Torsten Grote
1efa8e8f59
Add prototype plumbing for new v2 app backup
2024-10-08 19:36:03 -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
c19787a7fa
Prepare backends for new app backup repository
2024-10-08 19:36:02 -03:00
Torsten Grote
d2df088f2c
Add zstd-jni library
2024-10-08 19:36:02 -03:00
Torsten Grote
cb68f75eb6
remove kotlin protobuf as its not in aosp
2024-10-08 19:36:02 -03:00
Torsten Grote
b2307d94dd
Add protobuf definitions for snapshot
2024-10-08 19:36:02 -03:00
Torsten Grote
75797f93e7
add readme for app dedup research
2024-10-08 19:36:02 -03:00
Torsten Grote
0ae1f0ce7d
fix broken link in files backup docs
2024-10-08 19:36:01 -03:00
Torsten Grote
a9df9a2d2f
Merge pull request #771 from grote/770-backup-start
...
Unify code to start new backup
2024-10-08 18:21:15 -03:00
Torsten Grote
d6572979cc
Unify code to start new backup
...
to ensure that files backup and app backup will always run if they should
2024-10-08 16:13:12 -03:00
Torsten Grote
5498e838db
Merge pull request #764 from grote/697-receivery-code-crash
...
Trim white-spaces from recovery code words
2024-10-07 11:09:26 -03:00
Torsten Grote
4bad79a924
Merge pull request #772 from grote/769-tiktok
...
Also show TikTok in Backup status
2024-10-07 11:09:03 -03:00
Torsten Grote
3601494b06
Also show TikTok in Backup status
...
The apps ships an instrumentation configuration which we've so far only soon for instrumentation test dev apps. Now, we do more checks to identify those.
2024-10-07 10:47:27 -03:00
Torsten Grote
5f8e85944a
Merge pull request #767 from t-m-w/fix-title-of-restore-notification-channel
...
Fix title of restore notification channel
2024-10-04 09:30:09 -03:00
t-m-w
a27ef47294
Fix title of restore notification channel
...
The restore foreground service notification uses the restore channel, which was inadvertently using the title from the error channel, showing "Auto restore flash drive error" when tapping and holding on the notification, and showing that channel name twice in the notification settings.
2024-10-03 16:09:25 -04:00
Torsten Grote
542a79e2e1
Trim white-spaces from recovery code words
2024-10-03 14:09:39 -03:00
Torsten Grote
f2aec3f932
Merge pull request #747 from theimpulson/a15
...
Support edge to edge
2024-09-20 14:03:29 -03:00
Torsten Grote
cf7953edf7
Merge pull request #734 from grote/unified-backends
...
Unify Storage Backends
2024-09-19 13:52:34 -03:00
Aayush Gupta
b9b7c96063
Support edge to edge
...
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-09-18 20:21:09 +05:30
Torsten Grote
78ef0caea7
clean up libs and fix AOSP build
2024-09-12 09:34:00 -03:00
Torsten Grote
206affee00
Move AOSP libs to root libs dir
2024-09-12 09:33:59 -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
c83e8f392e
Fix issue with DocumentFileCache
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
099e0ba6d5
Remove hasData() method from StoragePlugin
...
because it is one extra request for packages that do have data and from the looks of it not really needed.
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
9e56384cb2
Add core gradle module with unified storage backends
2024-09-12 09:18:21 -03:00
Torsten Grote
fa56a74ad7
Merge pull request #742 from theimpulson/a15
...
Android 15 updates
2024-09-12 09:17:31 -03:00
Aayush Gupta
bc2cb257b1
app: test: Force robolectric to SDK 34 for now
...
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-09-12 17:31:01 +05:30
Aayush Gupta
4a235c6739
app: test: Assert applicationInfo is non-null
...
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-09-10 12:13:21 +05:30
Aayush Gupta
217fd97d3e
Bump target and compile SDK to API 35
...
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-09-10 12:13:15 +05:30
Aayush Gupta
a334eb0e91
Update AGP, Gradle and dependencies to AOSP versions
...
* Also regenerate JARs against Android 15 user build
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-09-09 11:39:58 +05:30
Torsten Grote
9461e18692
Merge pull request #740 from seedvault-app/cd/android15-version
...
Bump version to 15-4.1
2024-09-06 12:47:04 -03:00
Chirayu Desai
bf609f9723
Bump version to 15-4.1, mention 15 in README
...
* VanillaIceCream
Change-Id: Idd149e2be3329452ab61941cde2ff4f2ae3575ca
2024-09-06 20:52:49 +05:30
Torsten Grote
10f9f8e840
Merge pull request #729 from theimpulson/material3fixes
...
Fixes for Material3
2024-09-06 08:41:00 -03:00