AndroidManifest.xml 12.7 KB
Newer Older
Jeff Boek's avatar
Jeff Boek committed
1
2
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
4
    xmlns:tools="http://schemas.android.com/tools"
    package="org.mozilla.fenix">
Jeff Boek's avatar
Jeff Boek committed
5

6
    <uses-permission android:name="android.permission.INTERNET" />
7
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
8
9
10
11
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
12
13
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
14
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
15
    <uses-permission android:name="android.permission.VIBRATE" />
16
    <uses-permission android:name="android.permission.USE_BIOMETRIC" />
17

18
19
20
    <!-- Needed to prompt the user to give permission to install a downloaded apk -->
    <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

Jeff Boek's avatar
Jeff Boek committed
21
    <application
22
        android:name=".FenixApplication"
23
        android:allowBackup="false"
24
25
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
26
        android:requestLegacyExternalStorage="true"
Matthew Finkel's avatar
Matthew Finkel committed
27
        android:roundIcon="@mipmap/ic_launcher"
28
29
30
31
        android:supportsRtl="true"
        android:theme="@style/NormalTheme"
        android:usesCleartextTraffic="true"
        tools:ignore="UnusedAttribute">
32
33

        <!--
34
          We inherited this entry (${applicationId}.App) from Fennec. We need to keep this as our
35
          main launcher to avoid launcher icons on the home screen disappearing for all our users.
36

37
38
          Note that `fennec*` build types override the targetActivity property in the Manifest
          inside their source set.
39
40
        -->
        <activity-alias
41
            android:name="${applicationId}.App"
42
            android:targetActivity=".HomeActivity">
Jeff Boek's avatar
Jeff Boek committed
43
            <intent-filter>
44
                <action android:name="android.intent.action.MAIN" />
Jeff Boek's avatar
Jeff Boek committed
45

46
                <category android:name="android.intent.category.LAUNCHER" />
Jeff Boek's avatar
Jeff Boek committed
47
            </intent-filter>
48

49
50
51
52
53
            <meta-data
                android:name="android.app.shortcuts"
                android:resource="@xml/shortcuts" />
        </activity-alias>

54
55
56
57
58
        <!--
          Fennec declared entry for homescreen pinned shortcuts.
        -->
        <activity-alias
            android:name="org.mozilla.gecko.BrowserApp"
59
60
            android:targetActivity=".IntentReceiverActivity"
            android:exported="true">
61
62
        </activity-alias>

63
64
65
66
67
68
69
70
71
        <!-- Activity alias from Fennec used by PWA launchers on the home screen -->
        <activity-alias
            android:name="org.mozilla.gecko.LauncherActivity"
            android:targetActivity=".IntentReceiverActivity">
            <intent-filter>
                <action android:name="org.mozilla.gecko.WEBAPP" />
            </intent-filter>
        </activity-alias>

72
73
        <activity
            android:name=".HomeActivity"
74
            android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize|layoutDirection|smallestScreenSize|screenLayout"
75
            android:launchMode="singleTask"
76
77
            android:resizeableActivity="true"
            android:supportsPictureInPicture="true"
78
            android:windowSoftInputMode="adjustResize">
79
80
81
82
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.DEFAULT" />
83
84
                <data android:scheme="${deepLinkScheme}"
                    android:host="enable_private_browsing"/>
85
                <data android:scheme="${deepLinkScheme}"
86
                    android:host="home"/>
87
                <data android:scheme="${deepLinkScheme}"
88
                    android:host="home_collections"/>
89
                <data android:scheme="${deepLinkScheme}"
90
                    android:host="install_search_widget"/>
91
                <data android:scheme="${deepLinkScheme}"
92
93
94
95
96
                    android:host="make_default_browser"/>
                <data android:scheme="${deepLinkScheme}"
                    android:host="open"/>
                <data android:scheme="${deepLinkScheme}"
                    android:host="settings"/>
97
                <data android:scheme="${deepLinkScheme}"
98
                    android:host="settings_accessibility"/>
99
100
                <data android:scheme="${deepLinkScheme}"
                    android:host="settings_addon_manager"/>
101
                <data android:scheme="${deepLinkScheme}"
102
                    android:host="settings_delete_browsing_data"/>
103
                <data android:scheme="${deepLinkScheme}"
104
                    android:host="settings_logins"/>
105
                <data android:scheme="${deepLinkScheme}"
106
                    android:host="settings_notifications"/>
107
                <data android:scheme="${deepLinkScheme}"
108
109
110
111
112
113
114
115
116
117
118
                    android:host="settings_privacy"/>
                <data android:scheme="${deepLinkScheme}"
                    android:host="settings_search_engine"/>
                <data android:scheme="${deepLinkScheme}"
                    android:host="settings_tracking_protection"/>
                <data android:scheme="${deepLinkScheme}"
                    android:host="turn_on_sync"/>
                <data android:scheme="${deepLinkScheme}"
                    android:host="urls_bookmarks"/>
                <data android:scheme="${deepLinkScheme}"
                    android:host="urls_history"/>
119
            </intent-filter>
120
121
        </activity>

122
        <activity
123
            android:name=".customtabs.ExternalAppBrowserActivity"
124
            android:autoRemoveFromRecents="false"
125
            android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize|layoutDirection|smallestScreenSize|screenLayout"
126
127
128
129
            android:exported="false"
            android:label="@string/app_name"
            android:persistableMode="persistNever"
            android:taskAffinity=""
130
131
            android:resizeableActivity="true"
            android:supportsPictureInPicture="true"
132
133
            android:windowSoftInputMode="adjustResize|stateAlwaysHidden" />

134
135
136
137
138
139
140
141
        <activity
            android:name=".IntentReceiverActivity"
            android:theme="@style/Theme.Transparent"
            android:relinquishTaskIdentity="true"
            android:taskAffinity=""
            android:exported="true"
            android:excludeFromRecents="true" >

142
143
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
144

145
146
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
147
                <category android:name="mozilla.components.pwa.category.SHORTCUT" />
148
149
150
                <data android:scheme="http" />
                <data android:scheme="https" />
            </intent-filter>
151
152

            <intent-filter>
153
                <action android:name="android.intent.action.VIEW" />
154

155
                <category android:name="android.intent.category.BROWSABLE" />
156
                <category android:name="android.intent.category.DEFAULT" />
157

158
159
                <data android:scheme="http" />
                <data android:scheme="https" />
160
161
162
                <data android:mimeType="text/html" />
                <data android:mimeType="text/plain" />
                <data android:mimeType="application/xhtml+xml" />
163
            </intent-filter>
164

165
166
167
168
169
170
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain" />
            </intent-filter>

171
172
173
174
175
176
177
178
179
180
181
182
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="android.app.searchable"
                android:resource="@xml/searchable"/>

            <intent-filter>
                <action android:name="android.intent.action.WEB_SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>

183
184
185
186
187
188
            <intent-filter>
                <action android:name="mozilla.components.feature.pwa.VIEW_PWA" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="https" />
            </intent-filter>

189
190
191
192
193
            <intent-filter>
                <action android:name="android.intent.action.ASSIST" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>

194
195
196
197
198
199
200
            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="http" />
                <data android:scheme="https" />
            </intent-filter>

201
202
            <meta-data
                android:name="com.android.systemui.action_assist_icon"
203
                android:resource="@mipmap/ic_launcher" />
204

Jeff Boek's avatar
Jeff Boek committed
205
        </activity>
206

207
208
        <activity
                android:name=".migration.MigrationProgressActivity"
209
                android:noHistory="true"
210
211
212
213
                android:launchMode="singleInstance"
                android:exported="false">
        </activity>

214
215
216
217
        <activity
            android:name=".crashes.CrashListActivity"
            android:exported="false" />

218
219
        <activity android:name=".widget.VoiceSearchActivity"
            android:theme="@style/Theme.AppCompat.Translucent"/>
220

221
222
223
        <activity
            android:name=".settings.account.AuthCustomTabActivity"
            android:autoRemoveFromRecents="false"
224
            android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize|layoutDirection|smallestScreenSize|screenLayout"
225
226
227
228
229
230
231
            android:exported="false"
            android:taskAffinity=""
            android:windowSoftInputMode="adjustResize|stateAlwaysHidden" />

        <activity android:name=".settings.account.AuthIntentReceiverActivity"
            android:exported="false" />

232
233
        <activity android:name=".settings.about.AboutLibrariesActivity"
            android:exported="false" />
234

235
236
237
        <service android:name=".media.MediaService"
            android:exported="false" />

238
        <service
239
240
241
            android:name=".customtabs.CustomTabsService"
            android:exported="true"
            tools:ignore="ExportedService">
242
243
            <intent-filter>
                <action android:name="android.support.customtabs.action.CustomTabsService" />
244
                <category android:name="androidx.browser.trusted.category.TrustedWebActivities" />
245
246
            </intent-filter>
        </service>
247

248
        <service android:name=".downloads.DownloadService" />
Yeon Taek Jeong's avatar
Yeon Taek Jeong committed
249
        <receiver
250
            android:name="org.mozilla.gecko.search.SearchWidgetProvider">
Yeon Taek Jeong's avatar
Yeon Taek Jeong committed
251
252
253
254
255
256
257
258
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/search_widget_info" />
        </receiver>

259
        <service android:name=".session.PrivateNotificationService"
260
261
                android:exported="false" />

262
        <service
263
            android:name=".push.FirebasePushService"
264
            android:enabled="false"
265
266
267
268
269
270
271
272
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>

        <meta-data
            android:name="firebase_messaging_auto_init_enabled"
273
            android:value="true" />
274
275
276
        <meta-data
            android:name="firebase_analytics_collection_enabled"
            android:value="false" />
277
278
279
        <meta-data
            android:name="firebase_analytics_collection_deactivated"
            android:value="true" />
280
281
282
283
284
        <!-- Removes the default Workmanager  initialization so that we can use on-demand initializer. -->
        <provider
            android:name="androidx.work.impl.WorkManagerInitializer"
            android:authorities="${applicationId}.workmanager-init"
            tools:node="remove" />
285
286
287
288
289
290
291
        <!-- Define Orbotservice's TorService -->
        <service
            android:name="org.torproject.android.service.TorService"
            android:enabled="true"
            android:exported="false"
            android:stopWithTask="true">
        </service>
Jeff Boek's avatar
Jeff Boek committed
292
293
    </application>

294
</manifest>