blob: 62a4b3271013879a9b1b60cc9dcfe4113987aa6e [file] [log] [blame]
Steve Soltys2497a942017-09-20 22:42:15 -04001<?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 Soltys32f558f2019-10-28 21:57:47 -04004 package="com.stevesoltys.seedvault"
Chirayu Desaieebeff92023-01-06 02:55:50 +05305 android:versionCode="33030030"
6 android:versionName="13-3.3">
Torsten Grote7694eb32020-10-23 10:25:44 -03007 <!--
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 Soltys2497a942017-09-20 22:42:15 -040011
Torsten Grote2434fe32019-06-03 12:23:09 -030012 <uses-permission
13 android:name="android.permission.BACKUP"
14 tools:ignore="ProtectedPermissions" />
15
Torsten Grote7401ead2020-10-19 15:44:36 -030016 <!-- 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 Martinz0106c192022-10-06 09:45:49 +020019 <!-- This is needed to inform users about backup status and errors -->
Torsten Grote46e19512022-08-23 10:59:37 -030020 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
21
Alexander Martinz7799ad12022-10-06 09:38:29 +020022 <!-- (Optional) This is needed to retrieve the available storage roots.
23 The user needs to manually select a storage root, if not granted. -->
Dominik Baronelli78f55572022-10-06 09:07:18 +020024 <!-- DISABLED FOR GTS
Torsten Grote6d8178f2019-09-13 11:40:32 -030025 <uses-permission
26 android:name="android.permission.MANAGE_DOCUMENTS"
27 tools:ignore="ProtectedPermissions" />
Dominik Baronelli78f55572022-10-06 09:07:18 +020028 -->
Torsten Grote6d8178f2019-09-13 11:40:32 -030029
Torsten Grote2c4d44c2019-09-19 15:21:48 -030030 <!-- 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 Schneidera51fcfc2020-03-08 22:13:35 +010034
Torsten Grote26f23e92019-09-19 16:29:53 -030035 <!-- 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 Grote76057622019-12-20 13:55:38 -030040 <!-- 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 Grote2bcf82d2020-01-03 12:51:44 -030045 <!-- 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 Grote918d7a72020-09-10 09:26:55 -030049 <!-- 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 Grotee6723092020-10-15 14:14:55 -030052 <uses-permission
53 android:name="android.permission.QUERY_ALL_PACKAGES"
54 tools:ignore="QueryAllPackagesPermission" />
Torsten Grote918d7a72020-09-10 09:26:55 -030055
Torsten Grote6e838972021-08-11 11:54:28 +020056 <!-- Used to authenticate saving a new recovery code -->
57 <uses-permission android:name="android.permission.USE_BIOMETRIC" />
58
Torsten Grote1a7fc5f2022-11-11 17:32:03 -030059 <!-- 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
flawedworldb2cd3c72021-08-26 20:58:44 +000069 <!-- 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 Soltys2497a942017-09-20 22:42:15 -040079 <application
Torsten Grote94c76632019-12-16 13:11:11 -030080 android:name=".App"
Torsten Grote66c09192019-07-05 12:35:45 +020081 android:allowBackup="false"
Steve Soltys2497a942017-09-20 22:42:15 -040082 android:icon="@mipmap/ic_launcher"
Steve Soltys22db4572018-11-13 18:15:21 -050083 android:label="@string/app_name"
Torsten Grotec9a29812019-09-23 16:36:31 -030084 android:roundIcon="@mipmap/ic_launcher_round"
Torsten Grote66c09192019-07-05 12:35:45 +020085 android:supportsRtl="true"
86 android:theme="@style/AppTheme"
Torsten Grote2434fe32019-06-03 12:23:09 -030087 tools:ignore="GoogleAppIndexingWarning">
Steve Soltys2497a942017-09-20 22:42:15 -040088
Torsten Grote2434fe32019-06-03 12:23:09 -030089 <activity
Torsten Groteb9834142019-06-18 17:39:46 -030090 android:name=".settings.SettingsActivity"
Torsten Grote579919d2021-10-07 17:54:35 -030091 android:exported="true"
92 android:permission="com.stevesoltys.seedvault.OPEN_SETTINGS" />
Torsten Groteb9834142019-06-18 17:39:46 -030093
94 <activity
Torsten Grote6d8178f2019-09-13 11:40:32 -030095 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 Grote66c09192019-07-05 12:35:45 +0200107
108 <activity
Torsten Grote491789e2019-09-05 17:42:39 -0300109 android:name=".restore.RestoreActivity"
110 android:exported="true"
111 android:label="@string/restore_title"
Torsten Grote579919d2021-10-07 17:54:35 -0300112 android:permission="com.stevesoltys.seedvault.RESTORE_BACKUP"
Torsten Grote491789e2019-09-05 17:42:39 -0300113 android:theme="@style/AppTheme.NoActionBar">
114 <intent-filter>
Torsten Grote88a250f2019-12-06 12:33:50 -0300115 <action android:name="com.stevesoltys.seedvault.RESTORE_BACKUP" />
Torsten Grote491789e2019-09-05 17:42:39 -0300116 <category android:name="android.intent.category.DEFAULT" />
117 </intent-filter>
118 </activity>
119
Steve Soltys22db4572018-11-13 18:15:21 -0500120 <service
Torsten Grote683268a2019-09-02 11:45:57 -0300121 android:name=".transport.ConfigurableBackupTransportService"
Steve Soltys22db4572018-11-13 18:15:21 -0500122 android:exported="false">
Steve Soltys2497a942017-09-20 22:42:15 -0400123 <intent-filter>
124 <action android:name="android.backup.TRANSPORT_HOST" />
125 </intent-filter>
126 </service>
127
Torsten Groteb0386c82019-09-18 09:23:46 -0300128 <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 Grote2bcf82d2020-01-03 12:51:44 -0300139 <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 Desai38f01762021-07-12 20:57:30 +0530147 <receiver
Torsten Grote7f4b5652021-10-07 13:44:55 -0300148 android:name=".SecretCodeReceiver"
149 android:exported="true">
Chirayu Desai38f01762021-07-12 20:57:30 +0530150 <intent-filter>
151 <action android:name="android.telephony.action.SECRET_CODE" />
152 <!-- *#*#RESTORE#*#* -->
Torsten Grote579919d2021-10-07 17:54:35 -0300153 <data
154 android:host="7378673"
155 android:scheme="android_secret_code" />
Chirayu Desai38f01762021-07-12 20:57:30 +0530156 </intent-filter>
157 </receiver>
158
Torsten Grote6c633b72021-01-19 09:14:52 -0300159 <!-- 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 Grotebdefb042021-02-22 11:26:21 -0300171 <!-- 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 Grote6c633b72021-01-19 09:14:52 -0300177
Steve Soltys2497a942017-09-20 22:42:15 -0400178 </application>
179</manifest>