<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2015 The Chromium Authors. All rights reserved.
     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 }}"
    tools:ignore="MissingVersion">
    <!-- android:versionCode and android:versionName is set through gyp. See build/common.gypi -->

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

    <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" />

    <!--
      Enable runtime permissions as uses-permission in tip of tree builds
      only for ease of development on Android L and earlier. For consumer
      channels use "runtime permission" uses-permission-sdk-23 which provides
      permission on Android M and later without a prompt.
    -->
    {% if channel in ['default'] %}
        <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
    {% endif %}
    <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH"/>
    <uses-permission-sdk-23 android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission-sdk-23 android:name="android.permission.READ_CONTACTS"/>
    <uses-permission-sdk-23 android:name="android.permission.REORDER_TASKS"/>
    <!-- notouch build doesn't support downloads home and shouldn't need this permission -->
    {% set notouch_build = notouch_build|default(0) %}
    {% if notouch_build == "false" %}
        <uses-permission-sdk-23 android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
    {% endif %}

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
    {% if target_sdk_version|int > 27 or target_sdk_version == "Q" %}
        <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    {% endif %}
    <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.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_SYNC_SETTINGS"/>
    <uses-permission android:name="android.permission.READ_SYNC_STATS"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.USE_CREDENTIALS"/>
    <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"/>
    <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS"/>
    {% 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"/>
    {% 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:permissionGroup="android.permission-group.DEVELOPMENT_TOOLS"
                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.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
    <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
    <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" />

    {% block extra_uses_permissions %}
    {% endblock %}

    <!-- We may use GPS but it's not required -->
    <uses-feature android:name="android.hardware.location.gps" android:required="false" />
    <uses-feature android:name="android.hardware.camera" android:required="false" />

    <!--
      android.permission.RECORD_AUDIO makes this implied, however we don't
      require a microphone.
    -->
    <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 %}

    <!-- 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.ChromeApplication{% endblock %}"
        android:icon="@drawable/ic_launcher"
        android:roundIcon="@drawable/ic_launcher_round"
        android:label="{% block application_label %}@string/app_name{% endblock %}"
        android:largeHeap="false"
        android:manageSpaceActivity="@string/manage_space_activity"
        android:supportsRtl="true"
        {% if (use_zygote|default(false) == 'true') %}
        android:zygotePreloadName="org.chromium.content.app.ZygotePreload"
        {% endif %}
        {% if backup_key is defined %}
        android:allowBackup="true"
        android:backupAgent="org.chromium.chrome.browser.ChromeBackupAgent"
        android:fullBackupOnly="false"
        android:restoreAnyVersion="true"
        {% else %}
        android:allowBackup="false"
        {% endif %}
        android:networkSecurityConfig="@xml/network_security_config"
        {% block extra_application_attributes %}{% endblock %}>

       <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" />

        {% if min_sdk_version|int < 24 %}
        <meta-data android:name="com.samsung.android.sdk.multiwindow.multiinstance.enable"
            android:value="true" />
        <meta-data android:name="com.samsung.android.sdk.multiwindow.multiinstance.launchmode"
            android:value="singleTask" />
        {% endif %}

        <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 include_arcore_manifest_flag == 'true' %}
        <!-- ARCore APK integration -->
        <!-- This tag indicates that this application optionally uses ARCore. -->
        <meta-data android:name="com.google.ar.core" android:value="optional" />
        <!-- This value must match value present in ARCore SDK's .aar -->
        <!-- TODO(https://crbug.com/917406): modify build scripts to
             automatically pull this value in - the problem exists because in
             bundle mode, the ARCore SDK is packaged into AR module and
             the module installation will not automatically bring in DFM's
             manifest entries. -->
        <meta-data android:name="com.google.ar.core.min_apk_version"
            android:value="190310000"/>
        <activity
            android:name="com.google.ar.core.InstallActivity"
            android:configChanges="keyboardHidden|orientation|screenSize"
            android:excludeFromRecents="true"
            android:exported="false"
            android:launchMode="singleTop"
            android:theme="@android:style/Theme.Material.Light.Dialog.Alert" />
        {% endif %}

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

        <!-- 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">
            <!-- TODO(mthiesse, b/72214458): This is a duplication of the icon metadata below.
                 Daydream will actually ignore the metadata here, and use the metadata on the
                 activity-alias. However, play store apk validation fails to find the icons on the
                 alias, so we need to include them here to pass validation. -->
            {% if enable_vr == "true" %}
            <meta-data android:name="com.google.android.vr.icon"
                android:resource="@drawable/daydream_icon_foreground" />
            <meta-data android:name="com.google.android.vr.icon_background"
                android:resource="@drawable/daydream_icon_background" />
            {% endif %}
            {{ self.supports_vr() }}
        </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" />
                {% if enable_vr == "true" %}
                <category android:name="com.google.intent.category.DAYDREAM" />
                {% endif %}
            </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" />
                <category android:name="android.intent.category.BROWSABLE" />
                {% if enable_vr == "true" %}
                <category android:name="com.google.intent.category.DAYDREAM" />
                {% endif %}
                {% if channel in ['stable', 'default'] %}<data android:scheme="googlechrome" />{% endif %}
                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:scheme="about" />
                <data android:scheme="javascript" />
                {% 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: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" />
                <data android:scheme="file"/>
                <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" />
                {% if enable_vr == "true" %}
                <category android:name="com.google.intent.category.DAYDREAM" />
                {% endif %}
                <data android:scheme="file"/>
                <data android:scheme="content"/>
                <data android:host="*" />
                <data android:pathPattern="/.*\\.mhtml"/>
                <data android:pathPattern="/.*\\.mht"/>
                {% 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>
            <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" />
            {% if enable_vr == "true" %}
            <meta-data android:name="com.google.android.vr.icon"
                android:resource="@drawable/daydream_icon_foreground" />
            <meta-data android:name="com.google.android.vr.icon_background"
                android:resource="@drawable/daydream_icon_background" />
            {% endif %}
        </activity-alias>

        <activity android:name="org.chromium.chrome.browser.media.MediaLauncherActivity"
            android:theme="@android:style/Theme.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(https://crbug.com/800875): Limit these to supported MIME types. -->
                <data android:mimeType="image/*" />
                <data android:mimeType="video/*" />
                <data android:scheme="file" />
                <data android:scheme="content" />
            </intent-filter>
        </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:theme="@android:style/Theme.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(https://crbug.com/800875): Limit these to supported MIME types. -->
                <data android:mimeType="audio/*" />
                <data android:scheme="file" />
                <data android:scheme="content" />
            </intent-filter>
        </activity-alias>

        {% if notouch_build == "true" %}
        <activity-alias android:name="com.google.android.apps.chrome.DinoActivity"
            android:targetActivity="org.chromium.chrome.browser.touchless.DinoActivity"
            android:exported="true">
            <intent-filter android:priority="-1">
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity-alias>

        <activity android:name="org.chromium.chrome.browser.touchless.DinoActivity"
          android:theme="@style/Theme.Chromium.Activity"
            android:icon="@mipmap/dino"
            android:label="@string/dino_game_title"
            android:exported="false"
            android:persistableMode="persistNever"
            android:launchMode="singleTask"
            android:taskAffinity=""
            android:noHistory="true"
            {{ self.chrome_activity_common() }}>
          </activity>
        {% endif %}

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

        <activity android:name="org.chromium.chrome.browser.incognito.IncognitoTabLauncher"
            android:theme="@android:style/Theme.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>

        <!-- 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.locale.LocaleChangedBroadcastReceiver"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.LOCALE_CHANGED" />
            </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>
        <activity android:name="org.chromium.chrome.browser.customtabs.PaymentHandlerActivity"
            android:theme="@style/Theme.Chromium.Activity.Translucent"
            android:exported="false"
            {{ self.chrome_activity_common() }}
            {{ self.supports_video_persistence() }}
        >
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>
        <!-- SeparateTaskCustomTabActivity is a wrapper of CustomTabActivity. It provides the
             general feeling of supporting multi tasks, even for versions that did not fully support
             it.
             TODO(arthursonzogni, tedchoc): Enabled this only on Android < 21 after M74.
        -->
        <activity android:name="org.chromium.chrome.browser.customtabs.SeparateTaskCustomTabActivity"
            android:theme="@style/Theme.Chromium.Activity"
            android:exported="false"
            android:taskAffinity=""
            android:persistableMode="persistNever"
            android:autoRemoveFromRecents="false"
            {{ self.chrome_activity_common() }}
            {{ self.supports_video_persistence() }}
        >
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>
        {% if min_sdk_version|int < 21 %}
          {% for i in range(10) %}
            <activity android:name="org.chromium.chrome.browser.customtabs.SeparateTaskCustomTabActivity{{ i }}"
                android:theme="@style/Theme.Chromium.Activity"
                android:icon="@mipmap/app_single_page_icon"
                android:exported="false"
                android:launchMode="singleTask"
                android:persistableMode="persistNever"
                android:taskAffinity=""
                {{ self.chrome_activity_common() }}
                {{ self.supports_video_persistence() }}
            >
                {{ self.supports_vr() }}
                {{ self.extra_web_rendering_activity_definitions() }}
            </activity>
          {% endfor %}
        {% endif %}

        <activity android:name="org.chromium.chrome.browser.incognito.IncognitoDisclosureActivity"
          android:theme="@style/Theme.Chromium.Activity.Fullscreen.Transparent"
          android:exported="false">
        </activity>

        <!-- ChromeTabbedActivity related -->
        <activity android:name="org.chromium.chrome.browser.ChromeTabbedActivity"
            android:theme="@style/Theme.Chromium.TabbedMode"
            {% if notouch_build == "true" %}
            android:exported="false"
            {% else %}
            android:exported="true"
            {% endif %}
            android:launchMode="singleTask"
            {# 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|density"
            android:hardwareAccelerated="false"
            {% endblock %}
        >
            <!--
              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 %}
        </activity>
        <!-- TODO(crbug.com/780674): retarget .Main back to CTA for non-modern APK -->
        <activity-alias android:name="com.google.android.apps.chrome.Main"
            {% if notouch_build == "true" %}
            android:targetActivity="org.chromium.chrome.browser.touchless.NoTouchActivity"
            {% elif min_sdk_version|int < 21 %}
            android:targetActivity="org.chromium.chrome.browser.document.ChromeLauncherActivity"
            {% else %}
            android:targetActivity="org.chromium.chrome.browser.ChromeTabbedActivity"
            {% endif %}
            android:exported="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() }}
            {% if min_sdk_version|int >= 21 %}
            {{ self.extra_web_rendering_activity_definitions() }}
            {% endif %}
        </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>
        <activity android:name="org.chromium.chrome.browser.multiwindow.MultiInstanceChromeTabbedActivity"
            android:theme="@style/Theme.Chromium.TabbedMode"
            android:exported="false"
            {{ self.chrome_activity_common() }}>
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>
        {% if notouch_build == "true" %}
        <activity android:name="org.chromium.chrome.browser.touchless.NoTouchActivity"
            android:theme="@style/Theme.Chromium.Activity"
            android:exported="false"
            android:launchMode="singleTask"
            {{ self.chrome_activity_common() }}
            {{ self.supports_video_persistence() }} >
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>
        {% endif %}

        <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.Chromium.AlertDialog.NoActionBar"
            {{ self.first_run_activity_common() }}>
        </activity>
        <activity android:name="org.chromium.chrome.browser.firstrun.FirstRunActivity"
            android:theme="@style/Theme.Chromium.DialogWhenLarge"
            {% block first_run_activity_common %}
            android:label="@string/fre_activity_label"
            android:launchMode="singleInstance"
            android:excludeFromRecents="true"
            android:autoRemoveFromRecents="true"
            android:windowSoftInputMode="stateHidden|adjustPan"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
            {% endblock %}>
        </activity>
        <activity android:name="org.chromium.chrome.browser.firstrun.TabbedModeFirstRunActivity"
            android:theme="@style/Theme.Chromium.TabbedMode"
            {{ self.first_run_activity_common() }}>
        </activity>
        {% if enable_vr == "true" %}
        <activity android:name="org.chromium.chrome.browser.vr.VrFirstRunActivity"
            android:exported="false"
            android:launchMode="singleInstance"
            android:theme="@style/VrActivityTheme"
            android:excludeFromRecents="true"
            android:enableVrMode="@string/gvr_vr_mode_component"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize|uiMode">
            {{ self.supports_vr() }}
        </activity>
        {% endif %}
        <activity android:name="org.chromium.chrome.browser.signin.AccountSigninActivity"
            android:theme="@style/Theme.Chromium.DialogWhenLarge"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize">
        </activity>
        <activity android:name="org.chromium.chrome.browser.signin.SigninActivity"
            android:theme="@style/Theme.Chromium.DialogWhenLarge"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
            android:exported="false">
        </activity>
        {% if notouch_build == "true" %}
        <activity-alias android:name="org.chromium.chrome.browser.preferences.Preferences"
            android:targetActivity="org.chromium.chrome.browser.touchless.TouchlessPreferences">
        </activity-alias>
        <activity android:name="org.chromium.chrome.browser.touchless.TouchlessPreferences"
            android:theme="@style/Theme.Chromium.Preferences.Touchless"
        {% else %}
        <activity android:name="org.chromium.chrome.browser.preferences.Preferences"
            android:theme="@style/Theme.Chromium.Preferences"
        {% endif %}
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
            android:label="@string/preferences"
            android:exported="false">
        </activity>
        <activity android:name="org.chromium.chrome.browser.preferences.website.ManageSpaceActivity"
            android:theme="@style/Theme.Chromium.Preferences.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.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">
        </activity>
        <activity android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddActivity"
            android:theme="@style/Theme.Chromium.DialogWhenLarge"
            android:windowSoftInputMode="stateHidden"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize">
            <intent-filter>
                <action android:name="{{ manifest_package }}.ADDBOOKMARK" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name="org.chromium.chrome.browser.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">
        </activity>
        <activity android:name="org.chromium.chrome.browser.bookmarks.BookmarkAddEditFolderActivity"
            android:theme="@style/Theme.Chromium.DialogWhenLarge"
            android:exported="false"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize">
        </activity>
        <activity android:name="org.chromium.chrome.browser.bookmarks.BookmarkFolderSelectActivity"
            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">
        </activity>

        <!-- Activities for downloads. -->
        <activity android:name="org.chromium.chrome.browser.download.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">
        </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">
        </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="@android:style/Theme.NoDisplay"
            android:taskAffinity=""
            android:excludeFromRecents="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>
        <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"
            {{ self.supports_video_persistence() }} >
        </activity-alias>
        {% for i in range(10) %}
        <activity android:name="org.chromium.chrome.browser.webapps.WebappActivity{{ i }}"
            android:theme="@style/Theme.Chromium.Webapp"
            android:icon="@mipmap/app_shortcut_icon"
            android:label="@string/webapp_activity_title"
            android:launchMode="singleTask"
            android:exported="false"
            android:persistableMode="persistNever"
            android:taskAffinity="{{ manifest_package }}.webapps.WebappActivity{{ i }}"
            {{ 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{{ i }}"
            android:targetActivity="org.chromium.chrome.browser.webapps.WebappActivity{{ i }}"
            android:icon="@mipmap/app_shortcut_icon"
            android:label="@string/webapp_activity_title">
        </activity-alias>
        {% endfor %}
        <!-- 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.WebApkActivity"
            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>
        {% for i in range(10) %}
        <activity android:name="org.chromium.chrome.browser.webapps.WebApkActivity{{ i }}"
            android:theme="@style/Theme.Chromium.Webapp"
            android:icon="@mipmap/app_shortcut_icon"
            android:label="@string/webapp_activity_title"
            android:launchMode="singleTask"
            android:exported="false"
            android:persistableMode="persistNever"
            android:taskAffinity="{{ manifest_package }}.webapps.WebApkActivity{{ i }}"
            {{ self.supports_video_persistence() }}
            {{ self.chrome_activity_common() }}
        >
            {{ self.supports_vr() }}
            {{ self.extra_web_rendering_activity_definitions() }}
        </activity>
        {% endfor %}

        <activity android:name="org.chromium.chrome.browser.webapps.ActivateWebApkActivity"
            android:theme="@android:style/Theme.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.chrome.browser.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="@android:style/Theme.Translucent.NoTitleBar"
            android:excludeFromRecents="true"
            android:process=":browser_restart_process">
        </activity>

        <!-- This activity is to expose the print option via the generic Android share action. -->
        <activity
            android:name="org.chromium.chrome.browser.printing.PrintShareActivity"
            android:icon="@drawable/print"
            android:label="@string/print_share_activity_title"
            android:enabled="false"
            android:excludeFromRecents="true"
            android:exported="true"
            android:noHistory="true"
            android:theme="@android:style/Theme.NoDisplay"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" >
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain" />
            </intent-filter>
          </activity>

         <activity
            android:name="org.chromium.chrome.browser.send_tab_to_self.SendTabToSelfShareActivity"
            android:icon="@drawable/ic_launcher"
            android:label="@string/send_tab_to_self_share_activity_title"
            android:enabled="false"
            android:excludeFromRecents="true"
            android:exported="true"
            android:noHistory="true"
            android:theme="@android:style/Theme.NoDisplay"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize" >
            <intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain" />
            </intent-filter>
          </activity>

        <!-- Activity for dispatching intents to Instant Apps. -->
        <activity
            android:name="org.chromium.chrome.browser.instantapps.AuthenticatedProxyActivity"
            android:exported="false"
            android:theme="@android:style/Theme.NoDisplay"
            android:noHistory="true"
            android:excludeFromRecents="true">
        </activity>

        <activity
            android:name="org.chromium.chrome.browser.vr.VrCancelAnimationActivity"
            android:exported="false"
            android:theme="@android:style/Theme.NoDisplay"
            android:noHistory="true"
            android:excludeFromRecents="true"
            {% if enable_vr == "true" %}
            android:enableVrMode="@string/gvr_vr_mode_component"
            {% endif %}
            >
            {{ self.supports_vr() }}
        </activity>

        <!-- Components for Trusted Web Activities -->
        <receiver android:name="org.chromium.chrome.browser.browserservices.ClientAppBroadcastReceiver"
            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.ClientAppBroadcastReceiver.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" />
                <data android:scheme="https"/>
            </intent-filter>
        </activity>

        <!-- 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" />

        <!-- Providers 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 for FileProvider. -->
        <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>

        <!-- Sync adapter for browser invalidation. -->
        <service android:name="org.chromium.chrome.browser.invalidation.ChromeBrowserSyncAdapterService"
            android:exported="false">
            <intent-filter>
                <action android:name="android.content.SyncAdapter" />
            </intent-filter>
            <meta-data android:name="android.content.SyncAdapter"
                       android:resource="@xml/syncadapter" />
        </service>

        <!-- Broadcast receiver that will be notified of account changes -->
        <receiver android:name="org.chromium.chrome.browser.services.AccountsChangedReceiver">
            <intent-filter>
                <action android:name="android.accounts.LOGIN_ACCOUNTS_CHANGED" />
            </intent-filter>
        </receiver>

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

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

        <!-- Bookmarks widget -->
        <receiver android:name="com.google.android.apps.chrome.appwidget.bookmarks.BookmarkThumbnailWidgetProvider"
            android:label="@string/bookmark_widget_title">
            <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" />
        <receiver android:name="org.chromium.chrome.browser.bookmarkswidget.BookmarkWidgetProxy"
            android:exported="false" />

        <!-- Search widget -->
        <receiver
                android:name="org.chromium.chrome.browser.searchwidget.SearchWidgetProvider"
                android:label="@string/search_widget_title">
            <intent-filter>
                <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
            </intent-filter>
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.searchwidget.START_TEXT_QUERY" />
            </intent-filter>
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.searchwidget.START_VOICE_QUERY" />
            </intent-filter>
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.searchwidget.UPDATE_ALL_WIDGETS" />
            </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="false"
            android:launchMode="singleTask"
            android:taskAffinity=""
            android:clearTaskOnLaunch="true"
            android:excludeFromRecents="true"
            android:windowSoftInputMode="adjustResize"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|mcc|mnc|screenLayout|smallestScreenSize"
            android:hardwareAccelerated="false" />

        <!-- Receiver for GCM messages. -->
        <receiver android:name="com.google.android.gms.gcm.GcmReceiver"
            android:exported="true"
            android:permission="com.google.android.c2dm.permission.SEND">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
                <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
               <category android:name="{{ manifest_package }}"/>
            </intent-filter>
        </receiver>
        <!-- GcmTaskService for registration for Invalidations. -->
        <service android:name="com.google.ipc.invalidation.ticl.android2.channel.GcmRegistrationTaskService"
            android:exported="true"
            android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE" >
            <intent-filter>
                <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY"/>
            </intent-filter>
        </service>
        <!-- InstanceIDListenerService for token refresh events from GCM. -->
        <service android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidInstanceIDListenerService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.android.gms.iid.InstanceID"/>
            </intent-filter>
        </service>
        <!-- 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.android.c2dm.intent.RECEIVE" />
            </intent-filter>
        </service>
        <meta-data android:name="ipc.invalidation.ticl.gcm_upstream_service_class"
            android:value="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender" />
        <service android:name="org.chromium.chrome.browser.services.gcm.InvalidationGcmUpstreamSender"
            android:exported="false"/>

        <!-- Notification service for sync. -->
        <meta-data android:name="ipc.invalidation.ticl.listener_service_class"
            android:value="org.chromium.chrome.browser.invalidation.ChromeInvalidationClientService"/>
        <service android:name="org.chromium.chrome.browser.invalidation.ChromeInvalidationClientService"
            android:exported="false">
            <intent-filter>
              <action android:name="com.google.ipc.invalidation.AUTH_TOKEN_REQUEST"/>
            </intent-filter>
        </service>
        <service android:name="com.google.ipc.invalidation.ticl.android2.TiclService"
            android:exported="false"/>
        <service android:name="com.google.ipc.invalidation.ticl.android2.channel.AndroidMessageSenderService"
            android:exported="false"/>
        <receiver android:name="com.google.ipc.invalidation.ticl.android2.AndroidInternalScheduler$AlarmReceiver"
            android:exported="false"/>
        <receiver android:name="com.google.ipc.invalidation.external.client.contrib.AndroidListener$AlarmReceiver"
            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">
            <intent-filter>
                <action android:name="org.chromium.chrome.browser.notifications.CLICK_NOTIFICATION" />
                <action android:name="org.chromium.chrome.browser.notifications.CLOSE_NOTIFICATION" />
            </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"/>

        <!-- Background Task Scheduler job service -->
        <service android:name="org.chromium.components.background_task_scheduler.BackgroundTaskJobService"
            android:exported="false"
            android:permission="android.permission.BIND_JOB_SERVICE"/>

        <!-- Background Task Scheduler GCM task service -->
        <service android:name="org.chromium.components.background_task_scheduler.BackgroundTaskGcmTaskService"
            android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
            android:exported="true">
            <intent-filter>
                <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
            </intent-filter>
        </service>

        <!-- GcmTaskService implementation to wake Chrome on scheduled events -->
        <service android:name="org.chromium.chrome.browser.ChromeBackgroundService"
            android:permission="com.google.android.gms.permission.BIND_NETWORK_TASK_SERVICE"
            android:exported="true">
            <intent-filter>
                <action android:name="com.google.android.gms.gcm.ACTION_TASK_READY" />
            </intent-filter>
        </service>

        <service android:name="org.chromium.chrome.browser.prerender.ChromePrerenderService"
            android:exported="true"
            tools:ignore="ExportedService" />
        <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.trusted.category.TrustedWebActivities"/>
              <category android:name="androidx.browser.trusted.category.TrustedWebActivitySplashScreensV1"/>
              <category android:name="androidx.browser.trusted.category.NavBarColorCustomization"/>
            </intent-filter>
        </service>
        <service android:name="android.support.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.omaha.OmahaClient"
            android:exported="false"/>
        <service android:name="org.chromium.chrome.browser.incognito.IncognitoNotificationService"
            android:exported="false"/>

        <!-- 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. -->
        {% 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 (use_zygote|default(false) == 'true') %}
            android:useAppZygote="true"
            {% endif %}
            {% if (sandboxed_service_exported|default(false)) == 'true' %}
            android:externalService="true"
            tools:ignore="ExportedService"
            android:visibleToInstantApps="true"
            {% endif %} />
        {% endfor %}

        {% set num_privileged_services = 5 %}
        <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 %}
        <!-- TODO(tedchoc): Omit this for release builds as MultiDex is debug only. -->
        <meta-data android:name="{{ manifest_package }}{{ privileged_process_name }}.ignore_multidex"
android:value="true" />
        <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 %}

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

        <receiver android:name="org.chromium.chrome.browser.send_tab_to_self.NotificationManager$TapReceiver"
            android:exported="false"/>
        <receiver android:name="org.chromium.chrome.browser.send_tab_to_self.NotificationManager$DeleteReceiver"
            android:exported="false"/>
        <receiver android:name="org.chromium.chrome.browser.send_tab_to_self.NotificationManager$TimeoutReceiver"
            android:exported="false"/>

        <receiver android:name="org.chromium.chrome.browser.offlinepages.prefetch.PrefetchedPagesNotifier$ClickReceiver"
            android:exported="false"/>
        <receiver android:name="org.chromium.chrome.browser.offlinepages.prefetch.PrefetchedPagesNotifier$SettingsReceiver"
            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"
            android:exported="false"/>
        <service android:name="org.chromium.chrome.browser.media.ui.MediaNotificationManager$PlaybackListenerService"
            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.MediaNotificationManager$PresentationListenerService"
            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.MediaNotificationManager$CastListenerService"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </service>


        <receiver android:name="org.chromium.chrome.browser.media.ui.MediaNotificationManager$PlaybackMediaButtonReceiver">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </receiver>
        <receiver android:name="org.chromium.chrome.browser.media.ui.MediaNotificationManager$PresentationMediaButtonReceiver">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </receiver>
        <receiver android:name="org.chromium.chrome.browser.media.ui.MediaNotificationManager$CastMediaButtonReceiver">
            <intent-filter>
                <action android:name="android.intent.action.MEDIA_BUTTON" />
            </intent-filter>
        </receiver>


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

        <receiver android:name="org.chromium.chrome.browser.omaha.UpdateNotificationController$UpdateNotificationReceiver"
            android:exported="false"/>

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

        {% block extra_application_definitions %}

        <!-- Media route controllers to use for remote playback (cast).
             This is here, rather than in code, since it varies between upstream and downstream,
             yet we need this list of classes in the notification service, which belongs upstream
             and doesn't run the downstream startup code. The Cast code will, for each media element,
             choose the first MediaRouteController that can play it, so the order of the list can be important.
             The most specific MediaRouteControllers should be listed first, followed by more generic ones.
             The downstream manifest replaces this block, and hence replaces the list of media route
             controllers with its own list. -->
        <meta-data android:name="org.chromium.content.browser.REMOTE_MEDIA_PLAYERS"
            android:value="org.chromium.chrome.browser.media.remote.DefaultMediaRouteController"/>

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