blob: b47e44cc9f8e44f3e3cea7c4cf1abc551cb2903b [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"
Michael Bestas1cae6dc2021-10-02 00:53:38 +03005 android:versionCode="30000231"
6 android:versionName="11-2.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
Torsten Grote6d8178f2019-09-13 11:40:32 -030019 <!-- This is needed to retrieve the available storage roots -->
20 <uses-permission
21 android:name="android.permission.MANAGE_DOCUMENTS"
22 tools:ignore="ProtectedPermissions" />
23
Torsten Grote2c4d44c2019-09-19 15:21:48 -030024 <!-- This is needed to access the serial number of USB mass storage devices -->
25 <uses-permission
26 android:name="android.permission.MANAGE_USB"
27 tools:ignore="ProtectedPermissions" />
Robin Schneidera51fcfc2020-03-08 22:13:35 +010028
Torsten Grote26f23e92019-09-19 16:29:53 -030029 <!-- This is needed to change system backup settings -->
30 <uses-permission
31 android:name="android.permission.WRITE_SECURE_SETTINGS"
32 tools:ignore="ProtectedPermissions" />
33
Torsten Grote76057622019-12-20 13:55:38 -030034 <!-- This is needed to re-install backed-up packages when restoring from backup -->
35 <uses-permission
36 android:name="android.permission.INSTALL_PACKAGES"
37 tools:ignore="ProtectedPermissions" />
38
Torsten Grote2bcf82d2020-01-03 12:51:44 -030039 <!-- This is needed when using auto-restore with removable storage
40 to allow the user to uninstall an app when storage was not plugged in during install -->
41 <uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
42
Torsten Grote918d7a72020-09-10 09:26:55 -030043 <!-- Getting info about installed packages via PackageManager is restricted since Android 11
44 We need to know what is installed, with what signatures, etc. for APK backup,
45 triggering manual backup and other tasks -->
Torsten Grotee6723092020-10-15 14:14:55 -030046 <uses-permission
47 android:name="android.permission.QUERY_ALL_PACKAGES"
48 tools:ignore="QueryAllPackagesPermission" />
Torsten Grote918d7a72020-09-10 09:26:55 -030049
Torsten Grote6e838972021-08-11 11:54:28 +020050 <!-- Used to authenticate saving a new recovery code -->
51 <uses-permission android:name="android.permission.USE_BIOMETRIC" />
52
flawedworldb2cd3c72021-08-26 20:58:44 +000053 <!-- Permission used to open settings -->
54 <permission
55 android:name="com.stevesoltys.seedvault.OPEN_SETTINGS"
56 android:protectionLevel="system|signature" />
57
58 <!-- Permission used to open backup gui -->
59 <permission
60 android:name="com.stevesoltys.seedvault.RESTORE_BACKUP"
61 android:protectionLevel="system|signature" />
62
Steve Soltys2497a942017-09-20 22:42:15 -040063 <application
Torsten Grote94c76632019-12-16 13:11:11 -030064 android:name=".App"
Torsten Grote66c09192019-07-05 12:35:45 +020065 android:allowBackup="false"
Steve Soltys2497a942017-09-20 22:42:15 -040066 android:icon="@mipmap/ic_launcher"
Steve Soltys22db4572018-11-13 18:15:21 -050067 android:label="@string/app_name"
Torsten Grotec9a29812019-09-23 16:36:31 -030068 android:roundIcon="@mipmap/ic_launcher_round"
Torsten Grote66c09192019-07-05 12:35:45 +020069 android:supportsRtl="true"
70 android:theme="@style/AppTheme"
Torsten Grote2434fe32019-06-03 12:23:09 -030071 tools:ignore="GoogleAppIndexingWarning">
Steve Soltys2497a942017-09-20 22:42:15 -040072
Torsten Grote2434fe32019-06-03 12:23:09 -030073 <activity
Torsten Groteb9834142019-06-18 17:39:46 -030074 android:name=".settings.SettingsActivity"
Torsten Grote579919d2021-10-07 17:54:35 -030075 android:exported="true"
76 android:permission="com.stevesoltys.seedvault.OPEN_SETTINGS" />
Torsten Groteb9834142019-06-18 17:39:46 -030077
78 <activity
Torsten Grote6d8178f2019-09-13 11:40:32 -030079 android:name=".ui.storage.StorageActivity"
80 android:theme="@style/AppTheme.NoActionBar" />
81
82 <activity
83 android:name=".ui.storage.PermissionGrantActivity"
84 android:exported="false"
85 android:permission="android.permission.MANAGE_DOCUMENTS" />
86
87 <activity
88 android:name=".ui.recoverycode.RecoveryCodeActivity"
89 android:label="@string/recovery_code_title"
90 android:theme="@style/AppTheme.NoActionBar" />
Torsten Grote66c09192019-07-05 12:35:45 +020091
92 <activity
Torsten Grote491789e2019-09-05 17:42:39 -030093 android:name=".restore.RestoreActivity"
94 android:exported="true"
95 android:label="@string/restore_title"
Torsten Grote579919d2021-10-07 17:54:35 -030096 android:permission="com.stevesoltys.seedvault.RESTORE_BACKUP"
Torsten Grote491789e2019-09-05 17:42:39 -030097 android:theme="@style/AppTheme.NoActionBar">
98 <intent-filter>
Torsten Grote88a250f2019-12-06 12:33:50 -030099 <action android:name="com.stevesoltys.seedvault.RESTORE_BACKUP" />
Torsten Grote491789e2019-09-05 17:42:39 -0300100 <category android:name="android.intent.category.DEFAULT" />
101 </intent-filter>
102 </activity>
103
Steve Soltys22db4572018-11-13 18:15:21 -0500104 <service
Torsten Grote683268a2019-09-02 11:45:57 -0300105 android:name=".transport.ConfigurableBackupTransportService"
Steve Soltys22db4572018-11-13 18:15:21 -0500106 android:exported="false">
Steve Soltys2497a942017-09-20 22:42:15 -0400107 <intent-filter>
108 <action android:name="android.backup.TRANSPORT_HOST" />
109 </intent-filter>
110 </service>
111
Torsten Groteb0386c82019-09-18 09:23:46 -0300112 <receiver
113 android:name=".UsbIntentReceiver"
114 android:exported="true">
115 <intent-filter>
116 <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
117 </intent-filter>
118 <meta-data
119 android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
120 android:resource="@xml/device_filter" />
121 </receiver>
122
Torsten Grote2bcf82d2020-01-03 12:51:44 -0300123 <receiver
124 android:name=".restore.RestoreErrorBroadcastReceiver"
125 android:exported="false">
126 <intent-filter>
127 <action android:name="com.stevesoltys.seedvault.action.UNINSTALL" />
128 </intent-filter>
129 </receiver>
130
Chirayu Desai38f01762021-07-12 20:57:30 +0530131 <receiver
Torsten Grote7f4b5652021-10-07 13:44:55 -0300132 android:name=".SecretCodeReceiver"
133 android:exported="true">
Chirayu Desai38f01762021-07-12 20:57:30 +0530134 <intent-filter>
135 <action android:name="android.telephony.action.SECRET_CODE" />
136 <!-- *#*#RESTORE#*#* -->
Torsten Grote579919d2021-10-07 17:54:35 -0300137 <data
138 android:host="7378673"
139 android:scheme="android_secret_code" />
Chirayu Desai38f01762021-07-12 20:57:30 +0530140 </intent-filter>
141 </receiver>
142
Torsten Grote6c633b72021-01-19 09:14:52 -0300143 <!-- Used to start actual BackupService depending on scheduling criteria -->
144 <service
145 android:name=".storage.StorageBackupJobService"
146 android:exported="false"
147 android:label="BackupJobService"
148 android:permission="android.permission.BIND_JOB_SERVICE" />
149 <!-- Does the actual backup work as a foreground service -->
150 <service
151 android:name=".storage.StorageBackupService"
152 android:exported="false"
153 android:foregroundServiceType="dataSync"
154 android:label="BackupService" />
Torsten Grotebdefb042021-02-22 11:26:21 -0300155 <!-- Does restore as a foreground service -->
156 <service
157 android:name=".storage.StorageRestoreService"
158 android:exported="false"
159 android:foregroundServiceType="dataSync"
160 android:label="RestoreService" />
Torsten Grote6c633b72021-01-19 09:14:52 -0300161
Steve Soltys2497a942017-09-20 22:42:15 -0400162 </application>
163</manifest>