• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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        <uses-library android:name="android.test.runner"/>
44        {% if use_native_activity == 'true' %}
45        <activity android:name=".NativeUnitTestNativeActivity"
46                android:label="NativeTest"
47                android:configChanges="orientation|keyboardHidden"
48                android:process=":test_process"
49                android:exported="true">
50            {% if is_component_build == 'true' %}
51            <meta-data android:name="android.app.lib_name"
52                       android:value="{{ native_library_name }}.cr" />
53            {% else %}
54            <meta-data android:name="android.app.lib_name"
55                       android:value="{{ native_library_name }}" />
56            {% endif %}
57        {% else %}
58        <activity android:name=".NativeUnitTestActivity"
59                android:label="NativeTest"
60                android:configChanges="orientation|keyboardHidden"
61                android:process=":test_process"
62                android:exported="true">
63        {% endif %}
64            <intent-filter>
65                <action android:name="android.intent.action.MAIN" />
66                <category android:name="android.intent.category.LAUNCHER" />
67            </intent-filter>
68        </activity>
69
70        <!-- If you change the number below, make sure to add/remove actual service classes
71             org/chromium/base/MultiprocessTestClientService*.java -->
72        {% set num_test_client_services = 10 %}
73        <meta-data android:name="org.chromium.native_test.NUM_TEST_CLIENT_SERVICES"
74                   android:value="{{ num_test_client_services }}"/>
75        {% for i in range(num_test_client_services) %}
76        <service android:name="org.chromium.base.MultiprocessTestClientService{{ i }}"
77                 android:process=":test_client_process{{ i }}"
78                 android:isolatedProcess="false"
79                 android:exported="false" />
80        {% endfor %}
81    </application>
82
83    <instrumentation android:name="org.chromium.build.gtest_apk.NativeTestInstrumentationTestRunner"
84            android:targetPackage="org.chromium.native_test"
85            android:label="Instrumentation entry point for org.chromium.native_test"
86            chromium-junit3="true"/>
87
88</manifest>
89