tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

AndroidManifest.xml (35277B)


      1 <?xml version="1.0" encoding="utf-8"?>
      2 <!-- This Source Code Form is subject to the terms of the Mozilla Public
      3   - License, v. 2.0. If a copy of the MPL was not distributed with this
      4   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
      5 
      6 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      7    xmlns:tools="http://schemas.android.com/tools">
      8 
      9    <uses-permission android:name="android.permission.INTERNET" />
     10 
     11    <!-- Allows for storing and retrieving screenshots -->
     12    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"
     13        android:maxSdkVersion="32" />
     14    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
     15        android:maxSdkVersion="28" />
     16 
     17    <uses-permission android:name="android.permission.CAMERA" />
     18 
     19    <!-- This is needed because the android.permission.CAMERA above automatically
     20    adds a requirements for camera hardware and we don't want add those restrictions -->
     21    <uses-feature
     22        android:name="android.hardware.camera"
     23        android:required="false" />
     24    <uses-feature
     25        android:name="android.hardware.camera.autofocus"
     26        android:required="false" />
     27 
     28    <uses-permission android:name="android.permission.RECORD_AUDIO" />
     29    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
     30    <uses-permission android:name="android.permission.VIBRATE" />
     31    <uses-permission android:name="android.permission.USE_BIOMETRIC" />
     32 
     33    <!-- tor-browser#43729: Disable access to the advertising ID -->
     34    <uses-permission android:name="com.google.android.gms.permission.AD_ID" tools:node="remove" />
     35 
     36    <!-- Needed to prompt the user to give permission to install a downloaded apk -->
     37    <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
     38 
     39    <!-- Needed to interact with all apps installed on a device -->
     40    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
     41        tools:ignore="QueryAllPackagesPermission" />
     42 
     43    <!-- Needed to post notifications on devices with Android 13 and later-->
     44    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
     45 
     46    <!-- Needed for uploading media files on devices with Android 13 and later. -->
     47    <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
     48 
     49    <!-- Needed to support Credential Manager with Android 14 and later. -->
     50    <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN" />
     51    <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS" />
     52 
     53    <!-- Needed to get distribution information from partners.
     54    This is NOT required for the adjust plugin. -->
     55    <uses-permission android:name="com.adjust.preinstall.READ_PERMISSION"/>
     56 
     57    <uses-permission android:name="${applicationId}.permission.PROFILER_INTERNAL" />
     58 
     59    <permission
     60        android:name="${applicationId}.permission.PROFILER_INTERNAL"
     61        android:protectionLevel="signature" />
     62 
     63    <application
     64        android:name=".FenixApplication"
     65        android:allowBackup="false"
     66        android:icon="@mipmap/ic_launcher"
     67        android:label="@string/app_name"
     68        android:roundIcon="@mipmap/ic_launcher"
     69        android:supportsRtl="true"
     70        android:theme="@style/NormalTheme"
     71        android:usesCleartextTraffic="false"
     72        android:enableOnBackInvokedCallback="@bool/enableOnBackInvokedCallback"
     73        tools:ignore="UnusedAttribute">
     74 
     75        <profileable
     76            android:shell="true"
     77            tools:targetApi="29" />
     78 
     79        <!--
     80          We inherited this entry (${applicationId}.App) from Fennec. We need to keep this as our
     81          main launcher to avoid launcher icons on the home screen disappearing for all our users.
     82 
     83          Note that `fennec*` build types override the targetActivity property in the Manifest
     84          inside their source set.
     85        -->
     86        <activity-alias
     87            android:name="${applicationId}.App"
     88            android:exported="true"
     89            android:targetActivity="HomeActivity">
     90            <intent-filter>
     91                <action android:name="android.intent.action.MAIN" />
     92 
     93                <category android:name="android.intent.category.LAUNCHER" />
     94            </intent-filter>
     95 
     96            <meta-data
     97                android:name="android.app.shortcuts"
     98                android:resource="@xml/shortcuts" />
     99        </activity-alias>
    100 
    101        <activity-alias
    102            android:name="${applicationId}.AlternativeApp"
    103            android:enabled="false"
    104            android:exported="true"
    105            android:icon="@mipmap/ic_launcher_alternative"
    106            android:roundIcon="@mipmap/ic_launcher_round_alternative"
    107            android:targetActivity="HomeActivity">
    108            <intent-filter>
    109                <action android:name="android.intent.action.MAIN" />
    110                <category android:name="android.intent.category.LAUNCHER" />
    111            </intent-filter>
    112            <meta-data
    113                android:name="android.app.shortcuts"
    114                android:resource="@xml/shortcuts" />
    115        </activity-alias>
    116 
    117        <!--
    118            Activity-alias entries used by the app icon selection feature.
    119            Only one is enabled at a time to switch the launcher icon dynamically.
    120        -->
    121        <!-- Solid color icons -->
    122        <!-- Alternative icons with different solid background colors. -->
    123        <activity-alias
    124            android:name="${applicationId}.AppSolidLight"
    125            android:enabled="false"
    126            android:exported="true"
    127            android:icon="@mipmap/ic_launcher_solid_light"
    128            android:roundIcon="@mipmap/ic_launcher_solid_light"
    129            android:targetActivity="HomeActivity">
    130            <intent-filter>
    131                <action android:name="android.intent.action.MAIN" />
    132                <category android:name="android.intent.category.LAUNCHER" />
    133            </intent-filter>
    134            <meta-data
    135                android:name="android.app.shortcuts"
    136                android:resource="@xml/shortcuts" />
    137        </activity-alias>
    138 
    139        <activity-alias
    140            android:name="${applicationId}.AppSolidDark"
    141            android:enabled="false"
    142            android:exported="true"
    143            android:icon="@mipmap/ic_launcher_solid_dark"
    144            android:roundIcon="@mipmap/ic_launcher_solid_dark"
    145            android:targetActivity="HomeActivity">
    146            <intent-filter>
    147                <action android:name="android.intent.action.MAIN" />
    148                <category android:name="android.intent.category.LAUNCHER" />
    149            </intent-filter>
    150            <meta-data
    151                android:name="android.app.shortcuts"
    152                android:resource="@xml/shortcuts" />
    153        </activity-alias>
    154 
    155        <activity-alias
    156            android:name="${applicationId}.AppSolidRed"
    157            android:enabled="false"
    158            android:exported="true"
    159            android:icon="@mipmap/ic_launcher_solid_red"
    160            android:roundIcon="@mipmap/ic_launcher_solid_red"
    161            android:targetActivity="HomeActivity">
    162            <intent-filter>
    163                <action android:name="android.intent.action.MAIN" />
    164                <category android:name="android.intent.category.LAUNCHER" />
    165            </intent-filter>
    166            <meta-data
    167                android:name="android.app.shortcuts"
    168                android:resource="@xml/shortcuts" />
    169        </activity-alias>
    170 
    171        <activity-alias
    172            android:name="${applicationId}.AppSolidGreen"
    173            android:enabled="false"
    174            android:exported="true"
    175            android:icon="@mipmap/ic_launcher_solid_green"
    176            android:roundIcon="@mipmap/ic_launcher_solid_green"
    177            android:targetActivity="HomeActivity">
    178            <intent-filter>
    179                <action android:name="android.intent.action.MAIN" />
    180                <category android:name="android.intent.category.LAUNCHER" />
    181            </intent-filter>
    182            <meta-data
    183                android:name="android.app.shortcuts"
    184                android:resource="@xml/shortcuts" />
    185        </activity-alias>
    186 
    187        <activity-alias
    188            android:name="${applicationId}.AppSolidBlue"
    189            android:enabled="false"
    190            android:exported="true"
    191            android:icon="@mipmap/ic_launcher_solid_blue"
    192            android:roundIcon="@mipmap/ic_launcher_solid_blue"
    193            android:targetActivity="HomeActivity">
    194            <intent-filter>
    195                <action android:name="android.intent.action.MAIN" />
    196                <category android:name="android.intent.category.LAUNCHER" />
    197            </intent-filter>
    198            <meta-data
    199                android:name="android.app.shortcuts"
    200                android:resource="@xml/shortcuts" />
    201        </activity-alias>
    202 
    203        <activity-alias
    204            android:name="${applicationId}.AppSolidPurple"
    205            android:enabled="false"
    206            android:exported="true"
    207            android:icon="@mipmap/ic_launcher_solid_purple"
    208            android:roundIcon="@mipmap/ic_launcher_solid_purple"
    209            android:targetActivity="HomeActivity">
    210            <intent-filter>
    211                <action android:name="android.intent.action.MAIN" />
    212                <category android:name="android.intent.category.LAUNCHER" />
    213            </intent-filter>
    214            <meta-data
    215                android:name="android.app.shortcuts"
    216                android:resource="@xml/shortcuts" />
    217        </activity-alias>
    218 
    219        <activity-alias
    220            android:name="${applicationId}.AppSolidPurpleDark"
    221            android:enabled="false"
    222            android:exported="true"
    223            android:icon="@mipmap/ic_launcher_solid_purple_dark"
    224            android:roundIcon="@mipmap/ic_launcher_solid_purple_dark"
    225            android:targetActivity="HomeActivity">
    226            <intent-filter>
    227                <action android:name="android.intent.action.MAIN" />
    228                <category android:name="android.intent.category.LAUNCHER" />
    229            </intent-filter>
    230            <meta-data
    231                android:name="android.app.shortcuts"
    232                android:resource="@xml/shortcuts" />
    233        </activity-alias>
    234 
    235        <!-- Gradient icons -->
    236        <!-- Alternative icons with gradient-style background colors. -->
    237        <activity-alias
    238            android:name="${applicationId}.AppGradientSunrise"
    239            android:enabled="false"
    240            android:exported="true"
    241            android:icon="@mipmap/ic_launcher_gradient_sunrise"
    242            android:roundIcon="@mipmap/ic_launcher_gradient_sunrise"
    243            android:targetActivity="HomeActivity">
    244            <intent-filter>
    245                <action android:name="android.intent.action.MAIN" />
    246                <category android:name="android.intent.category.LAUNCHER" />
    247            </intent-filter>
    248            <meta-data
    249                android:name="android.app.shortcuts"
    250                android:resource="@xml/shortcuts" />
    251        </activity-alias>
    252 
    253        <activity-alias
    254            android:name="${applicationId}.AppGradientGoldenHour"
    255            android:enabled="false"
    256            android:exported="true"
    257            android:icon="@mipmap/ic_launcher_gradient_golden_hour"
    258            android:roundIcon="@mipmap/ic_launcher_gradient_golden_hour"
    259            android:targetActivity="HomeActivity">
    260            <intent-filter>
    261                <action android:name="android.intent.action.MAIN" />
    262                <category android:name="android.intent.category.LAUNCHER" />
    263            </intent-filter>
    264            <meta-data
    265                android:name="android.app.shortcuts"
    266                android:resource="@xml/shortcuts" />
    267        </activity-alias>
    268 
    269        <activity-alias
    270            android:name="${applicationId}.AppGradientSunset"
    271            android:enabled="false"
    272            android:exported="true"
    273            android:icon="@mipmap/ic_launcher_gradient_sunset"
    274            android:roundIcon="@mipmap/ic_launcher_gradient_sunset"
    275            android:targetActivity="HomeActivity">
    276            <intent-filter>
    277                <action android:name="android.intent.action.MAIN" />
    278                <category android:name="android.intent.category.LAUNCHER" />
    279            </intent-filter>
    280            <meta-data
    281                android:name="android.app.shortcuts"
    282                android:resource="@xml/shortcuts" />
    283        </activity-alias>
    284 
    285        <activity-alias
    286            android:name="${applicationId}.AppGradientBlueHour"
    287            android:enabled="false"
    288            android:exported="true"
    289            android:icon="@mipmap/ic_launcher_gradient_blue_hour"
    290            android:roundIcon="@mipmap/ic_launcher_gradient_blue_hour"
    291            android:targetActivity="HomeActivity">
    292            <intent-filter>
    293                <action android:name="android.intent.action.MAIN" />
    294                <category android:name="android.intent.category.LAUNCHER" />
    295            </intent-filter>
    296            <meta-data
    297                android:name="android.app.shortcuts"
    298                android:resource="@xml/shortcuts" />
    299        </activity-alias>
    300 
    301        <activity-alias
    302            android:name="${applicationId}.AppGradientTwilight"
    303            android:enabled="false"
    304            android:exported="true"
    305            android:icon="@mipmap/ic_launcher_gradient_twilight"
    306            android:roundIcon="@mipmap/ic_launcher_gradient_twilight"
    307            android:targetActivity="HomeActivity">
    308            <intent-filter>
    309                <action android:name="android.intent.action.MAIN" />
    310                <category android:name="android.intent.category.LAUNCHER" />
    311            </intent-filter>
    312            <meta-data
    313                android:name="android.app.shortcuts"
    314                android:resource="@xml/shortcuts" />
    315        </activity-alias>
    316 
    317        <activity-alias
    318            android:name="${applicationId}.AppGradientMidnight"
    319            android:enabled="false"
    320            android:exported="true"
    321            android:icon="@mipmap/ic_launcher_gradient_midnight"
    322            android:roundIcon="@mipmap/ic_launcher_gradient_midnight"
    323            android:targetActivity="HomeActivity">
    324            <intent-filter>
    325                <action android:name="android.intent.action.MAIN" />
    326                <category android:name="android.intent.category.LAUNCHER" />
    327            </intent-filter>
    328            <meta-data
    329                android:name="android.app.shortcuts"
    330                android:resource="@xml/shortcuts" />
    331        </activity-alias>
    332 
    333        <activity-alias
    334            android:name="${applicationId}.AppGradientNorthernLights"
    335            android:enabled="false"
    336            android:exported="true"
    337            android:icon="@mipmap/ic_launcher_gradient_northern_lights"
    338            android:roundIcon="@mipmap/ic_launcher_gradient_northern_lights"
    339            android:targetActivity="HomeActivity">
    340            <intent-filter>
    341                <action android:name="android.intent.action.MAIN" />
    342                <category android:name="android.intent.category.LAUNCHER" />
    343            </intent-filter>
    344            <meta-data
    345                android:name="android.app.shortcuts"
    346                android:resource="@xml/shortcuts" />
    347        </activity-alias>
    348 
    349        <!-- Themed/alternative icons -->
    350        <!-- Icons with unique designs or special themes (e.g. retro, pixelated, Pride). -->
    351        <activity-alias
    352            android:name="${applicationId}.AppRetro2004"
    353            android:enabled="false"
    354            android:exported="true"
    355            android:icon="@mipmap/ic_launcher_retro_2004"
    356            android:roundIcon="@mipmap/ic_launcher_retro_2004"
    357            android:targetActivity="HomeActivity">
    358            <intent-filter>
    359                <action android:name="android.intent.action.MAIN" />
    360                <category android:name="android.intent.category.LAUNCHER" />
    361            </intent-filter>
    362            <meta-data
    363                android:name="android.app.shortcuts"
    364                android:resource="@xml/shortcuts" />
    365        </activity-alias>
    366 
    367        <activity-alias
    368            android:name="${applicationId}.AppPixelated"
    369            android:enabled="false"
    370            android:exported="true"
    371            android:icon="@mipmap/ic_launcher_pixelated"
    372            android:roundIcon="@mipmap/ic_launcher_pixelated"
    373            android:targetActivity="HomeActivity">
    374            <intent-filter>
    375                <action android:name="android.intent.action.MAIN" />
    376                <category android:name="android.intent.category.LAUNCHER" />
    377            </intent-filter>
    378            <meta-data
    379                android:name="android.app.shortcuts"
    380                android:resource="@xml/shortcuts" />
    381        </activity-alias>
    382 
    383        <activity-alias
    384            android:name="${applicationId}.AppCuddling"
    385            android:enabled="false"
    386            android:exported="true"
    387            android:icon="@mipmap/ic_launcher_cuddling"
    388            android:roundIcon="@mipmap/ic_launcher_cuddling"
    389            android:targetActivity="HomeActivity">
    390            <intent-filter>
    391                <action android:name="android.intent.action.MAIN" />
    392                <category android:name="android.intent.category.LAUNCHER" />
    393            </intent-filter>
    394            <meta-data
    395                android:name="android.app.shortcuts"
    396                android:resource="@xml/shortcuts" />
    397        </activity-alias>
    398 
    399        <activity-alias
    400            android:name="${applicationId}.AppPride"
    401            android:enabled="false"
    402            android:exported="true"
    403            android:icon="@mipmap/ic_launcher_pride"
    404            android:roundIcon="@mipmap/ic_launcher_pride"
    405            android:targetActivity="HomeActivity">
    406            <intent-filter>
    407                <action android:name="android.intent.action.MAIN" />
    408                <category android:name="android.intent.category.LAUNCHER" />
    409            </intent-filter>
    410            <meta-data
    411                android:name="android.app.shortcuts"
    412                android:resource="@xml/shortcuts" />
    413        </activity-alias>
    414 
    415        <activity-alias
    416            android:name="${applicationId}.AppFlaming"
    417            android:enabled="false"
    418            android:exported="true"
    419            android:icon="@mipmap/ic_launcher_flaming"
    420            android:roundIcon="@mipmap/ic_launcher_flaming"
    421            android:targetActivity="HomeActivity">
    422            <intent-filter>
    423                <action android:name="android.intent.action.MAIN" />
    424                <category android:name="android.intent.category.LAUNCHER" />
    425            </intent-filter>
    426            <meta-data
    427                android:name="android.app.shortcuts"
    428                android:resource="@xml/shortcuts" />
    429        </activity-alias>
    430 
    431        <activity-alias
    432            android:name="${applicationId}.AppMinimal"
    433            android:enabled="false"
    434            android:exported="true"
    435            android:icon="@mipmap/ic_launcher_minimal"
    436            android:roundIcon="@mipmap/ic_launcher_minimal"
    437            android:targetActivity="HomeActivity">
    438            <intent-filter>
    439                <action android:name="android.intent.action.MAIN" />
    440                <category android:name="android.intent.category.LAUNCHER" />
    441            </intent-filter>
    442            <meta-data
    443                android:name="android.app.shortcuts"
    444                android:resource="@xml/shortcuts" />
    445        </activity-alias>
    446 
    447        <activity-alias
    448            android:name="${applicationId}.AppMomo"
    449            android:enabled="false"
    450            android:exported="true"
    451            android:icon="@mipmap/ic_launcher_momo"
    452            android:roundIcon="@mipmap/ic_launcher_momo"
    453            android:targetActivity="HomeActivity">
    454            <intent-filter>
    455                <action android:name="android.intent.action.MAIN" />
    456                <category android:name="android.intent.category.LAUNCHER" />
    457            </intent-filter>
    458            <meta-data
    459                android:name="android.app.shortcuts"
    460                android:resource="@xml/shortcuts" />
    461        </activity-alias>
    462        <activity-alias
    463            android:name="${applicationId}.AppCool"
    464            android:enabled="false"
    465            android:exported="true"
    466            android:icon="@mipmap/ic_launcher_cool"
    467            android:roundIcon="@mipmap/ic_launcher_cool"
    468            android:targetActivity="HomeActivity">
    469            <intent-filter>
    470                <action android:name="android.intent.action.MAIN" />
    471                <category android:name="android.intent.category.LAUNCHER" />
    472            </intent-filter>
    473            <meta-data
    474                android:name="android.app.shortcuts"
    475                android:resource="@xml/shortcuts" />
    476        </activity-alias>
    477 
    478        <!--
    479          Fennec declared entry for homescreen pinned shortcuts.
    480        -->
    481        <activity-alias
    482            android:name="org.mozilla.gecko.BrowserApp"
    483            android:targetActivity=".IntentReceiverActivity"
    484            android:exported="true">
    485        </activity-alias>
    486 
    487        <!-- Activity alias from Fennec used by PWA launchers on the home screen -->
    488        <activity-alias
    489            android:name="org.mozilla.gecko.LauncherActivity"
    490            android:exported="true"
    491            android:targetActivity=".IntentReceiverActivity">
    492            <intent-filter>
    493                <action android:name="org.mozilla.gecko.WEBAPP" />
    494            </intent-filter>
    495        </activity-alias>
    496 
    497        <activity
    498            android:name=".startupCrash.StartupCrashActivity"
    499            android:exported="false"
    500            android:process=":StartupCrashActivityProcess"
    501            >
    502        </activity>
    503 
    504        <activity
    505            android:name=".HomeActivity"
    506            android:theme="@style/SplashScreenThemeBase"
    507            android:exported="true"
    508            android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize|layoutDirection|smallestScreenSize|screenLayout"
    509            android:launchMode="singleTask"
    510            android:taskAffinity=""
    511            android:resizeableActivity="true"
    512            android:supportsPictureInPicture="true"
    513            android:windowSoftInputMode="adjustResize">
    514            <intent-filter>
    515                <action android:name="android.intent.action.VIEW" />
    516                <category android:name="android.intent.category.BROWSABLE" />
    517                <category android:name="android.intent.category.DEFAULT" />
    518                <data android:scheme="${deepLinkScheme}"/>
    519                <data android:host="enable_private_browsing"/>
    520                <data android:host="home"/>
    521                <data android:host="home_collections"/>
    522                <data android:host="install_search_widget"/>
    523                <data android:host="make_default_browser"/>
    524                <data android:host="open"/>
    525                <data android:host="settings"/>
    526                <data android:host="settings_accessibility"/>
    527                <data android:host="settings_addon_manager"/>
    528                <data android:host="settings_delete_browsing_data"/>
    529                <data android:host="settings_logins"/>
    530                <data android:host="settings_notifications"/>
    531                <data android:host="settings_privacy"/>
    532                <data android:host="settings_search_engine"/>
    533                <data android:host="settings_tracking_protection"/>
    534                <data android:host="settings_app_icon"/>
    535                <data android:host="share_sheet"/>
    536                <data android:host="turn_on_sync"/>
    537                <data android:host="urls_bookmarks"/>
    538                <data android:host="urls_history"/>
    539                <data android:host="settings_private_browsing"/>
    540            </intent-filter>
    541        </activity>
    542 
    543        <activity
    544            android:name=".customtabs.ExternalAppBrowserActivity"
    545            android:autoRemoveFromRecents="false"
    546            android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize|layoutDirection|smallestScreenSize|screenLayout"
    547            android:exported="false"
    548            android:persistableMode="persistNever"
    549            android:taskAffinity=""
    550            android:resizeableActivity="true"
    551            android:supportsPictureInPicture="true"
    552            android:windowSoftInputMode="adjustResize|stateAlwaysHidden" />
    553 
    554        <activity
    555            android:name=".IntentReceiverActivity"
    556            android:theme="@style/Theme.Transparent"
    557            android:relinquishTaskIdentity="true"
    558            android:taskAffinity=""
    559            android:exported="true"
    560            android:excludeFromRecents="true" >
    561 
    562            <!--
    563              Respond to `Intent.makeMainSelectorActivity(Intent.ACTION_MAIN, Intent.CATEGORY_APP_BROWSER)`
    564            -->
    565            <intent-filter>
    566                <action android:name="android.intent.action.MAIN" />
    567                <category android:name="android.intent.category.APP_BROWSER"/>
    568                <category android:name="android.intent.category.DEFAULT"/>
    569            </intent-filter>
    570 
    571            <intent-filter>
    572                <action android:name="android.intent.action.VIEW" />
    573 
    574                <category android:name="android.intent.category.DEFAULT" />
    575                <category android:name="android.intent.category.BROWSABLE" />
    576                <category android:name="mozilla.components.pwa.category.SHORTCUT" />
    577                <data android:scheme="http" />
    578                <data android:scheme="https" />
    579            </intent-filter>
    580 
    581            <!--Exposed specific deep links for third-party apps to open wallpaper settings.-->
    582            <intent-filter>
    583                <action android:name="android.intent.action.VIEW" />
    584                <category android:name="android.intent.category.BROWSABLE" />
    585                <category android:name="android.intent.category.DEFAULT" />
    586                <data android:scheme="${deepLinkScheme}"
    587                    android:host="settings_wallpapers"/>
    588            </intent-filter>
    589 
    590            <intent-filter>
    591                <action android:name="android.intent.action.VIEW" />
    592 
    593                <category android:name="android.intent.category.BROWSABLE" />
    594                <category android:name="android.intent.category.DEFAULT" />
    595 
    596                <data android:scheme="http" />
    597                <data android:scheme="https" />
    598                <data android:mimeType="text/html" />
    599                <data android:mimeType="text/plain" />
    600                <data android:mimeType="application/xhtml+xml" />
    601            </intent-filter>
    602 
    603 <!--
    604            <intent-filter>
    605                <action android:name="android.intent.action.SEND" />
    606                <category android:name="android.intent.category.DEFAULT" />
    607                <data android:mimeType="text/plain" />
    608            </intent-filter>
    609 -->
    610 
    611            <intent-filter>
    612                <action android:name="android.intent.action.SEARCH" />
    613                <category android:name="android.intent.category.DEFAULT" />
    614            </intent-filter>
    615            <meta-data android:name="android.app.searchable"
    616                android:resource="@xml/searchable"/>
    617 
    618            <intent-filter>
    619                <action android:name="android.intent.action.WEB_SEARCH" />
    620                <category android:name="android.intent.category.DEFAULT" />
    621            </intent-filter>
    622 
    623            <intent-filter>
    624                <action android:name="mozilla.components.feature.pwa.VIEW_PWA" />
    625                <category android:name="android.intent.category.DEFAULT" />
    626                <data android:scheme="https" />
    627            </intent-filter>
    628 
    629            <intent-filter>
    630                <action android:name="android.intent.action.ASSIST" />
    631                <category android:name="android.intent.category.DEFAULT" />
    632            </intent-filter>
    633 
    634            <intent-filter>
    635                <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
    636                <category android:name="android.intent.category.DEFAULT" />
    637                <data android:scheme="http" />
    638                <data android:scheme="https" />
    639            </intent-filter>
    640 
    641            <intent-filter>
    642                <action android:name="android.intent.action.VIEW" />
    643                <category android:name="android.intent.category.BROWSABLE" />
    644                <category android:name="android.intent.category.DEFAULT" />
    645                <data android:mimeType="application/pdf" />
    646                <data android:scheme="content" />
    647            </intent-filter>
    648 
    649            <meta-data
    650                android:name="com.android.systemui.action_assist_icon"
    651                android:resource="@mipmap/ic_launcher" />
    652 
    653        </activity>
    654 
    655        <activity android:name=".widget.VoiceSearchActivity"
    656            android:theme="@style/Theme.AppCompat.Translucent"
    657            android:taskAffinity=""
    658            android:excludeFromRecents="true"
    659            />
    660 
    661        <activity android:name="mozilla.components.feature.qr.QrScanActivity"
    662            android:theme="@style/Theme.AppCompat.Translucent"
    663            android:exported="false"
    664            android:taskAffinity=""
    665            />
    666 
    667        <activity
    668            android:name=".settings.account.AuthCustomTabActivity"
    669            android:autoRemoveFromRecents="false"
    670            android:configChanges="keyboard|keyboardHidden|mcc|mnc|orientation|screenSize|layoutDirection|smallestScreenSize|screenLayout"
    671            android:exported="false"
    672            android:taskAffinity=""
    673            android:windowSoftInputMode="adjustResize|stateAlwaysHidden" />
    674 
    675        <activity android:name=".settings.account.AuthIntentReceiverActivity"
    676            android:exported="false" />
    677 
    678        <activity android:name=".autofill.AutofillUnlockActivity"
    679            android:exported="false"
    680            android:theme="@style/Theme.AppCompat.Translucent" />
    681 
    682        <activity android:name=".autofill.AutofillConfirmActivity"
    683            android:exported="false"
    684            android:theme="@style/Theme.AppCompat.Translucent" />
    685 
    686        <activity android:name=".autofill.AutofillSearchActivity"
    687            android:exported="false"
    688            android:theme="@style/DialogActivityTheme" />
    689 
    690        <activity
    691            android:name=".messaging.NotificationClickedReceiverActivity"
    692            android:exported="false" />
    693 
    694        <activity
    695            android:name=".perf.StopProfilerActivity"
    696            android:theme="@style/StopProfilerTransparentTheme"
    697            android:taskAffinity=""
    698            android:excludeFromRecents="true"
    699            android:exported="false"
    700            android:launchMode="singleTask" />
    701 
    702        <service android:name=".media.MediaSessionService"
    703            android:foregroundServiceType="mediaPlayback"
    704            android:exported="false" />
    705 
    706        <service
    707            android:name=".customtabs.CustomTabsService"
    708            android:exported="true"
    709            tools:ignore="ExportedService">
    710            <intent-filter>
    711                <action android:name="android.support.customtabs.action.CustomTabsService" />
    712            </intent-filter>
    713        </service>
    714 
    715        <service
    716            android:name=".downloads.DownloadService"
    717            android:foregroundServiceType="dataSync"
    718            android:exported="false" />
    719 
    720        <receiver
    721            android:name="org.mozilla.gecko.search.SearchWidgetProvider"
    722            android:exported="true">
    723            <intent-filter>
    724                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
    725            </intent-filter>
    726            <meta-data
    727                android:name="android.appwidget.provider"
    728                android:resource="@xml/search_widget_info" />
    729        </receiver>
    730 
    731        <receiver android:name=".onboarding.WidgetPinnedReceiver"
    732            android:exported="true">
    733            <intent-filter>
    734                <action android:name="org.mozilla.fenix.onboarding.WidgetPinnedReceiver.widgetPinned"/>
    735            </intent-filter>
    736        </receiver>
    737 
    738        <service
    739            android:name=".session.PrivateNotificationService"
    740            android:exported="false"
    741            android:foregroundServiceType="specialUse">
    742            <property
    743                android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
    744                android:value="This foreground service allows users to easily remove private tabs from the notification" />
    745        </service>
    746 
    747        <service
    748            android:name=".messaging.NotificationDismissedService"
    749            android:exported="false" />
    750 
    751        <service
    752            android:name=".push.FirebasePushService"
    753            android:enabled="false"
    754            android:exported="false">
    755            <intent-filter>
    756                <action android:name="com.google.firebase.MESSAGING_EVENT" />
    757            </intent-filter>
    758        </service>
    759 
    760        <service
    761            android:name=".perf.ProfilerService"
    762            android:foregroundServiceType="specialUse"
    763            android:exported="false">
    764            <property android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
    765                android:value="Developer tool: Shows notification during performance profiling" />
    766        </service>
    767 
    768        <provider
    769            android:name=".perf.ProfilerProvider"
    770            android:authorities="${applicationId}.profiler"
    771            android:exported="false"
    772            android:enabled="false"
    773            android:readPermission="android.permission.DUMP"
    774            android:grantUriPermissions="false" />
    775 
    776        <meta-data
    777            android:name="firebase_messaging_auto_init_enabled"
    778            android:value="false" />
    779        <meta-data
    780            android:name="firebase_analytics_collection_enabled"
    781            android:value="false" />
    782        <meta-data
    783            android:name="firebase_analytics_collection_deactivated"
    784            android:value="true" />
    785        <meta-data
    786            android:name="google_analytics_adid_collection_enabled"
    787            android:value="false" />
    788        <meta-data
    789            android:name="google_analytics_default_allow_ad_personalization_signals"
    790            android:value="false" />
    791        <!-- Removes the default Workmanager  initialization so that we can use on-demand initializer. -->
    792        <provider
    793            android:name="androidx.startup.InitializationProvider"
    794            android:authorities="${applicationId}.androidx-startup"
    795            android:exported="false"
    796            tools:node="merge" >
    797            <meta-data
    798                android:name="androidx.work.WorkManagerInitializer"
    799                android:value="androidx.startup"
    800                tools:node="remove" />
    801        </provider>
    802 
    803        <!-- For adjust pre-installs -->
    804        <!-- https://dev.adjust.com/en/sdk/android/setup/preinstalled#system-installer-receiver-->
    805        <receiver
    806            android:name="com.adjust.sdk.AdjustPreinstallReferrerReceiver"
    807            android:exported="true"
    808            tools:ignore="ExportedReceiver">
    809            <intent-filter>
    810                <action android:name="com.attribution.SYSTEM_INSTALLER_REFERRER" />
    811            </intent-filter>
    812        </receiver>
    813    </application>
    814 
    815 </manifest>