<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2015 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->

<!--
Note: This is a jinja2 template, processed at build time into the final manifest.

Blocks denoted with { % block some_name % }foo{ % endblock % } can be overridden
by a child template that "extends" this file.
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="{{ manifest_package }}"
    {% set definitions_in_split = definitions_in_split|default(0) == 'true' %}
    {% if definitions_in_split %}
    android:isolatedSplits="true"
    {% endif %}
    tools:ignore="MissingVersion">
    <!-- android:versionCode and android:versionName is set through gyp. See build/common.gypi -->

    <uses-feature android:glEsVersion="0x00030000" />


    <!-- Needed for
          * servicing requests from websites to obtain location through the Web Geolocation API,
            which, however, is further gated on the user expressly granting the geolocation
            permission to individual web origins
          * supporting bluetooth discovery pre-S
          * providing a geolocation header to the default search engine; used to annotate omnibox
            suggestions, search prefetch and search navigation requests.
    -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <uses-permission-sdk-23 android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-permission-sdk-23 android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
    <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30"/>
    <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_CONNECT"/>
    <!--
      Bluetooth advertising is used by Phone as a Security Key to allow
      a desktop device to prove proximity by receiving a BLE advert from the
      phone.
    -->
    <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADVERTISE"/>
    <!--
      The BLUETOOTH permission is needed for
      BluetoothAdapter.ACTION_REQUEST_ENABLE which at least Phone as a Security
      Key uses.
    -->
    <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
    <!--
      Bluetooth scanning is used to implement the Web Bluetooth API, which is
      not intended to allow sites to derive location and so can accept a
      filtered view of devices.
    -->
    <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_SCAN"
                            android:usesPermissionFlags="neverForLocation"/>

    <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
    <uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>

    <!--  Needed for allowing downloaded APKs to be installed. -->
    <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.CAPTURE_KEYBOARD" />
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_CAMERA" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MICROPHONE" />
    {% set enable_screen_capture = enable_screen_capture|default(0) %}
    {% if enable_screen_capture == "true" %}
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
    {% endif %}
    <!-- TODO(crbug.com/40259231): Remove this tools:ignore attribute once it's no longer necessary. -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" tools:ignore="SystemPermissionTypo" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" tools:ignore="SystemPermissionTypo" />
    <uses-permission android:name="android.permission.RUN_USER_INITIATED_JOBS" />

    <uses-permission android:name="android.permission.GET_ACCOUNTS"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.MANAGE_ACCOUNTS"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.NFC"/>
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

    <!-- Needed to determine whether an app installed on the device should handle a web navigation.  -->
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />

    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <!--
      The REPOSITION_SELF_WINDOWS permission is needed for Window Popup Web API to allow Chrome to
      move windows when the |window.moveTo| JavaScript call is executed (also |window.{resizeBy,
      resizeTo, moveBy}|).
    -->
    <uses-permission android:name="android.permission.REPOSITION_SELF_WINDOWS"/>
    <uses-permission android:name="android.permission.REQUEST_FULLSCREEN_MODE"/>
    <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
    <uses-permission-sdk-23 android:name="android.permission.USE_BIOMETRIC"/>
    <uses-permission-sdk-23 android:name="android.permission.USE_FINGERPRINT"/>
    <uses-permission android:name="android.permission.VIBRATE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <!-- Permission for using Android 14's credential management framework. -->
    <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_QUERY_CANDIDATE_CREDENTIALS"/>
    <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ALLOWED_PROVIDERS"/>
    <uses-permission android:name="android.permission.CREDENTIAL_MANAGER_SET_ORIGIN"/>

    <!-- Permission for reading the Advanced Protection Mode status. -->
    <uses-permission android:name="android.permission.QUERY_ADVANCED_PROTECTION_MODE"/>

    <!-- Needed for allowing cross-app and cross-profile communication over the loopback interface. -->
    <uses-permission android:name="android.permission.USE_LOOPBACK_INTERFACE"/>

    {% set enable_vr = enable_vr|default(0) %}
    {% if enable_vr == "true" %}
    <!-- Indicates use of Android's VR-mode, available only on Android N+. -->
    <uses-feature android:name="android.software.vr.mode" android:required="false"/>
    <!-- Indicates use of VR features that are available only on Daydream-ready devices. -->
    <uses-feature android:name="android.hardware.vr.high_performance" android:required="false"/>
    <!--
      Indicates that we don't need Chrome to be available on devices that only support landscape
      orientation. This is needed because we have VR specific activities that declare the
      android:orientation attribute.
    -->
    <uses-feature android:name="android.hardware.screen.landscape" android:required="false"/>
    <!-- Indicates that head tracking should be done in 6DoF, if available -->
    <uses-feature android:name="android.hardware.vr.headtracking" android:version="1" android:required="false"/>
    <!-- Feature declarations required to support conditional install for VR DFM -->
    <uses-feature android:name="android.hardware.sensor.gyroscope" android:required="false"/>
    <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="false"/>

    <uses-permission-sdk-23 android:name="android.permission.SCENE_UNDERSTANDING_FINE" />
    <uses-permission-sdk-23 android:name="android.permission.HAND_TRACKING" />
    {% endif %}

    <permission android:name="{{ manifest_package }}.permission.CHILD_SERVICE" android:protectionLevel="signature" />
    <permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" android:protectionLevel="signatureOrSystem" />
    <permission android:name="{{ manifest_package }}.TOS_ACKED" android:protectionLevel="signatureOrSystem" />
    <!-- Only chrome can receive the messages and registration result -->
    <permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />
    <permission android:name="{{ manifest_package }}.permission.DEBUG"
                android:label="Debug web pages"
                android:protectionLevel="signature" />

    <uses-permission android:name="{{ manifest_package }}.permission.C2D_MESSAGE" />
    <uses-permission android:name="{{ manifest_package }}.permission.READ_WRITE_BOOKMARK_FOLDERS" />
    <uses-permission android:name="{{ manifest_package }}.TOS_ACKED" />

    <uses-permission android:name="com.chrome.permission.DEVICE_EXTRAS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"/>

    <uses-permission android:name="com.google.android.apps.now.CURRENT_ACCOUNT_ACCESS" />

    <!-- Permission for using pinned windowing layer for document picture-in-picture. -->
    <uses-permission android:name="android.permission.USE_PINNED_WINDOWING_LAYER" />

    {% block extra_uses_permissions %}
    {% endblock %}

    <!-- Features related to permissions we request. -->
    <!-- android.permission.ACCESS_FINE_LOCATION -->
    <uses-feature android:name="android.hardware.location.gps" android:required="false" />
    <!-- android.permission.CAMERA -->
    <uses-feature android:name="android.hardware.camera" android:required="false" />
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
    <!-- android.permission.RECORD_AUDIO -->
    <uses-feature android:name="android.hardware.microphone" android:required="false" />
    <!--
      The app is usable with keyboard/mouse. This feature is implicitly true for
      all applications and needs to be disabled manually.
    -->
    <uses-feature android:name="android.hardware.touchscreen" android:required="false" />

    {% block extra_keyset_definitions %}
    {% endblock %}

    {% if channel in ['default'] %}
      <!--
        Android 11 (R) restricts querying for installed packages. WebXR uses
        ARCore and/or GVR, and needs to be able to check their installation
        status so that it can show install/update infobars if necessary.
        Official builds (stable, beta, dev, canary) handle this differently,
        this setting is for locally deployed ToT builds only.

        TODO(crbug.com/40715928): remove if this is replaced by an
        alternate mechanism.
      -->
      <queries>
        {% if enable_vr == "true" %}
          <package android:name="com.google.vr.vrcore" />
        {% endif %}
      </queries>
    {% endif %}

    <!-- Set android:largeHeap to "true" to allow more than the default
         Java heap limit (32Mb on Nexus S, 48Mb on Xoom). -->
      <application android:name="{% block application_name %}org.chromium.chrome.browser.base.SplitChromeApplication{% endblock %}"
        android:icon="@drawable/ic_launcher"
        android:roundIcon="@drawable/ic_launcher_round"
        android:label="{% block application_label %}@string/app_name{% endblock %}"
        android:memtagMode="async"
        android:largeHeap="false"
        android:manageSpaceActivity="@string/manage_space_activity"
        android:supportsRtl="true"
        android:zygotePreloadName="{{ zygote_preload_class }}"
        {% if backup_key is defined %}
        android:allowBackup="true"
        android:backupAgent="org.chromium.chrome.browser.backup.ChromeBackupAgent"
        android:fullBackupOnly="false"
        android:restoreAnyVersion="true"
        {% else %}
        android:allowBackup="false"
        {% endif %}
        android:networkSecurityConfig="@xml/network_security_config"
        android:appComponentFactory="org.chromium.chrome.browser.base.SplitCompatAppComponentFactory"
        android:enableOnBackInvokedCallback="true"
        {% if javaless_renderers is defined %}
        android:zygotePreloadNativeLib="lib{{ library_name }}.so"
        {% endif %}
        {% block extra_application_attributes %}{% endblock %}>

        {% if channel in ['canary', 'dev', 'default'] %}
        <profileable android:shell="true"/>
        {% endif %}

      {% macro application_definitions() %}
        <!-- Note: All activities directly or indirectly derived from ChromeActivity
             must specify android:hardwareAccelerated="false".

             Since this activity (shown in the launcher) and the application
             (shown in Android's Settings/Apps list) share the same label, we
             do not specify one here to allow it to inherit from the app. -->
        <activity android:name="org.chromium.chrome.browser.document.ChromeLauncherActivity"
            android:theme="@style/LauncherTheme"
            android:relinquishTaskIdentity="true"
            android:taskAffinity=""
            android:excludeFromRecents="true"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|density">
        </activity>
        <activity-alias android:name="com.google.android.apps.chrome.IntentDispatcher"
            android:targetActivity="org.chromium.chrome.browser.document.ChromeLauncherActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.NOTIFICATION_PREFERENCES" />
            </intent-filter>
            <!-- Matches the common case of intents with no MIME type.
                 Make sure to keep in sync with the next filter.  -->
            <intent-filter>
                {% block common_view_intent_shared_filter_body %}
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                {% if channel in ['stable', 'default'] %}<data android:scheme="googlechrome" />{% endif %}
                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:scheme="about" />
                <category android:name="android.intent.category.BROWSABLE" />
                {% endblock %}
            </intent-filter>
            <!-- Same filter as above but with MIME types.  Intents that
                 do not specify a MIME type won't match. -->
            <intent-filter>
                {{ self.common_view_intent_shared_filter_body() }}
                <data android:mimeType="text/html"/>
                <data android:mimeType="text/plain"/>
                <data android:mimeType="application/xhtml+xml"/>
            </intent-filter>
            <!-- URL share intent support. -->
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain"/>
            </intent-filter>
            <!-- content URI support. -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="content" />
                <data android:mimeType="text/html"/>
                <data android:mimeType="text/plain"/>
                <data android:mimeType="application/xhtml+xml"/>
            </intent-filter>
            <!-- MHTML support, used for snapshots -->
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="file"/>
                <data android:mimeType="multipart/related"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="content"/>
                <data android:mimeType="multipart/related"/>
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="file"/>
                <data android:scheme="content"/>
                <data android:mimeType="message/rfc822"/>
            </intent-filter>
            <intent-filter>
                {% block mhtml_view_intent_shared_filter_body %}
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="file"/>
                <data android:host="*" />
                {% for i in range(10) %}
                <data android:pathPattern="/.*{{ '\\\\..*' * i }}\\.mhtml" />
                <data android:pathPattern="/.*{{ '\\\\..*' * i }}\\.mht" />
                {% endfor %}
                {% endblock %}
            </intent-filter>
            <!-- Same filter as above but with mimeType="*/*". Used for
                 handling intent send by ShareIt. -->
            <intent-filter>
                {{ self.mhtml_view_intent_shared_filter_body() }}
                <data android:mimeType="*/*"/>
            </intent-filter>
            <!-- Web Bundles (.wbn) support -->
            {% if channel in ['dev', 'canary', 'default'] %}
            <intent-filter>
                {% block wbn_view_intent_shared_filter_body %}
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="file" />
                <data android:host="*" />
                {% for i in range(10) %}
                <data android:pathPattern="/.*{{ '\\\\..*' * i }}\\.wbn" />
                {% endfor %}
                {% endblock %}
            </intent-filter>
            <intent-filter>
                {{ self.wbn_view_intent_shared_filter_body() }}
                <data android:mimeType="*/*"/>
            </intent-filter>
            <intent-filter tools:ignore="AppLinkUrlError">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="content" />
                <data android:mimeType="application/webbundle" />
            </intent-filter>
            {% endif %}
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_SEARCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.speech.action.VOICE_SEARCH_RESULTS" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <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>
            <intent-filter>
                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.sec.android.airview.HOVER" />
            </intent-filter>
            <meta-data android:name="android.app.searchable"
                android:resource="@xml/searchable" />
        </activity-alias>

        <activity android:name="org.chromium.chrome.browser.media.MediaLauncherActivity"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:excludeFromRecents="true"
            android:exported="true"
            android:enabled="false"><!-- This will be selectively enabled at runtime. -->
            <intent-filter tools:ignore="AppLinkUrlError">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <!-- TODO(crbug.com/501213257): Find a way to unify the declaration of codecs between here and the media stack -->
                {% if enable_jxl_decoder == "true" %}
                <data android:mimeType="image/jxl" />
                {% endif %}
                {% if enable_av1_decoder == "true" %}
                <data android:mimeType="image/avif" />
                {% endif %}
                <data android:mimeType="image/webp" />
                <data android:mimeType="image/apng" />
                <data android:mimeType="image/svg+xml" />
                <data android:mimeType="image/jpeg" />
                <data android:mimeType="image/png" />
                <data android:mimeType="image/gif" />
                <data android:mimeType="image/x-icon" />
                <data android:mimeType="image/bmp" />
                <data android:mimeType="image/x-xbitmap" />
                <data android:mimeType="image/vnd.microsoft.icon" />
                <data android:mimeType="image/pjpeg" />
                <data android:mimeType="image/jpg" />
                <data android:mimeType="image/x-png" />

                <data android:mimeType="video/webm" />
                <data android:mimeType="video/ogg" />
                <data android:mimeType="video/mp4" />
                <data android:mimeType="video/matroska" />
                <data android:mimeType="video/x-matroska" />
                {% if use_proprietary_codecs == "true" %}
                <data android:mimeType="video/x-m4v" />
                <data android:mimeType="video/3gpp" />
                {% endif %}

                <data android:scheme="file" />
                <data android:scheme="content" />
            </intent-filter>
        </activity>

        <activity android:name="org.chromium.chrome.browser.media.DocumentPictureInPictureActivity"
            android:exported="false"
            android:noHistory="true"
            android:theme="@style/Theme.Chromium.Activity"
            android:excludeFromRecents="true"
            android:configChanges=
                       "screenSize|smallestScreenSize|screenLayout|orientation|density|uiMode"
            {{ self.supports_video_persistence() }}
        >
        </activity>

        <activity android:name="org.chromium.chrome.browser.media.PictureInPictureActivity"
                  android:exported="false"
                  android:noHistory="true"
                  android:theme="@style/Theme.Chromium.Activity"
                  android:excludeFromRecents="true"
                  android:configChanges=
                       "screenSize|smallestScreenSize|screenLayout|orientation"
                  {{ self.supports_video_persistence() }}>
        </activity>

        <!-- We have a separate activity-alias for audio so that we can disable audio handling
             without disabling video and image handling. We need this because there are memory
             restrictions for music players on Android Go, so we want to only handle video and
             images in that case. -->
        <activity-alias android:name="org.chromium.chrome.browser.media.AudioLauncherActivity"
            android:targetActivity="org.chromium.chrome.browser.media.MediaLauncherActivity"
            android:exported="true"
            android:enabled="false"><!-- This will be selectively enabled at runtime. -->
            <intent-filter tools:ignore="AppLinkUrlError">
                <action android:name="android.intent.action.VIEW" />
                <category android:name="android.intent.category.DEFAULT" />
                <!-- TODO(crbug.com/501213257): Find a way to unify the declaration of codecs between here and the media stack -->
                <data android:mimeType="audio/wav" />
                <data android:mimeType="audio/x-wav" />
                <data android:mimeType="audio/webm" />
                <data android:mimeType="audio/ogg" />
                <data android:mimeType="audio/flac" />
                <data android:mimeType="audio/mpeg" />
                <data android:mimeType="audio/mp3" />
                <data android:mimeType="audio/x-mp3" />
                <data android:mimeType="audio/mp4" />
                <data android:mimeType="audio/matroska" />
                <data android:mimeType="audio/x-matroska" />
                <data android:mimeType="application/ogg" />
                {% if use_proprietary_codecs == "true" %}
                <data android:mimeType="audio/aac" />
                <data android:mimeType="audio/x-m4a" />
                {% endif %}

                <data android:scheme="file" />
                <data android:scheme="content" />
            </intent-filter>
        </activity-alias>

        <activity android:name="org.chromium.chrome.browser.LauncherShortcutActivity"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:taskAffinity=""
            android:excludeFromRecents="true"
            android:exported="false">
            <property android:name="android.window.PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI"
                android:value="true" />
        </activity>

        <!-- The singleInstancePerTask launch mode is required by Samsung OS to determine
             support for multi-instance in the drag & drop use case. See b/232168063 for
             future reference. -->
        <activity android:name="org.chromium.chrome.browser.dragdrop.DragAndDropLauncherActivity"
            android:theme="@style/LauncherTheme"
            android:taskAffinity=""
            android:excludeFromRecents="true"
            android:launchMode="singleInstancePerTask"
            android:windowNoDisplay="true"
            android:exported="false">
            <property android:name="android.window.PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI"
                android:value="true" />
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.dragdrop.action.VIEW" />
                <category android:name="android.intent.category.BROWSABLE" />
                <data android:scheme="http" />
                <data android:scheme="https" />
            </intent-filter>
        </activity>

        <activity android:name="org.chromium.chrome.browser.incognito.IncognitoTabLauncher"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:taskAffinity=""
            android:enabled="false"
            android:excludeFromRecents="true"
            android:exported="true">
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.incognito.OPEN_PRIVATE_TAB" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name="org.chromium.chrome.browser.AutofillOptionsLauncher"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:excludeFromRecents="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.APPLICATION_PREFERENCES" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.APP_BROWSER" />
                <category android:name="android.intent.category.PREFERENCE" />
            </intent-filter>
        </activity>

        <activity android:name="org.chromium.chrome.browser.app.reengagement.ReengagementActivity"
            android:theme="@style/Theme.BrowserUI.Translucent"
            android:taskAffinity=""
            android:excludeFromRecents="true"
            android:exported="false" />

        <!-- Phishing Protection related -->
        <receiver android:name="org.chromium.chrome.browser.safe_browsing.PasswordProtectionBroadcastReceiver"
        android:exported="true"
        android:permission="com.google.android.gms.permission.INTERNAL_BROADCAST">
            <intent-filter>
                <action android:name="com.android.chrome.safe_browsing.LOGIN" />
            </intent-filter>
        </receiver>

        <!-- Upgrade related -->
        <receiver android:name="org.chromium.chrome.browser.upgrade.PackageReplacedBroadcastReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
            </intent-filter>
        </receiver>

        <!-- Locale related -->
        <receiver android:name="org.chromium.chrome.browser.notifications.channels.LocaleChangedBroadcastReceiver"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.LOCALE_CHANGED" />
            </intent-filter>
        </receiver>

        <!-- Actor related -->
        <receiver android:name="org.chromium.chrome.browser.actor.ActorBroadcastReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.actor.ACTION_PAUSE" />
                <action android:name="org.chromium.chrome.browser.actor.ACTION_RESUME" />
                <action android:name="org.chromium.chrome.browser.actor.ACTION_CANCEL" />
            </intent-filter>
        </receiver>

        <!-- Custom Tabs -->
        <activity android:name="org.chromium.chrome.browser.customtabs.CustomTabActivity"
            android:theme="@style/Theme.Chromium.Activity"
            android:exported="false"
            {{ self.chrome_activity_common() }}
            {{ self.supports_video_persistence() }}
        >
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>
        <activity android:name="org.chromium.chrome.browser.customtabs.TranslucentCustomTabActivity"
                  android:theme="@style/Theme.Chromium.Activity.FakeTranslucent"
                  android:exported="false"
            {{ self.chrome_activity_common() }}
            {{ self.supports_video_persistence() }}
            >
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>
        <!-- ChromeTabbedActivity related -->
        <activity android:name="org.chromium.chrome.browser.ChromeTabbedActivity"
            android:theme="@style/Theme.Chromium.TabbedMode"
            android:exported="true"
            android:launchMode="singleTask"
            {% if is_desktop_android == "true" %}
            android:persistableMode="persistAcrossReboots"
            {% endif %}
            {# We can only use blocks once in Jinja, for future substitutions we use
            self.supports_video_persistence(). #}
            {% block supports_video_persistence %}
            android:supportsPictureInPicture="true"
            android:resizeableActivity="true"
            {% endblock %}
            {% block chrome_activity_common %}
            android:windowSoftInputMode="adjustResize"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode|navigation|density|touchscreen|colorMode"
            android:hardwareAccelerated="false"
            {% endblock %}
        >
            <meta-data
                android:name="android.activity.launch_mode"
                android:value="singleInstancePerTask"/>

            <!--
              Daydream api categorizes an activity to three categories: Cardboard only, hybrid
              or Daydream. It does so by testing if intents can be resolved by the activity
              that requests it.
            -->
            {% block supports_vr %}
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.dummy.action" />
                <category android:name="com.google.intent.category.DAYDREAM" />
                <category android:name="com.google.intent.category.CARDBOARD" />
            </intent-filter>
            {% endblock %}

            {% block extra_web_rendering_activity_definitions %}
            {% endblock %}
            <property android:name="android.window.PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI"
                android:value="true" />
        </activity>
        <activity-alias android:name="com.google.android.apps.chrome.Main"
            android:targetActivity="org.chromium.chrome.browser.ChromeTabbedActivity"
            android:exported="true">
            <property android:name="android.window.PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI"
                android:value="true" />
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.BROWSABLE" />
                <category android:name="android.intent.category.APP_BROWSER" />
                {% if channel in ['dev', 'canary', 'default'] %}
                <category android:name="android.intent.category.MULTIWINDOW_LAUNCHER" />
                {% endif %}
            </intent-filter>
            <meta-data android:name="android.app.shortcuts"
                android:resource="@xml/launchershortcuts" />
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity-alias>
        <activity android:name="org.chromium.chrome.browser.ChromeTabbedActivity2"
            android:theme="@style/Theme.Chromium.TabbedMode"
            android:exported="false"
            android:taskAffinity="{{ manifest_package }}.ChromeTabbedActivity2"
            android:launchMode="singleTask"
            {{ self.chrome_activity_common() }}
            {{ self.supports_video_persistence() }}
        >
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>

        <!--
            TODO(crbug.com/40698801): investigate why
            @android:style/Theme.NoDisplay can't be used here.
        -->
        <activity android:name="org.chromium.chrome.browser.sync.ui.SyncTrustedVaultProxyActivity"
            android:theme="@style/Theme.Material3Expressive.DayNight"
            android:excludeFromRecents="true"
            android:exported="false">
        </activity>
        <activity android:name="org.chromium.chrome.browser.sync.ui.PassphraseActivity"
            android:theme="@style/Theme.Chromium.Activity"
            android:autoRemoveFromRecents="true">
        </activity>
        <activity android:name="org.chromium.chrome.browser.firstrun.LightweightFirstRunActivity"
            android:theme="@style/Theme.BrowserUI.DayNight.AlertDialog.NoActionBar"
            android:launchMode="singleInstance"
            {{ self.first_run_activity_common() }}>
        </activity>
        <activity android:name="org.chromium.chrome.browser.firstrun.FirstRunActivity"
            android:theme="@style/Theme.Chromium.Activity.Fullscreen"
            android:launchMode="singleTop"
            {% block first_run_activity_common %}
            android:label="@string/fre_activity_label"
            android:excludeFromRecents="true"
            android:autoRemoveFromRecents="true"
            android:windowSoftInputMode="stateHidden|adjustPan"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
            {% endblock %}>
        </activity>
        {% set enable_cardboard = enable_cardboard|default(0) %}
        {% if enable_cardboard == "true" %}
        <!-- Based on //third_party/cardboard/src/sdk/qrcode/android/AndroidManifest.xml -->
        <activity
            android:name="com.google.cardboard.sdk.QrCodeCaptureActivity"
            android:exported="false"
            android:label="@string/title_activity_qr_code_capture"
            android:theme="@style/Theme.AppCompat.NoActionBar">
        </activity>
        {% endif %}
        <!--
         The windowSoftInputMode is set to adjustNothing to avoid visual glitch when the
         fullscreen sign-in is started when a keyboard is shown on the screen. See https://crbug.com/414419626
        -->
        <activity android:name="org.chromium.chrome.browser.signin.SigninAndHistorySyncActivity"
            android:theme="@style/Theme.Chromium.SigninAndHistorySyncActivity"
            android:windowSoftInputMode="adjustNothing"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
            android:exported="false">
        </activity>
        <activity android:name="org.chromium.chrome.browser.device_lock.DeviceLockActivity"
            android:theme="@style/Theme.Chromium.DialogWhenLarge"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
            android:exported="false">
        </activity>
        <activity android:name="org.chromium.chrome.browser.settings.SettingsActivity"
            android:theme="@style/Theme.Chromium.Settings"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
            android:label="@string/settings"
            android:exported="false">
        </activity>
        <activity android:name="org.chromium.chrome.browser.site_settings.ManageSpaceActivity"
            android:theme="@style/Theme.Chromium.Settings.ManageSpace"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
            android:label="@string/storage_management_activity_label"
            android:exported="false">
        </activity>
        <activity
            android:name="org.chromium.chrome.browser.chrome_item_picker.ChromeItemPickerActivity"
            android:theme="@style/Theme.Chromium.Activity.FakeTranslucent"
            android:exported="false"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode">
        </activity>

        <!-- Activities for bookmarks. -->
        <activity android:name="org.chromium.chrome.browser.app.bookmarks.BookmarkActivity"
            android:theme="@style/Theme.Chromium.Activity.Fullscreen"
            android:exported="false"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode">
        </activity>
        <activity android:name="org.chromium.chrome.browser.app.bookmarks.BookmarkEditActivity"
            android:theme="@style/Theme.Chromium.DialogWhenLarge"
            android:windowSoftInputMode="stateHidden"
            android:exported="false"
            android:label="@string/edit_bookmark"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode">
        </activity>
        <activity android:name="org.chromium.chrome.browser.app.bookmarks.BookmarkFolderPickerActivity"
            android:theme="@style/Theme.Chromium.DialogWhenLarge"
            android:windowSoftInputMode="stateAlwaysHidden"
            android:label="@string/bookmark_choose_folder"
            android:exported="false"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode">
        </activity>

        <!-- Activities for downloads. -->
        <activity-alias android:name="org.chromium.chrome.browser.download.DownloadActivity"
            android:targetActivity="org.chromium.chrome.browser.app.download.home.DownloadActivity"
            android:exported="false">
        </activity-alias>
        <activity android:name="org.chromium.chrome.browser.app.download.home.DownloadActivity"
            android:theme="@style/Theme.Chromium.Activity.Fullscreen"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize"
            android:exported="false"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode">
        </activity>


        <!-- Activities for history. -->
        <activity android:name="org.chromium.chrome.browser.history.HistoryActivity"
            android:theme="@style/Theme.Chromium.Activity.Fullscreen"
            android:windowSoftInputMode="stateAlwaysHidden|adjustResize"
            android:exported="false"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode">
        </activity>

        <!--
            Activities for webapps.
            TODO(dfalcantara): Remove the aliases for the WebappActivities once we're pretty sure
                               that users don't have any instances of the original Activity still
                               running.
        -->
        <activity android:name="org.chromium.chrome.browser.webapps.WebappLauncherActivity"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:taskAffinity=""
            android:excludeFromRecents="true"
            android:exported="true">
            <intent-filter>
                <action android:name="com.google.android.apps.chrome.webapps.WebappManager.ACTION_START_WEBAPP" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="org.webapk.ACTION_START_WEBAPK" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <!-- Non-exported alias that only Chrome can launch to verify shortcut intent comes from
             Chrome (ShortcutManager on O+ launches under the shortcut creator's uid). -->
        <activity-alias android:name="org.chromium.chrome.browser.webapps.SecureWebAppLauncher"
            android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity"
            android:exported="false">
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.webapps.WebappManager.ACTION_START_SECURE_WEBAPP" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity-alias>
        <activity-alias android:name="com.google.android.apps.chrome.webapps.WebappManager"
            android:targetActivity="org.chromium.chrome.browser.webapps.WebappLauncherActivity">
        </activity-alias>
        <activity android:name="org.chromium.chrome.browser.webapps.WebappActivity"
            android:theme="@style/Theme.Chromium.Webapp"
            android:label="@string/webapp_activity_title"
            android:launchMode="singleTop"
            android:documentLaunchMode="intoExisting"
            android:exported="false"
            android:persistableMode="persistNever"
            {{ self.supports_video_persistence() }}
            {{ self.chrome_activity_common() }}
        >
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>
        <activity-alias android:name="com.google.android.apps.chrome.webapps.WebappActivity"
            android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity"
            android:label="@string/webapp_activity_title">
        </activity-alias>
        <!-- Activities for WebAPKs. -->
        <activity android:name="org.chromium.chrome.browser.webapps.SameTaskWebApkActivity"
            android:theme="@style/Theme.Chromium.Webapp.Translucent"
            android:label="@string/webapp_activity_title"
            android:exported="false"
            android:persistableMode="persistNever"
            {{ self.supports_video_persistence() }}
            {{ self.chrome_activity_common() }}
        >
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>

        <activity android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:exported="true">
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity.ACTIVATE" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

        <activity android:name="org.chromium.components.media_router.caf.remoting.CafExpandedControllerActivity"
            android:theme="@style/Theme.Chromium.Activity"
            android:label="Chrome.CafExpandedControllerActivity"
            android:hardwareAccelerated="true"
            android:launchMode="singleTask"
            android:noHistory="true"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
            android:excludeFromRecents="true">
        </activity>

        <!-- This activity is used to restart the main Chrome process.  Should never be exported. -->
        <activity android:name="org.chromium.chrome.browser.BrowserRestartActivity"
            android:launchMode="singleInstance"
            android:exported="false"
            android:theme="@style/Theme.BrowserUI.Translucent.NoTitleBar"
            android:excludeFromRecents="true"
            android:process=":browser_restart_process">
        </activity>

        <!-- This activity is used to show an error dialog when Chrome fails to load the native
             library. It must be in a separate process as when the native library fails to load an
             exception is thrown and may crash the main process immediately. Being in a separate
             process allows the dialog to remain visible to the user. -->
        <activity android:name="org.chromium.chrome.browser.init.LaunchFailedActivity"
            android:launchMode="singleInstance"
            android:exported="false"
            android:theme="@style/Theme.BrowserUI.Translucent.NoTitleBar"
            android:excludeFromRecents="true"
            android:process=":launch_failed">
        </activity>

        <!-- Components for Trusted Web Activities -->
        <receiver android:name="org.chromium.chrome.browser.browserservices.InstalledWebappBroadcastReceiver"
            android:exported="true">
            <intent-filter>
                <data android:scheme="package" />
                <action android:name="android.intent.action.PACKAGE_FULLY_REMOVED" />
                <action android:name="android.intent.action.PACKAGE_DATA_CLEARED" />
            </intent-filter>
            {% if channel in ['default'] %}
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.browserservices.InstalledWebappBroadcastReceiver.DEBUG" />
            </intent-filter>
            {% endif %}
        </receiver>

        <activity android:name="org.chromium.chrome.browser.browserservices.ClearDataDialogActivity"
            android:theme="@style/Theme.Chromium.ClearDataDialogActivity"
            android:exported="false"/>

        <activity
            android:name="org.chromium.chrome.browser.browserservices.ManageTrustedWebActivityDataActivity"
            android:theme="@style/Theme.Chromium.Activity.Fullscreen.Transparent"
            android:exported="true">
            <intent-filter>
                <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <!-- Legacy filter. We no longer need data, but must accept intents that provide data. -->
            <intent-filter>
                <action android:name="android.support.customtabs.action.ACTION_MANAGE_TRUSTED_WEB_ACTIVITY_DATA" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:scheme="https"/>
            </intent-filter>
        </activity>

        <receiver
            android:name="org.chromium.chrome.browser.browserservices.ui.trustedwebactivity.DisclosureAcceptanceBroadcastReceiver"
            android:exported="false" />

        <receiver
            android:name="org.chromium.chrome.browser.webapps.WebApkInstallBroadcastReceiver"
            android:exported="false" />

        <!-- Service for decoding images in a sandboxed process. -->
        <service
            android:description="@string/decoder_description"
            android:name="org.chromium.chrome.browser.photo_picker.DecoderService"
            android:exported="false"
            android:isolatedProcess="true"
            android:process=":decoder_service" />

        <!-- Actor foreground service -->
        <service android:name="org.chromium.chrome.browser.actor.ActorForegroundService"
           android:foregroundServiceType="dataSync" android:exported="false">
        </service>

        <!-- Download foreground service -->
        <service android:name="org.chromium.chrome.browser.download.DownloadForegroundService"
           android:foregroundServiceType="dataSync" android:exported="false">
        </service>

        <!-- Download broadcast manager service -->
        <service android:name="org.chromium.chrome.browser.download.DownloadBroadcastManager"
            android:exported="false">
        </service>

        <!-- Quick Action Search widget -->
        <receiver
            android:name="org.chromium.chrome.browser.quickactionsearchwidget.QuickActionSearchWidgetProvider$QuickActionSearchWidgetProviderSearch"
            android:label="@string/quick_action_search_widget_title"
            android:exported="true">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.LOCALE_CHANGED" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/quick_action_search_widget_small_info" />
        </receiver>

        <receiver
        android:name="org.chromium.chrome.browser.quickactionsearchwidget.QuickActionSearchWidgetProvider$QuickActionSearchWidgetProviderDino"
        android:label="@string/dino_widget_text"
            android:exported="true">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.LOCALE_CHANGED" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/quick_action_search_widget_dino_info" />
        </receiver>

        <!-- Bookmarks widget -->
        <receiver android:name="com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider"
            android:label="@string/bookmark_widget_title"
            android:exported="true">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
                <action android:name=".BOOKMARK_APPWIDGET_UPDATE" />
            </intent-filter>
            <meta-data
                android:name="android.appwidget.provider"
                android:resource="@xml/bookmark_widget_info" />
        </receiver>
        <service android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetService"
            android:permission="android.permission.BIND_REMOTEVIEWS"
            android:exported="false" />
        <activity
            android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProxy"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:noHistory="true"
            android:excludeFromRecents="true"
            android:taskAffinity=""
            android:exported="false" />

        <!-- Search widget -->
        <receiver
                android:name="org.chromium.chrome.browser.searchwidget.SearchWidgetProvider"
                android:label="@string/search_widget_title"
                android:exported="true">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.LOCALE_CHANGED" />
            </intent-filter>
            <meta-data
                    android:name="android.appwidget.provider"
                    android:resource="@xml/search_widget_info" />
        </receiver>

        <!-- Search Activity -->
        <activity android:name="org.chromium.chrome.browser.searchwidget.SearchActivity"
            android:theme="@style/Theme.Chromium.SearchActivity"
            android:label="Search"
            android:exported="true"
            android:launchMode="singleTask"
            android:taskAffinity=""
            android:clearTaskOnLaunch="true"
            android:excludeFromRecents="true"
            android:windowSoftInputMode="adjustResize"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode"
            android:hardwareAccelerated="false">
            <intent-filter>
                <action android:name="android.intent.action.WEB_SEARCH" />
                <!-- Permits Chrome to act as a default handler for WEB_SEARCH intents. -->
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
      </activity>

        <!-- GcmListenerService for messages from GCM. -->
        <service android:name="org.chromium.chrome.browser.services.gcm.ChromeGcmListenerService"
            android:exported="false" >
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service>
        <service android:name="org.chromium.chrome.browser.services.gcm.GCMBackgroundService"
            android:exported="false"/>
        <service android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender"
            android:exported="false"/>

        <!-- Android Notification service listener -->
        <service android:name="org.chromium.chrome.browser.notifications.NotificationService"
            android:exported="false"/>
        <receiver android:name="org.chromium.chrome.browser.notifications.NotificationService$Receiver"
            android:exported="false"/>
        <receiver android:name="org.chromium.chrome.browser.notifications.NotificationServiceImpl$Receiver"
            android:exported="false">
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.notifications.ALWAYS_ALLOW" />
                <action android:name="org.chromium.chrome.browser.notifications.CLICK_NOTIFICATION" />
                <action android:name="org.chromium.chrome.browser.notifications.CLOSE_NOTIFICATION" />
                <action android:name="org.chromium.chrome.browser.notifications.COMMIT_UNSUBSCRIBE" />
                <action android:name="org.chromium.chrome.browser.notifications.PRE_UNSUBSCRIBE" />
                <action android:name="org.chromium.chrome.browser.notifications.SHOW_ORIGINAL_NOTIFICATION" />
                <action android:name="org.chromium.chrome.browser.notifications.UNDO_UNSUBSCRIBE" />
                <action android:name="org.chromium.chrome.browser.notifications.REPORT_AS_SAFE" />
                <action android:name="org.chromium.chrome.browser.notifications.REPORT_WARNED_NOTIFICATION_AS_SPAM" />
                <action android:name="org.chromium.chrome.browser.notifications.REPORT_UNWARNED_NOTIFICATION_AS_SPAM" />
            </intent-filter>
        </receiver>

        <!-- Android Notification permission metrics -->
        <receiver android:name="org.chromium.chrome.browser.notifications.permissions.NotificationPermissionChangeReceiver"
                  android:exported="false">
          <intent-filter>
            <action android:name="android.app.action.APP_BLOCK_STATE_CHANGED"/>
            <action android:name="android.app.action.NOTIFICATION_CHANNEL_BLOCK_STATE_CHANGED" />
          </intent-filter>
        </receiver>

        <!-- Android Notification job service -->
        <service android:name="org.chromium.chrome.browser.notifications.NotificationJobService"
            android:exported="false"
            android:permission="android.permission.BIND_JOB_SERVICE"/>

        <service android:name="org.chromium.chrome.browser.customtabs.CustomTabsConnectionService"
            android:exported="true"
            tools:ignore="ExportedService">
            <intent-filter>
              <action android:name="android.support.customtabs.action.CustomTabsService" />
              <category android:name="androidx.browser.auth.category.AuthTab"/>
              <category android:name="androidx.browser.customtabs.category.ColorSchemeCustomization"/>
              <category android:name="androidx.browser.customtabs.category.EphemeralBrowsing"/>
              <category android:name="androidx.browser.customtabs.category.NavBarColorCustomization"/>
              <category android:name="androidx.browser.customtabs.category.SetNetwork"/>
              <category android:name="androidx.browser.trusted.category.ImmersiveMode"/>
              <category android:name="androidx.browser.trusted.category.LaunchSiteSettings" />
              <category android:name="androidx.browser.trusted.category.LaunchWebApkSiteSettings"/>
              <category android:name="androidx.browser.trusted.category.TrustedWebActivities"/>
              <category android:name="androidx.browser.trusted.category.TrustedWebActivitySplashScreensV1"/>
              <category android:name="androidx.browser.trusted.category.WebShareTargetV2"/>
            </intent-filter>
        </service>
        <service android:name="androidx.browser.customtabs.PostMessageService" />

        <!-- Crash reporting services. -->
        <service android:name="org.chromium.chrome.browser.crash.ChromeMinidumpUploadJobService"
                 android:permission="android.permission.BIND_JOB_SERVICE"
                 android:exported="false"/>
        <service android:name="org.chromium.chrome.browser.crash.MinidumpUploadService"
            android:exported="false"/>

        <service android:name="org.chromium.chrome.browser.incognito.IncognitoNotificationService"
            android:exported="false"/>

        <!-- Service used by payment apps to notify the browser about changes in user selected
             payment method, shipping address, or shipping option. -->
        <service
            android:name="org.chromium.components.payments.PaymentDetailsUpdateService"
            android:exported="true"
            tools:ignore="ExportedService">
            <intent-filter>
              <action android:name="org.chromium.intent.action.UPDATE_PAYMENT_DETAILS" />
            </intent-filter>
        </service>

        <receiver android:name="org.chromium.chrome.browser.data_sharing.DataSharingNotificationManager$Receiver"
            android:exported="false" />

        <receiver android:name="org.chromium.chrome.browser.announcement.AnnouncementNotificationManager$Receiver"
            android:exported="false"/>

        <service android:name="org.chromium.chrome.browser.notifications.NotificationIntentInterceptorService"
            android:exported="false"/>

        <receiver android:name="org.chromium.chrome.browser.notifications.NotificationIntentInterceptor$Receiver"
            android:exported="false"/>

        <activity
            android:name="org.chromium.chrome.browser.notifications.NotificationIntentInterceptor$TrampolineActivity"
            android:taskAffinity=""
            android:theme="@style/Theme.BrowserUI.Translucent.NoTitleBar"
            android:exported="false"
            android:autoRemoveFromRecents="true"
            android:excludeFromRecents="true"
            android:noHistory="true"/>

        <activity
            android:name="org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerImpl$TrampolineActivity"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:exported="false"
            android:autoRemoveFromRecents="true"
            android:excludeFromRecents="true"
            android:noHistory="true"/>

        <activity
            android:name="org.chromium.chrome.browser.price_tracking.PriceDropNotificationManagerImpl$DismissNotificationChromeActivity"
            android:theme="@style/Theme.BrowserUI.NoDisplay"
            android:exported="false"
            android:autoRemoveFromRecents="true"
            android:excludeFromRecents="true"
            android:noHistory="true"/>

        <!-- Activities for task manager. -->
        <activity
            android:name="org.chromium.chrome.browser.task_manager.ui.TaskManagerActivity"
            android:exported="false"
            android:theme="@style/Theme.Chromium.Activity"
            android:launchMode="singleInstance">
        </activity>

        <receiver android:name="org.chromium.chrome.browser.notifications.scheduler.DisplayAgent$Receiver"
            android:exported="false"/>

        <receiver android:name="org.chromium.chrome.browser.app.send_tab_to_self.SendTabToSelfNotificationReceiver"
            android:exported="false"/>

        <receiver android:name="org.chromium.chrome.browser.customtabs.CustomTabsShareBroadcastReceiver"
            android:exported="false"/>

        <receiver android:name="org.chromium.chrome.browser.sharing.click_to_call.ClickToCallMessageHandler$TapReceiver"
            android:exported="false"/>
        <receiver android:name="org.chromium.chrome.browser.sharing.sms_fetcher.SmsFetcherMessageHandler$NotificationReceiver"
            android:exported="false"/>

        <receiver android:name="org.chromium.chrome.browser.offlinepages.AutoFetchNotifier$CompleteNotificationReceiver"
            android:exported="false"/>
        <receiver android:name="org.chromium.chrome.browser.offlinepages.AutoFetchNotifier$InProgressCancelReceiver"
            android:exported="false"/>

        <service android:name="org.chromium.chrome.browser.media.MediaCaptureNotificationService"
            {% if enable_screen_capture == "true" %}
            android:foregroundServiceType="camera|microphone|mediaProjection|mediaPlayback"
            {% else %}
            android:foregroundServiceType="camera|microphone"
            {% endif %}
            android:exported="false"/>
        <service android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerServices$PlaybackListenerService"
            android:foregroundServiceType="mediaPlayback" android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </service>
        <service android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerServices$PresentationListenerService"
            android:foregroundServiceType="mediaPlayback" android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </service>
        <service android:name="org.chromium.chrome.browser.media.ui.ChromeMediaNotificationControllerServices$CastListenerService"
            android:foregroundServiceType="mediaPlayback" android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </service>

        <service android:name="org.chromium.chrome.browser.tracing.TracingNotificationService"
            android:exported="false"/>

        <service android:name="org.chromium.chrome.browser.app.bluetooth.BluetoothNotificationService"
            android:exported="false"/>

        <service android:name="org.chromium.chrome.browser.app.serial.SerialNotificationService"
            android:exported="false"/>

        <service android:name="org.chromium.chrome.browser.app.usb.UsbNotificationService"
            android:exported="false"/>

        <service android:name="org.chromium.chrome.browser.data_import.DataImporterService"
            android:exported="true" tools:ignore="ExportedService">
          <intent-filter>
            <action android:name="io.grpc.action.BIND" />
            <data android:host=""
                android:path="/com.google.osmigration.systemappapi.TargetService"
                android:scheme="grpc" />
          </intent-filter>
        </service>

        <meta-data android:name="org.chromium.content.browser.SMART_CLIP_PROVIDER"
            android:value="org.chromium.content_public.browser.SmartClipProvider"/>

        <!-- This activity is Android P- only which is not supported by Chrome now. -->
        <activity
            android:name="androidx.biometric.internal.ui.FingerprintDialogActivity"
            tools:node="remove">
        </activity>

        <!-- Disabled via CastOptionsProvider. -->
        <service
            android:name="com.google.android.gms.cast.framework.ReconnectionService"
            tools:node="remove" />

        <property android:name="android.adservices.AD_SERVICES_CONFIG"
            android:resource="@xml/ad_services_config" />

        {% set enable_openxr = enable_openxr|default(0) %}
        {% if enable_openxr == "true" %}
          <!-- launchMode is set to singleTask because there should never be multiple copies of the app running. -->
          <!-- Theme.Black.NoTitleBar.Fullscreen gives solid black instead of a (bad stereoscopic) gradient on app transition. -->
          <activity
            android:name="org.chromium.components.webxr.XrHostActivity"
            {{ self.chrome_activity_common() }}
            android:excludeFromRecents="true"
            android:noHistory="true"
            android:launchMode="singleInstancePerTask"
            android:exported="false"
            android:resizeableActivity="false"
            android:screenOrientation="landscape"
            android:label="WebXR"
            android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
            tools:ignore="NonResizeableActivity,DiscouragedApi">
            <property android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
                android:value="XR_ACTIVITY_START_MODE_HOME_SPACE" />
            <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="org.khronos.openxr.intent.category.IMMERSIVE_HMD" />
            </intent-filter>
          </activity>
        {% endif %}

        {% block extra_application_definitions %}
        {% endblock %}
      {% endmacro %}
      {% if not definitions_in_split %}
      {{ application_definitions() }}
      {% endif %}

      <!-- The following service entries exist in order to allow us to
           start more than one sandboxed process. -->

      <!-- NOTE: If you change the value of "android:process" for the below services,
           you also need to update kHelperProcessExecutableName in chrome_constants.cc. -->
      <!-- NOTE: num_sandboxed_services is simply the number of name slots available,
           and not a limit on the number of sandboxed processes that can be created.
           In practice, many fewer slots are used, and process names are often reused,
           such as many processes named with the suffix ":sandboxed_process0". -->
      {% set num_sandboxed_services = 40 %}
      <meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES"
          android:value="{{ num_sandboxed_services }}"/>

      {% for i in range(num_sandboxed_services) %}
      <service android:name="org.chromium.content.app.SandboxedProcessService{{ i }}"
          android:process=":sandboxed_process{{ i }}"
          android:permission="{{ manifest_package }}.permission.CHILD_SERVICE"
          android:isolatedProcess="true"
          android:exported="{{sandboxed_service_exported|default(false)}}"
          {% if (i == 0) %}
          android:useAppZygote="true"
          {% endif %}
          {% if (sandboxed_service_exported|default(false)) == 'true' %}
          android:externalService="true"
          tools:ignore="ExportedService"
          android:visibleToInstantApps="true"
          {% endif %} />
      {% endfor %}
      {% if javaless_renderers is defined %}
      <!-- Restricting to just 2 native-only services, one for zygote and one for non-zygote. -->
      {% for i in range(2) %}
      <service android:name="org.chromium.content.app.NativeOnlySandboxedProcessService{{ i }}"
          android:nativeService="true"
          android:process=":sandboxed_process{{ i }}"
          android:permission="{{ manifest_package }}.permission.CHILD_SERVICE"
          android:isolatedProcess="true"
          android:useAppZygote="true"
          android:exported="{{sandboxed_service_exported|default(false)}}"
          {% if (sandboxed_service_exported|default(false)) == 'true' %}
          android:externalService="true"
          tools:ignore="ExportedService"
          android:visibleToInstantApps="true"
          {% endif %} >
          <property android:name="android.app.PROPERTY_NATIVE_SERVICE_LIBRARY_NAME"
              android:value="lib{{ library_name }}.so" />
          <property android:name="android.app.PROPERTY_NATIVE_SERVICE_FUNCTION_NAME"
              android:value="NativeChildProcessService_onCreate" />
      </service>
      {% endfor %}
      {% endif %}

      {% set num_privileged_services = 10 %}
      <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES"
          android:value="{{ num_privileged_services }}"/>

      {% for i in range(num_privileged_services) %}
      {% set privileged_process_name = ':privileged_process%d' % i %}
      <service android:name="org.chromium.content.app.PrivilegedProcessService{{ i }}"
          android:process="{{ privileged_process_name }}"
          android:permission="{{ manifest_package }}.permission.CHILD_SERVICE"
          android:isolatedProcess="false"
          android:exported="false" />

      {% endfor %}

      <meta-data android:name="android.allow_multiple_resumed_activities" android:value="true" />

      <!-- Samsung MultiWindow Support -->
      <meta-data android:name="com.samsung.android.sdk.multiwindow.enable"
          android:value="true" />

      <meta-data android:name="com.samsung.android.sdk.multiwindow.penwindow.enable"
          android:value="true"/>

      {% if backup_key is defined %}
      <!-- Backup keys are channel dependent -->
      <meta-data android:name="com.google.android.backup.api_key"
          android:value="{{ backup_key }}" />
      {% endif %}

      {% if channel in ['dev', 'canary', 'default'] %}
      <meta-data android:name="com.sec.android.support.multiwindow" android:value="true" />
      {% endif %}
      <meta-data android:name="android.content.APP_RESTRICTIONS"
          android:resource="@xml/app_restrictions"/>

      {% if enable_arcore == 'true' %}
      <!-- This tag indicates that this application optionally uses ARCore. -->
      <meta-data android:name="com.google.ar.core" android:value="optional" />
      <meta-data
          android:name="com.google.ar.core.load_32bit_so_from_split_module"
          android:value="optional" />

      <!-- ARCore APK integration -->
      {% block base_application_extra_arcore_definitions %}
      <meta-data android:name="com.google.ar.core.session_settings"
          android:value="allow_front_facing_motion_tracking_6dof," />
      {% endblock base_application_extra_arcore_definitions %}

      {% endif %}

      {% if enable_vr == "true" %}
      <!-- TODO(https://crbug.com/393557658): Investigate removing this. -->
      <uses-native-library android:name="libopenxr.google.so" android:required="false" />
      {% endif %}

      <!-- Cast support -->
      <meta-data
          android:name=
          "com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
          android:value="org.chromium.components.media_router.caf.CastOptionsProvider"/>

      <!-- These providers are declared in the base module to give the chrome
           split preloader more time to work. -->
      <provider android:name="org.chromium.chrome.browser.util.ChromeFileProvider"
          android:authorities="{{ manifest_package }}.FileProvider"
          android:exported="false"
          android:grantUriPermissions="true">
          <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
              android:resource="@xml/file_paths" />
      </provider>

      <provider android:name="org.chromium.chrome.browser.download.DownloadFileProvider"
          android:authorities="{{ manifest_package }}.DownloadFileProvider"
          android:exported="false"
          android:grantUriPermissions="true">
          <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
              android:resource="@xml/file_paths" />
      </provider>

      <!-- Provider for image data from Drag and Drop. -->
      <provider android:name="org.chromium.ui.dragdrop.DropDataContentProvider"
          android:authorities="{{ manifest_package }}.DropDataProvider"
          android:exported="false"
          android:grantUriPermissions="true">
      </provider>

       <!-- Provider for incognito pdf page. -->
      <provider android:name="org.chromium.chrome.browser.pdf.PdfContentProvider"
          android:authorities="{{ manifest_package }}.PdfContentProvider"
          android:exported="false"
          android:grantUriPermissions="true">
      </provider>

      <!-- Disables at startup init of Emoji2. See http://crbug.com/40764422 -->
      <provider
          android:name="androidx.startup.InitializationProvider"
          tools:node="remove">
      </provider>

      <!-- We call FirebaseApp.initializeApp() explicitly rather than relying on this hook for better control over when it happens. -->
      <provider
          android:name="com.google.firebase.provider.FirebaseInitProvider"
          tools:node="remove">
      </provider>

      <!-- The Play Core library added support for Play Asset Delivery (PAD), which is primarily
           used by game apps to allow dynamic delivery of resource bundles. Since chrome does not
           currently use this feature, remove these services to reclaim 70kb+ of binary size. -->
      <service
          android:name="com.google.android.play.core.assetpacks.AssetPackExtractionService"
          tools:node="remove"/>
      <service
          android:name="com.google.android.play.core.assetpacks.ExtractionForegroundService"
          tools:node="remove"/>

      <!-- Provider for chrome data. -->
      <provider android:name="org.chromium.chrome.browser.provider.ChromeBrowserProvider"
          android:authorities="{{ manifest_package }}.ChromeBrowserProvider;{{ manifest_package }}.browser;{{ manifest_package }}"
          android:exported="true">
          <path-permission android:path="/bookmarks/search_suggest_query"
                  android:readPermission="android.permission.GLOBAL_SEARCH" />
      </provider>

      <provider
            android:name="org.chromium.chrome.browser.provider.PageContentProvider"
            android:authorities="{{ manifest_package }}.PageContentProvider"
            android:exported="false"
            android:grantUriPermissions="true">
      </provider>

      <!-- Provider for querying the Autofill third party mode state. -->
      <provider android:name="org.chromium.chrome.browser.autofill.AutofillThirdPartyModeContentProvider"
          android:authorities="{{ manifest_package }}.AutofillThirdPartyModeContentProvider"
          android:exported="true"
          tools:ignore="ExportedContentProvider">
      </provider>

      {% block base_application_definitions %}
      {% endblock %}
      {% block extra_application_definitions_for_test %}
      {% endblock %}
    </application>
    {% block extra_root_definitions %}
    {% endblock %}
</manifest>
