<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2014 The Chromium Authors. All rights reserved.
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.native_test"
      android:versionCode="1"
      android:versionName="1.0">

    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="23" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.BLUETOOTH"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
    <uses-permission android:name="android.permission.CHANGE_CONFIGURATION"/>
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    <uses-permission android:name="android.permission.SET_TIME_ZONE"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

    <application android:label="NativeTests"
            android:name="org.chromium.native_test.NativeTestApplication">
        <uses-library android:name="android.test.runner"/>
        {% if use_native_activity == 'true' %}
        <activity android:name=".NativeUnitTestNativeActivity"
                android:label="NativeTest"
                android:configChanges="orientation|keyboardHidden"
                android:process=":test_process">
            {% if is_component_build == 'true' %}
            <meta-data android:name="android.app.lib_name"
                       android:value="{{ native_library_name }}.cr" />
            {% else %}
            <meta-data android:name="android.app.lib_name"
                       android:value="{{ native_library_name }}" />
            {% endif %}
        {% else %}
        <activity android:name=".NativeUnitTestActivity"
                android:label="NativeTest"
                android:configChanges="orientation|keyboardHidden"
                android:process=":test_process">
        {% endif %}
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <!-- If you change the number below, make sure to add/remove actual service classes
             org/chromium/base/MultiprocessTestClientService*.java -->
        {% set num_test_client_services = 5 %}
        <meta-data android:name="org.chromium.native_test.NUM_TEST_CLIENT_SERVICES"
                   android:value="{{ num_test_client_services }}"/>
        {% for i in range(num_test_client_services) %}
        <service android:name="org.chromium.base.MultiprocessTestClientService{{ i }}"
                 android:process=":test_client_process{{ i }}"
                 android:isolatedProcess="false"
                 android:exported="false" />
        {% endfor %}
    </application>

    <instrumentation android:name="org.chromium.native_test.NativeTestInstrumentationTestRunner"
            android:targetPackage="org.chromium.native_test"
            android:label="Instrumentation entry point for org.chromium.native_test"/>

</manifest>
