blob: eadc02d35eb4131d58b3cbcb1f7fad4c6fd7131e [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"
Torsten Grote4e0fab12022-08-23 11:39:01 -03005 android:versionCode="33000301"
6 android:versionName="13-3.1">
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
Torsten Grote46e19512022-08-23 10:59:37 -030019 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
20
Torsten Grote6d8178f2019-09-13 11:40:32 -030021 <!-- This is needed to retrieve the available storage roots -->
22 <uses-permission
23 android:name="android.permission.MANAGE_DOCUMENTS"
24 tools:ignore="ProtectedPermissions" />
25
Torsten Grote2c4d44c2019-09-19 15:21:48 -030026 <!-- This is needed to access the serial number of USB mass storage devices -->
27 <uses-permission
28 android:name="android.permission.MANAGE_USB"
29 tools:ignore="ProtectedPermissions" />
Robin Schneidera51fcfc2020-03-08 22:13:35 +010030
Torsten Grote26f23e92019-09-19 16:29:53 -030031 <!-- This is needed to change system backup settings -->
32 <uses-permission
33 android:name="android.permission.WRITE_SECURE_SETTINGS"
34 tools:ignore="ProtectedPermissions" />
35
Torsten Grote76057622019-12-20 13:55:38 -030036 <!-- This is needed to re-install backed-up packages when restoring from backup -->
37 <uses-permission
38 android:name="android.permission.INSTALL_PACKAGES"
39 tools:ignore="ProtectedPermissions" />
40
Torsten Grote2bcf82d2020-01-03 12:51:44 -030041 <!-- This is needed when using auto-restore with removable storage
42 to allow the user to uninstall an app when storage was not plugged in during install -->
43 <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
44
Torsten Grote918d7a72020-09-10 09:26:55 -030045 <!-- Getting info about installed packages via PackageManager is restricted since Android 11
46 We need to know what is installed, with what signatures, etc. for APK backup,
47 triggering manual backup and other tasks -->
Torsten Grotee6723092020-10-15 14:14:55 -030048 <uses-permission
49 android:name="android.permission.QUERY_ALL_PACKAGES"
50 tools:ignore="QueryAllPackagesPermission" />
Torsten Grote918d7a72020-09-10 09:26:55 -030051
Torsten Grote6e838972021-08-11 11:54:28 +020052 <!-- Used to authenticate saving a new recovery code -->
53 <uses-permission android:name="android.permission.USE_BIOMETRIC" />
54
flawedworldb2cd3c72021-08-26 20:58:44 +000055 <!-- Permission used to open settings -->
56 <permission
57 android:name="com.stevesoltys.seedvault.OPEN_SETTINGS"
58 android:protectionLevel="system|signature" />
59
60 <!-- Permission used to open backup gui -->
61 <permission
62 android:name="com.stevesoltys.seedvault.RESTORE_BACKUP"
63 android:protectionLevel="system|signature" />
64
Oliver Scottdd578282021-06-29 21:33:25 -040065 <!-- This is needed to query content providers in other users -->
66 <uses-permission
67 android:name="android.permission.INTERACT_ACROSS_USERS_FULL"
68 tools:ignore="ProtectedPermissions" />
69
Steve Soltys2497a942017-09-20 22:42:15 -040070 <application
Torsten Grote94c76632019-12-16 13:11:11 -030071 android:name=".App"
Torsten Grote66c09192019-07-05 12:35:45 +020072 android:allowBackup="false"
Steve Soltys2497a942017-09-20 22:42:15 -040073 android:icon="@mipmap/ic_launcher"
Steve Soltys22db4572018-11-13 18:15:21 -050074 android:label="@string/app_name"
Torsten Grotec9a29812019-09-23 16:36:31 -030075 android:roundIcon="@mipmap/ic_launcher_round"
Torsten Grote66c09192019-07-05 12:35:45 +020076 android:supportsRtl="true"
77 android:theme="@style/AppTheme"
Torsten Grote2434fe32019-06-03 12:23:09 -030078 tools:ignore="GoogleAppIndexingWarning">
Steve Soltys2497a942017-09-20 22:42:15 -040079
Torsten Grote2434fe32019-06-03 12:23:09 -030080 <activity
Torsten Groteb9834142019-06-18 17:39:46 -030081 android:name=".settings.SettingsActivity"
Torsten Grote579919d2021-10-07 17:54:35 -030082 android:exported="true"
83 android:permission="com.stevesoltys.seedvault.OPEN_SETTINGS" />
Torsten Groteb9834142019-06-18 17:39:46 -030084
85 <activity
Torsten Grote6d8178f2019-09-13 11:40:32 -030086 android:name=".ui.storage.StorageActivity"
87 android:theme="@style/AppTheme.NoActionBar" />
88
89 <activity
90 android:name=".ui.storage.PermissionGrantActivity"
91 android:exported="false"
92 android:permission="android.permission.MANAGE_DOCUMENTS" />
93
94 <activity
95 android:name=".ui.recoverycode.RecoveryCodeActivity"
96 android:label="@string/recovery_code_title"
97 android:theme="@style/AppTheme.NoActionBar" />
Torsten Grote66c09192019-07-05 12:35:45 +020098
99 <activity
Torsten Grote491789e2019-09-05 17:42:39 -0300100 android:name=".restore.RestoreActivity"
101 android:exported="true"
102 android:label="@string/restore_title"
Torsten Grote579919d2021-10-07 17:54:35 -0300103 android:permission="com.stevesoltys.seedvault.RESTORE_BACKUP"
Torsten Grote491789e2019-09-05 17:42:39 -0300104 android:theme="@style/AppTheme.NoActionBar">
105 <intent-filter>
Torsten Grote88a250f2019-12-06 12:33:50 -0300106 <action android:name="com.stevesoltys.seedvault.RESTORE_BACKUP" />
Torsten Grote491789e2019-09-05 17:42:39 -0300107 <category android:name="android.intent.category.DEFAULT" />
108 </intent-filter>
109 </activity>
110
Steve Soltys22db4572018-11-13 18:15:21 -0500111 <service
Torsten Grote683268a2019-09-02 11:45:57 -0300112 android:name=".transport.ConfigurableBackupTransportService"
Steve Soltys22db4572018-11-13 18:15:21 -0500113 android:exported="false">
Steve Soltys2497a942017-09-20 22:42:15 -0400114 <intent-filter>
115 <action android:name="android.backup.TRANSPORT_HOST" />
116 </intent-filter>
117 </service>
118
Torsten Groteb0386c82019-09-18 09:23:46 -0300119 <receiver
120 android:name=".UsbIntentReceiver"
121 android:exported="true">
122 <intent-filter>
123 <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
124 </intent-filter>
125 <meta-data
126 android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
127 android:resource="@xml/device_filter" />
128 </receiver>
129
Torsten Grote2bcf82d2020-01-03 12:51:44 -0300130 <receiver
131 android:name=".restore.RestoreErrorBroadcastReceiver"
132 android:exported="false">
133 <intent-filter>
134 <action android:name="com.stevesoltys.seedvault.action.UNINSTALL" />
135 </intent-filter>
136 </receiver>
137
Chirayu Desai38f01762021-07-12 20:57:30 +0530138 <receiver
Torsten Grote7f4b5652021-10-07 13:44:55 -0300139 android:name=".SecretCodeReceiver"
140 android:exported="true">
Chirayu Desai38f01762021-07-12 20:57:30 +0530141 <intent-filter>
142 <action android:name="android.telephony.action.SECRET_CODE" />
143 <!-- *#*#RESTORE#*#* -->
Torsten Grote579919d2021-10-07 17:54:35 -0300144 <data
145 android:host="7378673"
146 android:scheme="android_secret_code" />
Chirayu Desai38f01762021-07-12 20:57:30 +0530147 </intent-filter>
148 </receiver>
149
Torsten Grote6c633b72021-01-19 09:14:52 -0300150 <!-- Used to start actual BackupService depending on scheduling criteria -->
151 <service
152 android:name=".storage.StorageBackupJobService"
153 android:exported="false"
154 android:label="BackupJobService"
155 android:permission="android.permission.BIND_JOB_SERVICE" />
156 <!-- Does the actual backup work as a foreground service -->
157 <service
158 android:name=".storage.StorageBackupService"
159 android:exported="false"
160 android:foregroundServiceType="dataSync"
161 android:label="BackupService" />
Torsten Grotebdefb042021-02-22 11:26:21 -0300162 <!-- Does restore as a foreground service -->
163 <service
164 android:name=".storage.StorageRestoreService"
165 android:exported="false"
166 android:foregroundServiceType="dataSync"
167 android:label="RestoreService" />
Torsten Grote6c633b72021-01-19 09:14:52 -0300168
Steve Soltys2497a942017-09-20 22:42:15 -0400169 </application>
170</manifest>