2017-09-21 04:42:15 +02:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
|
|
xmlns:tools="http://schemas.android.com/tools"
|
2019-10-29 02:57:47 +01:00
|
|
|
package="com.stevesoltys.seedvault"
|
2024-01-17 18:30:08 +01:00
|
|
|
android:versionCode="34040000"
|
|
|
|
android:versionName="14-4.0">
|
2020-10-23 15:25:44 +02:00
|
|
|
<!--
|
|
|
|
The version code is the targeted SDK_VERSION plus 6 digits for our own version code.
|
|
|
|
The version name is the targeted Android version followed by - and our own version name.
|
|
|
|
-->
|
2017-09-21 04:42:15 +02:00
|
|
|
|
2019-06-03 17:23:09 +02:00
|
|
|
<uses-permission
|
|
|
|
android:name="android.permission.BACKUP"
|
|
|
|
tools:ignore="ProtectedPermissions" />
|
|
|
|
|
2020-10-19 20:44:36 +02:00
|
|
|
<!-- This is needed to check for internet access when backup is stored on network storage -->
|
|
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
|
|
|
2022-10-06 09:45:49 +02:00
|
|
|
<!-- This is needed to inform users about backup status and errors -->
|
2022-08-23 15:59:37 +02:00
|
|
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
|
|
|
|
2022-10-06 09:38:29 +02:00
|
|
|
<!-- (Optional) This is needed to retrieve the available storage roots.
|
|
|
|
The user needs to manually select a storage root, if not granted. -->
|
2019-09-13 16:40:32 +02:00
|
|
|
<uses-permission
|
|
|
|
android:name="android.permission.MANAGE_DOCUMENTS"
|
|
|
|
tools:ignore="ProtectedPermissions" />
|
|
|
|
|
2019-09-19 20:21:48 +02:00
|
|
|
<!-- This is needed to access the serial number of USB mass storage devices -->
|
|
|
|
<uses-permission
|
|
|
|
android:name="android.permission.MANAGE_USB"
|
|
|
|
tools:ignore="ProtectedPermissions" />
|
2020-03-08 22:13:35 +01:00
|
|
|
|
2019-09-19 21:29:53 +02:00
|
|
|
<!-- This is needed to change system backup settings -->
|
|
|
|
<uses-permission
|
|
|
|
android:name="android.permission.WRITE_SECURE_SETTINGS"
|
|
|
|
tools:ignore="ProtectedPermissions" />
|
|
|
|
|
2019-12-20 17:55:38 +01:00
|
|
|
<!-- This is needed to re-install backed-up packages when restoring from backup -->
|
|
|
|
<uses-permission
|
|
|
|
android:name="android.permission.INSTALL_PACKAGES"
|
|
|
|
tools:ignore="ProtectedPermissions" />
|
|
|
|
|
2020-01-03 16:51:44 +01:00
|
|
|
<!-- This is needed when using auto-restore with removable storage
|
|
|
|
to allow the user to uninstall an app when storage was not plugged in during install -->
|
|
|
|
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
|
|
|
|
|
2020-09-10 14:26:55 +02:00
|
|
|
<!-- Getting info about installed packages via PackageManager is restricted since Android 11
|
|
|
|
We need to know what is installed, with what signatures, etc. for APK backup,
|
|
|
|
triggering manual backup and other tasks -->
|
2020-10-15 19:14:55 +02:00
|
|
|
<uses-permission
|
|
|
|
android:name="android.permission.QUERY_ALL_PACKAGES"
|
|
|
|
tools:ignore="QueryAllPackagesPermission" />
|
2020-09-10 14:26:55 +02:00
|
|
|
|
2021-08-11 11:54:28 +02:00
|
|
|
<!-- Used to authenticate saving a new recovery code -->
|
|
|
|
<uses-permission android:name="android.permission.USE_BIOMETRIC" />
|
|
|
|
|
2022-11-11 21:32:03 +01:00
|
|
|
<!-- This is needed to query content providers in other users -->
|
|
|
|
<uses-permission
|
|
|
|
android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
|
|
|
|
tools:ignore="ProtectedPermissions" />
|
|
|
|
|
|
|
|
<!-- Used to get logcat for system part of backup API, gets permission dialog -->
|
|
|
|
<uses-permission
|
|
|
|
android:name="android.permission.READ_LOGS"
|
|
|
|
tools:ignore="ProtectedPermissions" />
|
|
|
|
|
2023-10-07 20:50:26 +02:00
|
|
|
<!-- Used for periodic storage backups -->
|
|
|
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
|
|
|
|
2021-08-26 22:58:44 +02:00
|
|
|
<!-- Permission used to open settings -->
|
|
|
|
<permission
|
|
|
|
android:name="com.stevesoltys.seedvault.OPEN_SETTINGS"
|
|
|
|
android:protectionLevel="system|signature" />
|
|
|
|
|
|
|
|
<!-- Permission used to open backup gui -->
|
|
|
|
<permission
|
|
|
|
android:name="com.stevesoltys.seedvault.RESTORE_BACKUP"
|
|
|
|
android:protectionLevel="system|signature" />
|
|
|
|
|
2017-09-21 04:42:15 +02:00
|
|
|
<application
|
2019-12-16 17:11:11 +01:00
|
|
|
android:name=".App"
|
2019-07-05 12:35:45 +02:00
|
|
|
android:allowBackup="false"
|
2017-09-21 04:42:15 +02:00
|
|
|
android:icon="@mipmap/ic_launcher"
|
2018-11-14 00:15:21 +01:00
|
|
|
android:label="@string/app_name"
|
2019-07-05 12:35:45 +02:00
|
|
|
android:supportsRtl="true"
|
|
|
|
android:theme="@style/AppTheme"
|
2019-06-03 17:23:09 +02:00
|
|
|
tools:ignore="GoogleAppIndexingWarning">
|
2017-09-21 04:42:15 +02:00
|
|
|
|
2019-06-18 22:39:46 +02:00
|
|
|
<activity
|
|
|
|
android:name=".settings.SettingsActivity"
|
2021-10-07 22:54:35 +02:00
|
|
|
android:exported="true"
|
|
|
|
android:permission="com.stevesoltys.seedvault.OPEN_SETTINGS" />
|
2019-06-18 22:39:46 +02:00
|
|
|
|
2019-07-05 12:35:45 +02:00
|
|
|
<activity
|
2019-09-13 16:40:32 +02:00
|
|
|
android:name=".ui.storage.StorageActivity"
|
|
|
|
android:theme="@style/AppTheme.NoActionBar" />
|
|
|
|
|
|
|
|
<activity
|
|
|
|
android:name=".ui.storage.PermissionGrantActivity"
|
|
|
|
android:exported="false"
|
|
|
|
android:permission="android.permission.MANAGE_DOCUMENTS" />
|
|
|
|
|
|
|
|
<activity
|
|
|
|
android:name=".ui.recoverycode.RecoveryCodeActivity"
|
|
|
|
android:label="@string/recovery_code_title"
|
|
|
|
android:theme="@style/AppTheme.NoActionBar" />
|
2019-07-05 12:35:45 +02:00
|
|
|
|
2019-09-05 22:42:39 +02:00
|
|
|
<activity
|
|
|
|
android:name=".restore.RestoreActivity"
|
|
|
|
android:exported="true"
|
|
|
|
android:label="@string/restore_title"
|
2021-10-07 22:54:35 +02:00
|
|
|
android:permission="com.stevesoltys.seedvault.RESTORE_BACKUP"
|
2019-09-05 22:42:39 +02:00
|
|
|
android:theme="@style/AppTheme.NoActionBar">
|
|
|
|
<intent-filter>
|
2019-12-06 16:33:50 +01:00
|
|
|
<action android:name="com.stevesoltys.seedvault.RESTORE_BACKUP" />
|
2019-09-05 22:42:39 +02:00
|
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
|
|
</intent-filter>
|
|
|
|
</activity>
|
|
|
|
|
2018-11-14 00:15:21 +01:00
|
|
|
<service
|
2019-09-02 16:45:57 +02:00
|
|
|
android:name=".transport.ConfigurableBackupTransportService"
|
2018-11-14 00:15:21 +01:00
|
|
|
android:exported="false">
|
2017-09-21 04:42:15 +02:00
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.backup.TRANSPORT_HOST" />
|
|
|
|
</intent-filter>
|
|
|
|
</service>
|
|
|
|
|
2019-09-18 14:23:46 +02:00
|
|
|
<receiver
|
|
|
|
android:name=".UsbIntentReceiver"
|
|
|
|
android:exported="true">
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
|
|
|
|
</intent-filter>
|
|
|
|
<meta-data
|
|
|
|
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
|
|
|
|
android:resource="@xml/device_filter" />
|
|
|
|
</receiver>
|
|
|
|
|
2020-01-03 16:51:44 +01:00
|
|
|
<receiver
|
|
|
|
android:name=".restore.RestoreErrorBroadcastReceiver"
|
|
|
|
android:exported="false">
|
|
|
|
<intent-filter>
|
|
|
|
<action android:name="com.stevesoltys.seedvault.action.UNINSTALL" />
|
|
|
|
</intent-filter>
|
|
|
|
</receiver>
|
|
|
|
|
2021-07-12 17:27:30 +02:00
|
|
|
<receiver
|
2021-10-07 18:44:55 +02:00
|
|
|
android:name=".SecretCodeReceiver"
|
|
|
|
android:exported="true">
|
2021-07-12 17:27:30 +02:00
|
|
|
<intent-filter>
|
|
|
|
<action android:name="android.telephony.action.SECRET_CODE" />
|
|
|
|
<!-- *#*#RESTORE#*#* -->
|
2021-10-07 22:54:35 +02:00
|
|
|
<data
|
|
|
|
android:host="7378673"
|
|
|
|
android:scheme="android_secret_code" />
|
2021-07-12 17:27:30 +02:00
|
|
|
</intent-filter>
|
|
|
|
</receiver>
|
|
|
|
|
2021-01-19 13:14:52 +01:00
|
|
|
<!-- Used to start actual BackupService depending on scheduling criteria -->
|
|
|
|
<service
|
|
|
|
android:name=".storage.StorageBackupJobService"
|
|
|
|
android:exported="false"
|
|
|
|
android:label="BackupJobService"
|
|
|
|
android:permission="android.permission.BIND_JOB_SERVICE" />
|
|
|
|
<!-- Does the actual backup work as a foreground service -->
|
|
|
|
<service
|
|
|
|
android:name=".storage.StorageBackupService"
|
|
|
|
android:exported="false"
|
|
|
|
android:foregroundServiceType="dataSync"
|
|
|
|
android:label="BackupService" />
|
2021-02-22 15:26:21 +01:00
|
|
|
<!-- Does restore as a foreground service -->
|
|
|
|
<service
|
|
|
|
android:name=".storage.StorageRestoreService"
|
|
|
|
android:exported="false"
|
|
|
|
android:foregroundServiceType="dataSync"
|
|
|
|
android:label="RestoreService" />
|
2021-01-19 13:14:52 +01:00
|
|
|
|
2017-09-21 04:42:15 +02:00
|
|
|
</application>
|
|
|
|
</manifest>
|