• 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            android:maxSdkVersion="30"/>
16    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
17            android:maxSdkVersion="30"/>
18    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
19    <uses-permission android:name="android.permission.BLUETOOTH_SCAN"
20            android:usesPermissionFlags="neverForLocation"/>
21    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
22    <uses-permission android:name="android.permission.CAMERA" />
23    <uses-permission android:name="android.permission.INTERNET"/>
24    <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
25    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
26    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
27    <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
28    <uses-permission android:name="android.permission.WAKE_LOCK"/>
29    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
30
31    <!-- Explicitly set the attribute requestLegacyExternalStorage to "true"
32         since it is "false" by default on apps targeting Android 10, and that
33         breaks test listing. See
34         https://developer.android.com/training/data-storage#scoped-storage and
35         https://developer.android.com/training/data-storage/compatibility. -->
36    {% if allow_cleartext_traffic == 'true' %}
37    <application android:label="NativeTests"
38            android:usesCleartextTraffic="true"
39            android:requestLegacyExternalStorage="true"
40            android:memtagMode="sync"
41            android:name="org.chromium.native_test.NativeTestApplication">
42    {% else %}
43    <application android:label="NativeTests"
44            android:requestLegacyExternalStorage="true"
45            android:memtagMode="sync"
46            android:name="org.chromium.native_test.NativeTestApplication">
47    {% endif %}
48        {% if use_native_activity == 'true' %}
49        <activity android:name=".NativeUnitTestNativeActivity"
50                android:label="NativeTest"
51                android:configChanges="orientation|keyboardHidden"
52                android:process=":test_process"
53                android:exported="true">
54            <meta-data android:name="android.app.lib_name"
55                       android:value="{{ native_library_name }}" />
56        {% else %}
57        <activity android:name=".NativeUnitTestActivity"
58                android:label="NativeTest"
59                android:configChanges="orientation|keyboardHidden"
60                android:process=":test_process"
61                android:exported="true">
62        {% endif %}
63            <intent-filter>
64                <action android:name="android.intent.action.MAIN" />
65                <category android:name="android.intent.category.LAUNCHER" />
66            </intent-filter>
67        </activity>
68
69        <!-- If you change the number below, make sure to add/remove actual service classes
70             org/chromium/base/MultiprocessTestClientService*.java -->
71        {% set num_test_client_services = 10 %}
72        <meta-data android:name="org.chromium.native_test.NUM_TEST_CLIENT_SERVICES"
73                   android:value="{{ num_test_client_services }}"/>
74        {% for i in range(num_test_client_services) %}
75        <service android:name="org.chromium.base.MultiprocessTestClientService{{ i }}"
76                 android:process=":test_client_process{{ i }}"
77                 android:isolatedProcess="false"
78                 android:exported="false" />
79        {% endfor %}
80    </application>
81
82    <instrumentation android:name="org.chromium.build.gtest_apk.NativeTestInstrumentationTestRunner"
83            android:targetPackage="org.chromium.native_test"
84            android:label="Instrumentation entry point for org.chromium.native_test" />
85
86</manifest>
87