<!--
 * Copyright (C) 2015 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"
    package="android.voicesettings.service">

    <application>
        <uses-library android:name="android.test.runner" />
        <service android:name=".MainInteractionService"
                android:label="CTS test voice interaction service"
                android:permission="android.permission.BIND_VOICE_INTERACTION"
                android:process=":interactor"
                android:exported="true">
            <meta-data android:name="android.voice_interaction"
                       android:resource="@xml/interaction_service" />
            <intent-filter>
                <action android:name="android.service.voice.VoiceInteractionService" />
            </intent-filter>
        </service>
        <activity android:name=".VoiceInteractionMain" >
            <intent-filter>
                <action android:name="android.intent.action.VIMAIN_ZEN_MODE_ON" />
                <action android:name="android.intent.action.VIMAIN_ZEN_MODE_OFF" />
                <action android:name="android.intent.action.VIMAIN_AIRPLANE_MODE_ON" />
                <action android:name="android.intent.action.VIMAIN_AIRPLANE_MODE_OFF" />
                <action android:name="android.intent.action.VIMAIN_BATTERYSAVER_MODE_ON" />
                <action android:name="android.intent.action.VIMAIN_BATTERYSAVER_MODE_OFF" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity android:name=".SettingsActivity"
                  android:label="Voice Interaction Settings">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <service android:name=".MainInteractionSessionService"
                android:permission="android.permission.BIND_VOICE_INTERACTION"
                android:process=":session">
        </service>
        <service android:name=".MainRecognitionService"
                android:label="CTS Voice Recognition Service">
            <intent-filter>
                <action android:name="android.speech.RecognitionService" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <meta-data android:name="android.speech" android:resource="@xml/recognition_service" />
        </service>
    </application>
</manifest>

