<?xml version="1.0" encoding="utf-8"?>
<!--
  Copyright 2012 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|default('com.android.webview')}}"
    android:isolatedSplits="true"
    tools:ignore="MissingLeanbackLauncher">

    <uses-feature android:name="android.hardware.touchscreen"
                  android:required="false" />
    <uses-feature android:name="android.software.leanback"
                  android:required="false" />
    <uses-feature android:name="android.hardware.type.automotive"
                  android:required="false" />

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

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <!-- Required by WebView Developer UI only -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_SPECIAL_USE"/>
    <!-- Required to run the foreground service-->
    <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

    <application android:label="{{ application_label|default('Android System WebView') }}"
                 android:icon="@{{manifest_package|default('com.android.webview')}}:drawable/icon_webview"
                 android:name="{{ application_name|default('org.chromium.android_webview.nonembedded.WebViewApkApplication') }}"
                 android:multiArch="true"
                 {% if force_32_bit is defined and force_32_bit == 'true' %}
                 android:use32bitAbi="true"
                 {% endif %}>
        {# This part is shared between stand-alone WebView and Trichrome WebView #}
        {% macro common(manifest_package, webview_lib) %}
            <meta-data android:name="com.android.webview.WebViewLibrary"
                       android:value="{{ webview_lib }}" />
            <!-- Service used to hold androidx.webkit startup feature metadata
                 that can be read from other apps via PackageManager. -->
            <service
              android:name="org.chromium.android_webview.services.StartupFeatureMetadataHolder"
              android:enabled="false"
              android:exported="true"
              tools:ignore="ExportedService">
              <meta-data
                  android:name="STARTUP_FEATURE_SET_DATA_DIRECTORY_SUFFIX"
                  android:value="true"/>
              <meta-data
                  android:name="STARTUP_FEATURE_SET_DIRECTORY_BASE_PATH"
                  android:value="true"/>
              <meta-data
                  android:name="STARTUP_FEATURE_CONFIGURE_PARTITIONED_COOKIES"
                  android:value="true"/>
            <meta-data
                  android:name="STARTUP_FEATURE_SET_UI_THREAD_STARTUP_MODE"
                  android:value="true"/>
            <meta-data
                  android:name="STARTUP_FEATURE_SET_UI_THREAD_STARTUP_MODE_V2"
                  android:value="true"/>
            <meta-data
                  android:name="STARTUP_FEATURE_SET_PROFILES_TO_LOAD"
                  android:value="true"/>
            </service>
            <!-- WebView Developer UI Activities. If you change these Activities, please update
                 android_webview/test/shell/AndroidManifest.xml as well. -->
            <!--suppress HardcodedText -->
            <activity android:name="org.chromium.android_webview.devui.MainActivity"
                      android:windowSoftInputMode="adjustPan"
                      android:visibleToInstantApps="true"
                      android:label="WebView DevTools"
                      android:icon="@drawable/icon_webview"
                      android:theme="@style/Theme.DevUi.DayNight"
                      android:launchMode="singleTask"
                      android:taskAffinity="{{ manifest_package }}.org.chromium.android_webview.devui" {# Explicit taskAffinity for WebView Activities. #}
                      android:process=":webview_apk"  {# Explicit process required for WebView. #}
                      android:exported="true">
                <intent-filter>
                    <action android:name="com.android.webview.SHOW_DEV_UI" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
            </activity>
            <!-- Don't actually try to launch with this alias: it only exists so we can query its enabled state. -->
            <!-- If you change this component make sure to update the corresponding copy in
                 test/shell/AndroidManifest.xml -->
            <activity-alias android:name="org.chromium.android_webview.devui.DeveloperModeState"
                      android:targetActivity="org.chromium.android_webview.devui.MainActivity"
                      android:enabled="false" />
            <!-- End of WebView Developer UI Activities -->

            <!-- Don't actually try to launch with this alias: it only exists so we can query its enabled state. -->
            <!-- If you change this component make sure to update the corresponding copy in
                 test/shell/AndroidManifest.xml -->
            <activity-alias android:name="org.chromium.android_webview.SafeModeState"
                      android:targetActivity="org.chromium.android_webview.devui.MainActivity"
                      android:enabled="false" />

            <activity android:name="org.chromium.android_webview.nonembedded.LicenseActivity"
                      android:label="@string/license_activity_title"
                      android:process=":webview_apk"  {# Explicit process required for WebView. #}
                      android:exported="true">
                <intent-filter>
                    <action android:name="android.settings.WEBVIEW_LICENSE" />
                    <category android:name="android.intent.category.DEFAULT" />
                </intent-filter>
                <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                           android:value="true" />
            </activity>
            <provider android:name="org.chromium.android_webview.nonembedded.LicenseContentProvider"
                      android:exported="true"
                      android:authorities="{{ manifest_package }}.LicenseContentProvider"
                      android:grantUriPermissions="true"
                      android:process=":webview_apk"  {# Explicit process required for WebView. #}
                      tools:ignore="ExportedContentProvider"/>
            <!-- Disabled by default, enabled at runtime by Developer UI. -->
            <!-- If you change this component make sure to update the corresponding copy in
                 test/shell/AndroidManifest.xml-->
            <provider android:name="org.chromium.android_webview.services.DeveloperModeContentProvider"
                      android:visibleToInstantApps="true"
                      android:exported="true"
                      android:authorities="{{ manifest_package }}.DeveloperModeContentProvider"
                      android:process=":webview_service"  {# Explicit process required for WebView. #}
                      tools:ignore="ExportedContentProvider" />
            <provider android:name="androidx.core.content.FileProvider"
                      android:visibleToInstantApps="true"
                      android:exported="false"
                      android:authorities="{{ manifest_package }}.net_logs_provider"
                      android:process=":webview_service"  {# Explicit process required for WebView. #}
                      android:grantUriPermissions="true"
                      tools:ignore="ExportedContentProvider">
                      <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
                          android:resource="@xml/provider_paths" />
            </provider>
            <!-- If you change this component make sure to update the corresponding copy in
                 test/shell/AndroidManifest.xml-->
            <provider android:name="org.chromium.android_webview.services.SafeModeVariationsSeedContentProvider"
                      android:visibleToInstantApps="true"
                      android:exported="true"
                      android:authorities="{{ manifest_package }}.SafeModeVariationsSeedContentProvider"
                      android:process=":webview_service"  {# Explicit process required for WebView. #}
                      tools:ignore="ExportedContentProvider" />
            <provider android:name="org.chromium.android_webview.services.SafeModeContentProvider"
                      android:visibleToInstantApps="true"
                      android:exported="true"
                      android:authorities="{{ manifest_package }}.SafeModeContentProvider"
                      android:process=":webview_service"  {# Explicit process required for WebView. #}
                      tools:ignore="ExportedContentProvider" />
            <!-- Disables at startup init of Emoji2. See http://crbug.com/1205141 -->
            <provider
                android:name="androidx.startup.InitializationProvider"
                tools:node="remove">
            </provider>
            <!-- If you change the variations services, also see
                 android_webview/test/shell/AndroidManifest.xml. -->
            <!-- All WebView components need an android:process attribute. See //android_webview/nonembedded/README.md. -->
            <service android:name="org.chromium.android_webview.services.VariationsSeedServer"
                     android:exported="true"
                     android:process=":webview_service"  {# Explicit process required for WebView. #}
                     tools:ignore="ExportedService" />
            <service android:name="org.chromium.android_webview.services.AwVariationsSeedFetcher"
                     android:permission="android.permission.BIND_JOB_SERVICE"
                     android:exported="false"
                     android:process=":webview_service" />  {# Explicit process required for WebView. #}
            <service android:name="org.chromium.android_webview.services.CrashReceiverService"
                     android:exported="true"
                     android:process=":webview_service"  {# Explicit process required for WebView. #}
                     tools:ignore="ExportedService" />
            <service android:name="org.chromium.android_webview.services.AwMinidumpUploadJobService"
                     android:permission="android.permission.BIND_JOB_SERVICE"
                     android:exported="true"
                     android:process=":webview_service" />  {# Explicit process required for WebView. #}
            <service android:name="org.chromium.android_webview.services.DeveloperUiService"
                     android:foregroundServiceType="specialUse"
                     android:exported="true"
                     android:process=":webview_service"  {# Explicit process required for WebView. #}
                     tools:ignore="ExportedService" >
                      <property
                        android:name="android.app.PROPERTY_SPECIAL_USE_FGS_SUBTYPE"
                        android:value="debugging"
                      />
            </service>
            <service android:name="org.chromium.android_webview.services.SafeModeService"
                     android:exported="true"
                     android:process=":webview_service"  {# Explicit process required for WebView. #}
                     tools:ignore="ExportedService" />
            <service android:name="org.chromium.android_webview.services.AwNetLogService"
                     android:exported="true"
                     android:process=":webview_service"  {# Explicit process required for WebView. #}
                     tools:ignore="ExportedService" />
            <service android:name="org.chromium.android_webview.services.MetricsBridgeService"
                     android:exported="true"
                     android:visibleToInstantApps="true"
                     android:process=":webview_service"  {# Explicit process required for WebView. #}
                     tools:ignore="ExportedService" />
            <service android:name="org.chromium.android_webview.services.MetricsUploadService"
                     android:exported="true"
                     android:visibleToInstantApps="true"
                     android:process=":webview_service"  {# Explicit process required for WebView. #}
                     tools:ignore="ExportedService" />

            <!-- JS Execution Sandbox -->
            <service android:name="org.chromium.android_webview.js_sandbox.service.JsSandboxService0"
                android:process=":js_sandboxed_process0"
                android:isolatedProcess="true"
                android:exported="true"
                android:externalService="true"
                tools:ignore="ExportedService"
                android:visibleToInstantApps="true" />
            {% block extra_application_definitions %}
            {% endblock %}
        {% endmacro %}
        {{ common(manifest_package|default('com.android.webview'), library|default('libwebviewchromium.so')) }}
        {% 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:isolatedProcess="true"
                     android:exported="true"
                     android:externalService="true"
                     tools:ignore="ExportedService"
                     android:visibleToInstantApps="true" />
        {% endfor %}
        <service android:name="org.chromium.content.app.NativeOnlySandboxedProcessService0"
                 android:nativeService="true"
                 android:process=":sandboxed_process0"
                 android:isolatedProcess="true"
                 android:exported="true"
                 android:externalService="true"
                 tools:ignore="ExportedService"
                 android:visibleToInstantApps="true">
            <property android:name="android.app.PROPERTY_NATIVE_SERVICE_LIBRARY_NAME"
                      android:value="{{ library|default('libwebviewchromium.so') }}" />
            <property android:name="android.app.PROPERTY_NATIVE_SERVICE_FUNCTION_NAME"
                      android:value="NativeChildProcessService_onCreate" />
        </service>
        <meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES"
                   android:value="0" />
        {% if trichrome_library is defined %}
        <uses-static-library
            android:name="{{ trichrome_library }}"
            android:version="{{ trichrome_version }}"
            android:certDigest="{{ trichrome_certdigest }}" />
        {% endif %}
    </application>
</manifest>
