Steve Soltys | 2497a94 | 2017-09-20 22:42:15 -0400 | [diff] [blame] | 1 | <?xml version="1.0" encoding="utf-8"?> |
| 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
| 3 | xmlns:tools="http://schemas.android.com/tools" |
Steve Soltys | 32f558f | 2019-10-28 21:57:47 -0400 | [diff] [blame] | 4 | package="com.stevesoltys.seedvault" |
Chirayu Desai | eebeff9 | 2023-01-06 02:55:50 +0530 | [diff] [blame] | 5 | android:versionCode="33030030" |
| 6 | android:versionName="13-3.3"> |
Torsten Grote | 7694eb3 | 2020-10-23 10:25:44 -0300 | [diff] [blame] | 7 | <!-- |
| 8 | The version code is the targeted SDK_VERSION plus 6 digits for our own version code. |
| 9 | The version name is the targeted Android version followed by - and our own version name. |
| 10 | --> |
Steve Soltys | 2497a94 | 2017-09-20 22:42:15 -0400 | [diff] [blame] | 11 | |
Torsten Grote | 2434fe3 | 2019-06-03 12:23:09 -0300 | [diff] [blame] | 12 | <uses-permission |
| 13 | android:name="android.permission.BACKUP" |
| 14 | tools:ignore="ProtectedPermissions" /> |
| 15 | |
Torsten Grote | 7401ead | 2020-10-19 15:44:36 -0300 | [diff] [blame] | 16 | <!-- This is needed to check for internet access when backup is stored on network storage --> |
| 17 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| 18 | |
Alexander Martinz | 0106c19 | 2022-10-06 09:45:49 +0200 | [diff] [blame] | 19 | <!-- This is needed to inform users about backup status and errors --> |
Torsten Grote | 46e1951 | 2022-08-23 10:59:37 -0300 | [diff] [blame] | 20 | <uses-permission android:name="android.permission.POST_NOTIFICATIONS" /> |
| 21 | |
Alexander Martinz | 7799ad1 | 2022-10-06 09:38:29 +0200 | [diff] [blame] | 22 | <!-- (Optional) This is needed to retrieve the available storage roots. |
| 23 | The user needs to manually select a storage root, if not granted. --> |
Dominik Baronelli | 78f5557 | 2022-10-06 09:07:18 +0200 | [diff] [blame^] | 24 | <!-- DISABLED FOR GTS |
Torsten Grote | 6d8178f | 2019-09-13 11:40:32 -0300 | [diff] [blame] | 25 | <uses-permission |
| 26 | android:name="android.permission.MANAGE_DOCUMENTS" |
| 27 | tools:ignore="ProtectedPermissions" /> |
Dominik Baronelli | 78f5557 | 2022-10-06 09:07:18 +0200 | [diff] [blame^] | 28 | --> |
Torsten Grote | 6d8178f | 2019-09-13 11:40:32 -0300 | [diff] [blame] | 29 | |
Torsten Grote | 2c4d44c | 2019-09-19 15:21:48 -0300 | [diff] [blame] | 30 | <!-- This is needed to access the serial number of USB mass storage devices --> |
| 31 | <uses-permission |
| 32 | android:name="android.permission.MANAGE_USB" |
| 33 | tools:ignore="ProtectedPermissions" /> |
Robin Schneider | a51fcfc | 2020-03-08 22:13:35 +0100 | [diff] [blame] | 34 | |
Torsten Grote | 26f23e9 | 2019-09-19 16:29:53 -0300 | [diff] [blame] | 35 | <!-- This is needed to change system backup settings --> |
| 36 | <uses-permission |
| 37 | android:name="android.permission.WRITE_SECURE_SETTINGS" |
| 38 | tools:ignore="ProtectedPermissions" /> |
| 39 | |
Torsten Grote | 7605762 | 2019-12-20 13:55:38 -0300 | [diff] [blame] | 40 | <!-- This is needed to re-install backed-up packages when restoring from backup --> |
| 41 | <uses-permission |
| 42 | android:name="android.permission.INSTALL_PACKAGES" |
| 43 | tools:ignore="ProtectedPermissions" /> |
| 44 | |
Torsten Grote | 2bcf82d | 2020-01-03 12:51:44 -0300 | [diff] [blame] | 45 | <!-- This is needed when using auto-restore with removable storage |
| 46 | to allow the user to uninstall an app when storage was not plugged in during install --> |
| 47 | <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" /> |
| 48 | |
Torsten Grote | 918d7a7 | 2020-09-10 09:26:55 -0300 | [diff] [blame] | 49 | <!-- Getting info about installed packages via PackageManager is restricted since Android 11 |
| 50 | We need to know what is installed, with what signatures, etc. for APK backup, |
| 51 | triggering manual backup and other tasks --> |
Torsten Grote | e672309 | 2020-10-15 14:14:55 -0300 | [diff] [blame] | 52 | <uses-permission |
| 53 | android:name="android.permission.QUERY_ALL_PACKAGES" |
| 54 | tools:ignore="QueryAllPackagesPermission" /> |
Torsten Grote | 918d7a7 | 2020-09-10 09:26:55 -0300 | [diff] [blame] | 55 | |
Torsten Grote | 6e83897 | 2021-08-11 11:54:28 +0200 | [diff] [blame] | 56 | <!-- Used to authenticate saving a new recovery code --> |
| 57 | <uses-permission android:name="android.permission.USE_BIOMETRIC" /> |
| 58 | |
Torsten Grote | 1a7fc5f | 2022-11-11 17:32:03 -0300 | [diff] [blame] | 59 | <!-- This is needed to query content providers in other users --> |
| 60 | <uses-permission |
| 61 | android:name="android.permission.INTERACT_ACROSS_USERS_FULL" |
| 62 | tools:ignore="ProtectedPermissions" /> |
| 63 | |
| 64 | <!-- Used to get logcat for system part of backup API, gets permission dialog --> |
| 65 | <uses-permission |
| 66 | android:name="android.permission.READ_LOGS" |
| 67 | tools:ignore="ProtectedPermissions" /> |
| 68 | |
flawedworld | b2cd3c7 | 2021-08-26 20:58:44 +0000 | [diff] [blame] | 69 | <!-- Permission used to open settings --> |
| 70 | <permission |
| 71 | android:name="com.stevesoltys.seedvault.OPEN_SETTINGS" |
| 72 | android:protectionLevel="system|signature" /> |
| 73 | |
| 74 | <!-- Permission used to open backup gui --> |
| 75 | <permission |
| 76 | android:name="com.stevesoltys.seedvault.RESTORE_BACKUP" |
| 77 | android:protectionLevel="system|signature" /> |
| 78 | |
Steve Soltys | 2497a94 | 2017-09-20 22:42:15 -0400 | [diff] [blame] | 79 | <application |
Torsten Grote | 94c7663 | 2019-12-16 13:11:11 -0300 | [diff] [blame] | 80 | android:name=".App" |
Torsten Grote | 66c0919 | 2019-07-05 12:35:45 +0200 | [diff] [blame] | 81 | android:allowBackup="false" |
Steve Soltys | 2497a94 | 2017-09-20 22:42:15 -0400 | [diff] [blame] | 82 | android:icon="@mipmap/ic_launcher" |
Steve Soltys | 22db457 | 2018-11-13 18:15:21 -0500 | [diff] [blame] | 83 | android:label="@string/app_name" |
Torsten Grote | c9a2981 | 2019-09-23 16:36:31 -0300 | [diff] [blame] | 84 | android:roundIcon="@mipmap/ic_launcher_round" |
Torsten Grote | 66c0919 | 2019-07-05 12:35:45 +0200 | [diff] [blame] | 85 | android:supportsRtl="true" |
| 86 | android:theme="@style/AppTheme" |
Torsten Grote | 2434fe3 | 2019-06-03 12:23:09 -0300 | [diff] [blame] | 87 | tools:ignore="GoogleAppIndexingWarning"> |
Steve Soltys | 2497a94 | 2017-09-20 22:42:15 -0400 | [diff] [blame] | 88 | |
Torsten Grote | 2434fe3 | 2019-06-03 12:23:09 -0300 | [diff] [blame] | 89 | <activity |
Torsten Grote | b983414 | 2019-06-18 17:39:46 -0300 | [diff] [blame] | 90 | android:name=".settings.SettingsActivity" |
Torsten Grote | 579919d | 2021-10-07 17:54:35 -0300 | [diff] [blame] | 91 | android:exported="true" |
| 92 | android:permission="com.stevesoltys.seedvault.OPEN_SETTINGS" /> |
Torsten Grote | b983414 | 2019-06-18 17:39:46 -0300 | [diff] [blame] | 93 | |
| 94 | <activity |
Torsten Grote | 6d8178f | 2019-09-13 11:40:32 -0300 | [diff] [blame] | 95 | android:name=".ui.storage.StorageActivity" |
| 96 | android:theme="@style/AppTheme.NoActionBar" /> |
| 97 | |
| 98 | <activity |
| 99 | android:name=".ui.storage.PermissionGrantActivity" |
| 100 | android:exported="false" |
| 101 | android:permission="android.permission.MANAGE_DOCUMENTS" /> |
| 102 | |
| 103 | <activity |
| 104 | android:name=".ui.recoverycode.RecoveryCodeActivity" |
| 105 | android:label="@string/recovery_code_title" |
| 106 | android:theme="@style/AppTheme.NoActionBar" /> |
Torsten Grote | 66c0919 | 2019-07-05 12:35:45 +0200 | [diff] [blame] | 107 | |
| 108 | <activity |
Torsten Grote | 491789e | 2019-09-05 17:42:39 -0300 | [diff] [blame] | 109 | android:name=".restore.RestoreActivity" |
| 110 | android:exported="true" |
| 111 | android:label="@string/restore_title" |
Torsten Grote | 579919d | 2021-10-07 17:54:35 -0300 | [diff] [blame] | 112 | android:permission="com.stevesoltys.seedvault.RESTORE_BACKUP" |
Torsten Grote | 491789e | 2019-09-05 17:42:39 -0300 | [diff] [blame] | 113 | android:theme="@style/AppTheme.NoActionBar"> |
| 114 | <intent-filter> |
Torsten Grote | 88a250f | 2019-12-06 12:33:50 -0300 | [diff] [blame] | 115 | <action android:name="com.stevesoltys.seedvault.RESTORE_BACKUP" /> |
Torsten Grote | 491789e | 2019-09-05 17:42:39 -0300 | [diff] [blame] | 116 | <category android:name="android.intent.category.DEFAULT" /> |
| 117 | </intent-filter> |
| 118 | </activity> |
| 119 | |
Steve Soltys | 22db457 | 2018-11-13 18:15:21 -0500 | [diff] [blame] | 120 | <service |
Torsten Grote | 683268a | 2019-09-02 11:45:57 -0300 | [diff] [blame] | 121 | android:name=".transport.ConfigurableBackupTransportService" |
Steve Soltys | 22db457 | 2018-11-13 18:15:21 -0500 | [diff] [blame] | 122 | android:exported="false"> |
Steve Soltys | 2497a94 | 2017-09-20 22:42:15 -0400 | [diff] [blame] | 123 | <intent-filter> |
| 124 | <action android:name="android.backup.TRANSPORT_HOST" /> |
| 125 | </intent-filter> |
| 126 | </service> |
| 127 | |
Torsten Grote | b0386c8 | 2019-09-18 09:23:46 -0300 | [diff] [blame] | 128 | <receiver |
| 129 | android:name=".UsbIntentReceiver" |
| 130 | android:exported="true"> |
| 131 | <intent-filter> |
| 132 | <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" /> |
| 133 | </intent-filter> |
| 134 | <meta-data |
| 135 | android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" |
| 136 | android:resource="@xml/device_filter" /> |
| 137 | </receiver> |
| 138 | |
Torsten Grote | 2bcf82d | 2020-01-03 12:51:44 -0300 | [diff] [blame] | 139 | <receiver |
| 140 | android:name=".restore.RestoreErrorBroadcastReceiver" |
| 141 | android:exported="false"> |
| 142 | <intent-filter> |
| 143 | <action android:name="com.stevesoltys.seedvault.action.UNINSTALL" /> |
| 144 | </intent-filter> |
| 145 | </receiver> |
| 146 | |
Chirayu Desai | 38f0176 | 2021-07-12 20:57:30 +0530 | [diff] [blame] | 147 | <receiver |
Torsten Grote | 7f4b565 | 2021-10-07 13:44:55 -0300 | [diff] [blame] | 148 | android:name=".SecretCodeReceiver" |
| 149 | android:exported="true"> |
Chirayu Desai | 38f0176 | 2021-07-12 20:57:30 +0530 | [diff] [blame] | 150 | <intent-filter> |
| 151 | <action android:name="android.telephony.action.SECRET_CODE" /> |
| 152 | <!-- *#*#RESTORE#*#* --> |
Torsten Grote | 579919d | 2021-10-07 17:54:35 -0300 | [diff] [blame] | 153 | <data |
| 154 | android:host="7378673" |
| 155 | android:scheme="android_secret_code" /> |
Chirayu Desai | 38f0176 | 2021-07-12 20:57:30 +0530 | [diff] [blame] | 156 | </intent-filter> |
| 157 | </receiver> |
| 158 | |
Torsten Grote | 6c633b7 | 2021-01-19 09:14:52 -0300 | [diff] [blame] | 159 | <!-- Used to start actual BackupService depending on scheduling criteria --> |
| 160 | <service |
| 161 | android:name=".storage.StorageBackupJobService" |
| 162 | android:exported="false" |
| 163 | android:label="BackupJobService" |
| 164 | android:permission="android.permission.BIND_JOB_SERVICE" /> |
| 165 | <!-- Does the actual backup work as a foreground service --> |
| 166 | <service |
| 167 | android:name=".storage.StorageBackupService" |
| 168 | android:exported="false" |
| 169 | android:foregroundServiceType="dataSync" |
| 170 | android:label="BackupService" /> |
Torsten Grote | bdefb04 | 2021-02-22 11:26:21 -0300 | [diff] [blame] | 171 | <!-- Does restore as a foreground service --> |
| 172 | <service |
| 173 | android:name=".storage.StorageRestoreService" |
| 174 | android:exported="false" |
| 175 | android:foregroundServiceType="dataSync" |
| 176 | android:label="RestoreService" /> |
Torsten Grote | 6c633b7 | 2021-01-19 09:14:52 -0300 | [diff] [blame] | 177 | |
Steve Soltys | 2497a94 | 2017-09-20 22:42:15 -0400 | [diff] [blame] | 178 | </application> |
| 179 | </manifest> |