xref: /aosp_15_r20/external/cronet/testing/android/native_test/java/AndroidManifest.xml.jinja2 (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1<?xml version="1.0" encoding="utf-8"?>
2<!--
3Copyright 2014 The Chromium Authors
4Use of this source code is governed by a BSD-style license that can be
5found in the LICENSE file.
6-->
7
8<manifest xmlns:android="http://schemas.android.com/apk/res/android"
9      package="org.chromium.native_test"
10      android:versionCode="1"
11      android:versionName="1.0">
12
13    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
14    <uses-permission android:name="android.permission.BLUETOOTH"/>
15    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
16    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
17    <uses-permission android:name="android.permission.CAMERA" />
18    <uses-permission android:name="android.permission.INTERNET"/>
19    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
20    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
21    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
22    <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
23    <uses-permission android:name="android.permission.WAKE_LOCK"/>
24    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
25
26    <!-- Explicitly set the attribute requestLegacyExternalStorage to "true"
27         since it is "false" by default on apps targeting Android 10, and that
28         breaks test listing. See
29         https://developer.android.com/training/data-storage#scoped-storage and
30         https://developer.android.com/training/data-storage/compatibility. -->
31    {% if allow_cleartext_traffic == 'true' %}
32    <application android:label="NativeTests"
33            android:usesCleartextTraffic="true"
34            android:requestLegacyExternalStorage="true"
35            android:memtagMode="sync"
36            android:name="org.chromium.native_test.NativeTestApplication">
37    {% else %}
38    <application android:label="NativeTests"
39            android:requestLegacyExternalStorage="true"
40            android:memtagMode="sync"
41            android:name="org.chromium.native_test.NativeTestApplication">
42    {% endif %}
43        {% if use_native_activity == 'true' %}
44        <activity android:name=".NativeUnitTestNativeActivity"
45                android:label="NativeTest"
46                android:configChanges="orientation|keyboardHidden"
47                android:process=":test_process"
48                android:exported="true">
49            <meta-data android:name="android.app.lib_name"
50                       android:value="{{ native_library_name }}" />
51        {% else %}
52        <activity android:name=".NativeUnitTestActivity"
53                android:label="NativeTest"
54                android:configChanges="orientation|keyboardHidden"
55                android:process=":test_process"
56                android:exported="true">
57        {% endif %}
58            <intent-filter>
59                <action android:name="android.intent.action.MAIN" />
60                <category android:name="android.intent.category.LAUNCHER" />
61            </intent-filter>
62        </activity>
63
64        <!-- If you change the number below, make sure to add/remove actual service classes
65             org/chromium/base/MultiprocessTestClientService*.java -->
66        {% set num_test_client_services = 10 %}
67        <meta-data android:name="org.chromium.native_test.NUM_TEST_CLIENT_SERVICES"
68                   android:value="{{ num_test_client_services }}"/>
69        {% for i in range(num_test_client_services) %}
70        <service android:name="org.chromium.base.MultiprocessTestClientService{{ i }}"
71                 android:process=":test_client_process{{ i }}"
72                 android:isolatedProcess="false"
73                 android:exported="false" />
74        {% endfor %}
75    </application>
76
77    <instrumentation android:name="org.chromium.build.gtest_apk.NativeTestInstrumentationTestRunner"
78            android:targetPackage="org.chromium.native_test"
79            android:label="Instrumentation entry point for org.chromium.native_test" />
80
81</manifest>
82