<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright 2013 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.chromium.android_webview.shell">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<!-- Kerberos authentication -->
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<!-- Features related to permissions we request. -->
<!-- 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" />
<queries>
<intent>
<action android:name="org.chromium.net.test.EMBEDDED_TEST_SERVER_SERVICE" />
</intent>
</queries>
<application android:name="org.chromium.android_webview.shell.AwShellApplication"
android:label="AwShellApplication"
android:hardwareAccelerated="true"
android:usesCleartextTraffic="true">
<activity android:name="org.chromium.android_webview.shell.AwShellActivity"
android:label="Android WebView Test Shell"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize"
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" />
</intent-filter>
<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="http" />
<data android:scheme="https" />
</intent-filter>
</activity>
<activity android:name="org.chromium.android_webview.test.AwTestRunnerActivity"
android:label="AwTestRunnerActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST" />
</intent-filter>
</activity>
<!-- Digital Asset Links statement list -->
<meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
<provider android:name="org.chromium.android_webview.test.TestContentProvider"
android:authorities="org.chromium.android_webview.test.TestContentProvider" />
<!-- Some tests require 3 sandboxed services -->
<meta-data android:name="org.chromium.content.browser.NUM_SANDBOXED_SERVICES"
android:value="3"/>
<service android:name="org.chromium.content.app.SandboxedProcessService0"
android:process=":sandboxed_process0"
android:isolatedProcess="true"
android:exported="false" />
<service android:name="org.chromium.content.app.SandboxedProcessService1"
android:process=":sandboxed_process1"
android:isolatedProcess="true"
android:exported="false" />
<service android:name="org.chromium.content.app.SandboxedProcessService2"
android:process=":sandboxed_process2"
android:isolatedProcess="true"
android:exported="false" />
<meta-data android:name="org.chromium.content.browser.NUM_PRIVILEGED_SERVICES"
android:value="0"/>
<!-- JS Execution Sandbox -->
<service android:name="org.chromium.android_webview.js_sandbox.service.JsSandboxService0"
android:process=":js_sandboxed_process0"
android:isolatedProcess="true"
android:exported="false" />
<!-- See AwSecondBrowserProcessTest -->
<service android:name="org.chromium.android_webview.test.SecondBrowserProcess"
android:process=":second_browser_process"
android:isolatedProcess="false"
android:exported="false" />
<!-- If you change the variations services, also see
android_webview/nonembedded/java/AndroidManifest.xml. -->
<service android:name="org.chromium.android_webview.services.VariationsSeedServer"
android:exported="true"
android:process=":webview_service" />
<service android:name="org.chromium.android_webview.services.AwNetLogService"
android:exported="true"
android:process=":webview_service" />
<service android:name="org.chromium.android_webview.services.MetricsUploadService"
android:exported="true"/>
<service android:name="org.chromium.android_webview.services.MetricsBridgeService"
android:exported="true"
android:process=":webview_service" />
<service android:name="org.chromium.android_webview.test.services.MockMetricsBridgeService"
android:exported="true" />
<service android:name="org.chromium.android_webview.test.services.MockVariationsSeedServer"
android:exported="true" />
<service android:name="org.chromium.android_webview.services.ComponentsProviderService"
android:exported="true"
android:process=":webview_service" />
<service android:name="org.chromium.android_webview.test.component_updater.MockComponentsProviderService"
android:process=":webview_service"/>
<service android:name="org.chromium.android_webview.nonembedded.AwComponentUpdateService"
android:permission="android.permission.BIND_JOB_SERVICE"
android:exported="false"
android:process=":webview_apk"/>
<service android:name="org.chromium.android_webview.test.services.MockAwComponentUpdateService"
android:exported="false"/>
<!-- Components for Developer UI, make sure that any changes in these components reflect
the corresponding original components in nonembedded/java/AndroidManifest.xml -->
<activity android:name="org.chromium.android_webview.devui.MainActivity"
android:theme="@style/Theme.DevUi.DayNight"
android:launchMode="singleTask"
android:windowSoftInputMode="adjustPan">
</activity>
<provider android:name="androidx.core.content.FileProvider"
android:exported="false"
android:authorities="org.chromium.android_webview.shell.net_logs_provider"
android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
<provider android:name="org.chromium.android_webview.services.DeveloperModeContentProvider"
android:exported="true"
android:authorities="org.chromium.android_webview.shell.DeveloperModeContentProvider"/>
<service android:name="org.chromium.android_webview.services.DeveloperUiService"
android:exported="true" />
<activity-alias android:name="org.chromium.android_webview.devui.DeveloperModeState"
android:targetActivity="org.chromium.android_webview.shell.AwShellActivity"
android:enabled="false" />
<!-- End of Developer UI related components -->
<!-- Components for SafeMode, make sure that any changes in these components reflect
the corresponding original components in nonembedded/java/AndroidManifest.xml -->
<provider android:name="org.chromium.android_webview.services.SafeModeVariationsSeedContentProvider"
android:exported="true"
android:authorities="org.chromium.android_webview.shell.SafeModeVariationsSeedContentProvider"/>
<provider android:name="org.chromium.android_webview.services.SafeModeContentProvider"
android:exported="true"
android:authorities="org.chromium.android_webview.shell.SafeModeContentProvider"/>
<service android:name="org.chromium.android_webview.services.SafeModeService"
android:exported="true" />
<activity-alias android:name="org.chromium.android_webview.SafeModeState"
android:targetActivity="org.chromium.android_webview.shell.AwShellActivity"
android:enabled="false" />
<!-- End of SafeMode related components -->
</application>
</manifest>