Commit graph

961 commits

Author SHA1 Message Date
Torsten Grote
6d9c18bd29
Checker: account for possibility that one chunkId maps to more than one blob 2024-11-01 16:23:54 -03:00
Torsten Grote
4f5199ce27
Make APK backup self-healing 2024-11-01 10:38:29 -03:00
Torsten Grote
15e8850e5e
Don't allow running app data check while backup is running 2024-11-01 10:38:29 -03:00
Torsten Grote
45d710270a
Restrict Checker.concurrencyLimit to 3 when backend requires network 2024-11-01 10:38:28 -03:00
Torsten Grote
166f81b3a8
Add unit tests for Checker 2024-11-01 10:38:28 -03:00
Torsten Grote
beedafd042
Move AppCheckFragment into check package 2024-11-01 10:38:28 -03:00
Torsten Grote
06191a1fc3
Catch error when loading snapshots for app checking 2024-11-01 10:38:28 -03:00
Torsten Grote
83974b4121
Show app backup check error screen
and error notification
2024-11-01 10:38:27 -03:00
Torsten Grote
26063a8ef0
Show app backup check success screen 2024-11-01 10:38:27 -03:00
Torsten Grote
96f9a8d017
Show app backup check success notification 2024-11-01 10:38:27 -03:00
Torsten Grote
51a6355205
Do parallel checking and update notification with progress 2024-11-01 10:38:26 -03:00
Torsten Grote
591dfe0bd6
Implement actual checking 2024-11-01 10:38:26 -03:00
Torsten Grote
85ce587b14
Create AppCheckerWorker and wire it up 2024-11-01 10:38:25 -03:00
Torsten Grote
060bb425da
UI for checking app backups 2024-11-01 10:38:25 -03:00
Torsten Grote
f67c1d5544
Replace deprecated sharedViewModel by activityViewModel 2024-11-01 10:38:24 -03:00
Torsten Grote
13e3dadeb4
Show 'Launch' button for force stopped apps
in backup status screen.
2024-10-30 12:15:53 -03:00
Torsten Grote
0fa14025b3
Merge pull request #748 from seedvault-app/feature/cirrus-ci-tests
Run tests in Cirrus CI again
2024-10-18 10:34:18 -03:00
Torsten Grote
d96bc52192
Merge pull request #691 from grote/690-webdav-info
Show full URL in settings when WebDAV is used
2024-10-17 15:54:45 -03:00
Torsten Grote
0ed6d5c2c0
Don't show toolbar for recovery code when restoring
This restores original behavior and should make CI pass which otherwise can't see the last two words.
2024-10-17 15:19:33 -03:00
Torsten Grote
a538a64395
Use DigestInputStream to spy on backup data
this is to save memory to prevent OOM errors we saw on CI
2024-10-17 13:51:31 -03:00
Torsten Grote
1d17adedff
log stopped packages in CI test 2024-10-17 13:51:31 -03:00
Torsten Grote
b8c87a6928
Always log BackupMonitor and start stopped apps later in CI test 2024-10-17 13:51:31 -03:00
Torsten Grote
32d7f49d4c
show error notification when AppBackupWorker isn't successful
otherwise there's no UI feedback when running backup manually
2024-10-17 13:51:31 -03:00
Torsten Grote
2957678465
Fix potential thread-safety issue when changing backends 2024-10-17 13:51:30 -03:00
Torsten Grote
3d9eca0d40
adapt CI to new UI for restore set items 2024-10-17 13:51:30 -03:00
Torsten Grote
eb9dad798c
onBackupSuccess now doesn't need a boolean anymore 2024-10-17 13:51:30 -03:00
Torsten Grote
910c68aa52
Launch stopped apps before test to ensure they get backed up 2024-10-17 13:51:29 -03:00
Torsten Grote
f38bed9616
Run instrumentation tests from other gradle modules
and those not annotated with @MediumTest
2024-10-17 13:51:29 -03:00
Steve Soltys
315e0736f5
Fix KVRestore spies to use new functions 2024-10-17 13:51:29 -03:00
Steve Soltys
42d7747641
Add logging for unknown exceptions 2024-10-17 13:51:29 -03:00
Steve Soltys
4aeb05813d
Run tests in Cirrus CI again 2024-10-17 13:51:26 -03:00
Torsten Grote
3fd615477d
Merge pull request #776 from theimpulson/menu
Switch to toolbar APIs for working with menu
2024-10-17 13:41:18 -03:00
Aayush Gupta
2b5ca5ebdc {app|storage}: Drop theme attribute from toolbar
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-10-16 20:31:47 +05:30
Aayush Gupta
82267f6844 app: Switch to toolbar APIs for working with menu
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-10-16 20:31:46 +05:30
Torsten Grote
321c04958c
Exclude ourselves from backup status 2024-10-16 08:54:41 -03:00
Torsten Grote
f52b1004fb
Show full URL in settings when WebDAV is used 2024-10-15 17:47:40 -03:00
Torsten Grote
f5c2f0bd3a Release version 15-5.0 2024-10-16 00:47:54 +05:30
Torsten Grote
45e7d23bbe
Merge pull request #777 from grote/readme-update
Update README and add funding to About screen
2024-10-14 15:22:26 -03:00
Torsten Grote
001c5f1a17
Update About with NGI0 Entrust Fund 2024-10-14 10:09:36 -03:00
Aayush Gupta
f21e0f8d39 UsbIntentReceiver: Specify parcel's type in method as well
The current method has been deprecated

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-10-13 12:34:37 +05:30
Torsten Grote
2d47aa3d9f
don't crash in BackupMonitor when there is no packageName
this can happens when it tells us that restore has finished overall
2024-10-10 13:42:24 -03:00
Torsten Grote
16c00be124
remove corrupted snapshots when pruning
before a corrupted snapshot would DoS pruning
2024-10-10 13:42:24 -03:00
Torsten Grote
9339f9f0fb
when cached snapshot is corrupted fall back to loading from backend 2024-10-10 13:42:24 -03:00
Torsten Grote
14775b5c3e
Check that exceptions from file loading get caught
a sha256sum mismatch for example can happen, so the exception should get caught e.g. in RestoreCoordinatorState and should not necessarily be fatal
2024-10-10 13:42:23 -03:00
Torsten Grote
9422d0d309
Encode icons in PNG, because JPEG doesn't support transparency
This caused black squares around icons.
2024-10-10 13:42:23 -03:00
Torsten Grote
682afa1c69
Try to recover data for force stopped apps from latest snapshot
The system doesn't allow us to backup forced stopped apps, but if we had data for them once, we can at least carry it along.
2024-10-10 13:42:23 -03:00
Torsten Grote
c09ea7c075
Use BackupManagerMonitor to handle K/V with no data changed
The fake package manager package is essential for the backup, but when its data doesn't change and we request a normal incremental backup, it doesn't get included, because our transport doesn't even get called for it. Only the BackupMonitor gets a hint that it had no (new?) data via LOG_EVENT_ID_NO_DATA_TO_SEND.
This behavior started with Android 15 that fixed a bug that caused @pm@ to always backup. However, other K/V apps were probably affected before.
2024-10-10 13:42:23 -03:00
Torsten Grote
f8451586df
Minor improvements for app restore
* activity now can be launched from notification
* better logging
* app data restore continues even after activity died
2024-10-10 13:42:23 -03:00
Torsten Grote
11270ff694
Reset latest snapshot to avoid it getting stale
When switching to new storage that doesn't yet have any snapshots, we would otherwise keep the old latest snapshot around.
2024-10-10 13:42:22 -03:00
Torsten Grote
7696b88a5a
Improve RestoreSet display
when user is asked to choose a backup to restore
2024-10-10 13:42:22 -03:00