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.
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>
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.
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.
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>
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>
w: Argument -Xopt-in is deprecated. Please use -opt-in instead
w: C:\Users\aayus\StudioProjects\seedvault\storage\demo\src\main\java\de\grobox\storagebackuptester\restore\DemoSnapshotFragment.kt: (34, 31): 'onBackPressed(): Unit' is deprecated. Overrides deprecated member in 'androidx.core.app.ComponentActivity'. Deprecated in Java
w: Argument -Xopt-in is deprecated. Please use -opt-in instead
w: C:\Users\aayus\StudioProjects\seedvault\storage\lib\src\main\java\org\calyxos\backup\storage\backup\BackupService.kt: (35, 9): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
w: C:\Users\aayus\StudioProjects\seedvault\storage\lib\src\main\java\org\calyxos\backup\storage\restore\RestoreService.kt: (49, 9): This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API.
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
* 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>
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
Previously, we would put our files directly in the root of the storage location and delete any existing backups there. When used by different devices or user profiles, these would keep deleting each other's backups.