<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
-->

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          coreApp="true"
          package="com.android.server.telecom.tests"
          android:debuggable="true">

    <uses-sdk
        android:minSdkVersion="23"
        android:targetSdkVersion="23" />

    <!-- TODO: Needed because we call BluetoothAdapter.getDefaultAdapter() statically, and
         BluetoothAdapter is a final class. -->
    <uses-permission android:name="android.permission.BLUETOOTH" />

    <!-- TODO: Needed because we call ActivityManager.getCurrentUser() statically. -->
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
    <uses-permission android:name="android.permission.MANAGE_USERS" />

    <!-- Used to access TelephonyManager APIs -->
    <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />

    <application android:label="@string/app_name"
                 android:debuggable="true">
        <uses-library android:name="android.test.runner" />
    </application>

    <!--
        The prefered way is to use 'runtest':
           runtest telecom-unit

        runtest is a wrapper around 'adb shell'. The low level shell command is:
        adb shell am instrument -w com.android.server.telecom.tests/android.test.InstrumentationTestRunner

        To run a single test case:
        adb shell am instrument -w -e class com.android.server.telecom.tests.unit.FooUnitTest \
                               com.android.server.telecom.tests/android.test.InstrumentationTestRunner
    -->
    <instrumentation android:name="android.support.test.runner.AndroidJUnitRunner"
            android:targetPackage="com.android.server.telecom.tests"
            android:label="Telecomm application tests"
            android:debuggable="true"/>
</manifest>
