Commit graph

817 commits

Author SHA1 Message Date
Torsten Grote
66836c875c
Fixes for MD3 that got merged in the meantime 2024-07-31 15:09:44 -03:00
Torsten Grote
118b2c0be0
Integrate files selection into real Seedvault app 2024-07-31 15:09:43 -03:00
Torsten Grote
dbb40a4a5b
Only attempt to do a manual app backup, if it is actually enabled 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
t-m-w
a00ee0fa4f
Fix AOSP build 2024-07-31 11:02:33 -04:00
Aayush Gupta
2f96393a89 Apply dynamic colors to all acitvites
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-26 15:53:10 +07:00
Aayush Gupta
3f7022ecb7 fragment_restore_app_selection: Set background color to squashed layout
CollapsingToolbarLayout doesn't seems to be respecting background color for some reason

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-11 16:57:06 +07:00
Aayush Gupta
70413f1425 drawable: Tint colors directly instead of relying on system theme
Material theme seems to be not respecting the tint color in the XML.
Override the colors manually to get the job done.

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-11 16:39:52 +07:00
Torsten Grote
0dcab41fd1 Use MD3 switches in settings 2024-07-11 15:59:03 +07:00
Aayush Gupta
98c6ebab8d SchedulingFragment: Implement Material3 based ListPreference
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-11 15:59:03 +07:00
Aayush Gupta
d15fe36638 RecoveryCodeInputFragment: Switch to MaterialAutoCompleteTextView
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-11 15:59:02 +07:00
Aayush Gupta
cdcb862d9d Migrate to MaterialAlertDialog everywhere
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-11 15:59:02 +07:00
Aayush Gupta
033498aa17 themes: Switch to Material3 theme
* Merge accent and primary color for simpler color management
* Apply background color on status and navigation bar
* Drop non-required colors

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-11 15:59:02 +07:00
Aayush Gupta
412ed9ee16 themes: Switch to single theme for all activities
Default to NoActionBar theme and use toolbar where required

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
2024-07-11 15:59:02 +07:00
Torsten Grote
b07bb6bc48
Merge pull request #692 from grote/679-consider-other-transports
Better scheduling co-existence with other transport
2024-07-08 15:32:24 -03:00
Torsten Grote
490c7882e4
Add missing docs for sendBackupData() 2024-06-27 17:20:06 -03:00
Torsten Grote
7afd496db9
Catch the underlying exception when WebDAV writing fails due to closed pipe 2024-06-27 17:20:05 -03:00
Torsten Grote
823eb4ffab
Improve logging relevant for WebDAV streams 2024-06-27 16:34:37 -03:00
Torsten Grote
a1f6be0447
Remove dav4jvm InputStream hack as not needed with latest version 2024-06-24 13:53:08 -03:00
Torsten Grote
6e84d727c2
Update dav4jvm to b8be778
as recommended by upstream: https://github.com/bitfireAT/dav4jvm/discussions/36#discussioncomment-9862613
2024-06-24 13:48:40 -03:00
Torsten Grote
520074521e
Update okhttp to 4.12.0 2024-06-24 13:09:49 -03:00
Torsten Grote
484767bf16
Disable framework scheduling when scheduling backup, because another transport may have re-enabled it 2024-06-19 09:29:22 -03:00
Torsten Grote
878492088d
Don't disable framework scheduling when not current transport 2024-06-19 09:29:22 -03:00
Torsten Grote
97093ca0b2
Don't restore the storage provider app
otherwise it gets killed during data restore which kills our restore process
2024-06-19 09:24:01 -03:00
Torsten Grote
22ca2550c2
Merge pull request #670 from grote/309-restore-choose-apps
Allow choosing which apps will get restored
2024-06-19 09:21:59 -03:00
Torsten Grote
f15018253c
Prevent NoClassDefFound error when a WebDAV server returns GetLastModified
which happens in the case of dufs (see last commit)
2024-06-14 09:17:52 -03:00
Torsten Grote
4ac02018fa
Fix uncaught throwable with dufs WebDAV server
The underlying issue will affect other functionality though: https://github.com/sigoden/dufs/issues/400
2024-06-14 09:17:52 -03:00
Torsten Grote
56e26083fc
Fix PROPFIND fallback for lighttpd as well 2024-06-14 09:17:51 -03:00
Torsten Grote
1dd898b068
Add fallback when WebDAV PROPFIND with depth=2 isn't supported 2024-06-14 09:17:51 -03:00
Torsten Grote
c522c460fd
Add trailing slash to WebDAV collection requests 2024-06-14 09:17:50 -03:00
Torsten Grote
c483332b15
Try to fix issue where our transport doesn't get registered in emulator 2024-06-12 09:57:24 -03:00
Steve Soltys
08727651af
Skip magic package manager in assertions
We still don't know why, but after latest test fixes, the @pm@ package didn't have the the @meta@ key in the backup, but it did in restore.
2024-06-07 09:35:15 -03:00
Torsten Grote
e76ab1ca43
Increase WebDAV timeouts and declare body one-shot
As most output streams come from the system, we can't re-send them. So when okhttp wants to retry it tries to write to closed streams which will fail. We declare our outputstream writing as one-shot for this reason.
2024-06-05 12:40:42 -03:00
Torsten Grote
0e224b1238
Filter out @end@ helper package
it doesn't really exist and should probably not even be in the backup metadata. It messes up progress reporting, if we keep it in.
2024-05-31 17:11:34 -03:00
Torsten Grote
fa19261d8e
Improve app data restore process
Apps are now restored alphabetically to be consistent with the other lists. Some irrelevant apps are hidden. Under the hood, we now use an AsyncListDiffer like in the other lists.
2024-05-31 17:06:14 -03:00
Torsten Grote
b3f93adf77
Factor out code into new
AppDataRestoreManager

which was in RestoreViewModel before.
Now all three steps of app restore have their own dedicated manager class making the ViewModel more readable.
2024-05-31 15:07:35 -03:00
Torsten Grote
66f3852edf
Delete cached icons after restore is done 2024-05-31 13:35:55 -03:00
Torsten Grote
ebf68cfe73
Don't try to install system apps without APK
during restore process. These can usually not be manually installed anyway and just clutter the list making it harder for the user to find their important apps and potential failures there.
2024-05-31 12:16:01 -03:00
Torsten Grote
f408381d18
Fix backup/restore instrumentation tests 2024-05-31 11:50:59 -03:00
Torsten Grote
88619b94c1
Fix red error color
Resources$NotFoundException: Resource ID #0x7f060258 type #0x2 is not valid
2024-05-31 11:50:59 -03:00
Torsten Grote
f68fa0f3fc
Fix AOSP build 2024-05-31 11:50:59 -03:00
Torsten Grote
4b1c76d585
don't record excluded apps in backup 2024-05-31 11:50:59 -03:00
Torsten Grote
e54d96d548
Re-factor and improve ApkRestore 2024-05-31 11:50:59 -03:00
Torsten Grote
05c39e98fa
Add tests for AppSelectionManager 2024-05-31 11:50:58 -03:00
Torsten Grote
6143ec04ed
Upgrade Roboeletric and bump minSdk to 34 2024-05-31 11:50:58 -03:00
Torsten Grote
9cc72bfa38
Show size for (all combined) system apps when restoring 2024-05-31 11:50:58 -03:00
Torsten Grote
f5fb9ffffa
Factor out app restore selection code into new AppSelectionManager 2024-05-31 11:50:58 -03:00
Torsten Grote
332387fd58
Encrypt zip file with icons
While we still don't guarantee that an attacker with access to the storage can't find out which apps we use (APKs are still unencrypted after all), we go into this direction.

Also, this should make it impossible for an attacker that can modify files to replace or otherwise mess with the icons.
2024-05-31 11:10:12 -03:00
Torsten Grote
eecfcdb285
Improve icon display when selecting apps for restore 2024-05-31 11:10:12 -03:00