blob: 50d2b0f88f94a07fdc929b17ae3faaa3c1c69cec [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
* 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.voiceinteraction.cts">
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<queries>
<package android:name="android.voiceinteraction.service" />
</queries>
<application>
<uses-library android:name="android.test.runner"/>
<!-- Activities -->
<activity android:name=".activities.SettingsActivity"
android:label="SettingsActivity Activity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.DEFAULT"/>
<action android:name="android.intent.action.ASSIST"/>
</intent-filter>
</activity>
<activity android:name=".activities.TestStartActivity"
android:label="Voice Interaction Target"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.TEST_START_ACTIVITY"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
<activity android:name=".activities.EmptyActivity"
android:label="Empty Activity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<!-- VoiceInteractionService -->
<service android:name=".services.CtsBasicVoiceInteractionService"
android:label="CTS test Basic voice interaction service"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="false"
android:visibleToInstantApps="true">
<meta-data android:name="android.voice_interaction"
android:resource="@xml/interaction_service_with_hotword" />
<intent-filter>
<action android:name="android.service.voice.VoiceInteractionService" />
</intent-filter>
</service>
<service android:name=".services.CtsMainVoiceInteractionService"
android:label="CTS test voice interaction service"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="true"
android:visibleToInstantApps="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>
<service android:name=".services.NoOpVoiceInteractionService"
android:label="NoOpVoiceInteractionService has recognition"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="true">
<meta-data android:name="android.voice_interaction"
android:resource="@xml/has_recognition_interaction_service" />
<intent-filter>
<action android:name="android.service.voice.VoiceInteractionService" />
</intent-filter>
</service>
<service
android:name="android.voiceinteraction.cts.services.TestPermissionVoiceInteractionService"
android:label="CTS test permission voice interaction service"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="true"
android:visibleToInstantApps="true">
<meta-data android:name="android.voice_interaction"
android:resource="@xml/interaction_service_with_hotword_permission"/>
<intent-filter>
<action android:name="android.service.voice.VoiceInteractionService"/>
</intent-filter>
</service>
<service
android:name="android.voiceinteraction.cts.services.NonIsolatedHotwordDetectionVoiceInteractionService"
android:label="NonIsolatedHotwordDetectionVoiceInteractionService"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="true"
android:visibleToInstantApps="true">
<meta-data android:name="android.voice_interaction"
android:resource="@xml/interaction_service_with_non_isolated_hotword"/>
<intent-filter>
<action android:name="android.service.voice.VoiceInteractionService"/>
</intent-filter>
</service>
<service
android:name="android.voiceinteraction.cts.services.NonSharedIsolatedHotwordDetectionVoiceInteractionService"
android:label="NonIsolatedHotwordDetectionVoiceInteractionService"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="true"
android:visibleToInstantApps="true">
<meta-data android:name="android.voice_interaction"
android:resource="@xml/interaction_service_with_non_shared_isolated"/>
<intent-filter>
<action android:name="android.service.voice.VoiceInteractionService"/>
</intent-filter>
</service>
<service
android:name=".services.NoSessionVoiceInteractionService"
android:label="Voice interaction service with no existing session service"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="true"
android:visibleToInstantApps="true">
<meta-data android:name="android.voice_interaction"
android:resource="@xml/interaction_service_no_existing_session_service"/>
<intent-filter>
<action android:name="android.service.voice.VoiceInteractionService"/>
</intent-filter>
</service>
<!-- RecognitionService -->
<service android:name=".services.MainRecognitionService"
android:label="CTS Voice Recognition Service"
android:exported="true"
android:visibleToInstantApps="true">
<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>
<!-- HotwordDetectionService -->
<service
android:name="android.voiceinteraction.cts.services.TestPermissionHotwordDetectionService"
android:permission="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
android:isolatedProcess="true"
android:allowSharedIsolatedProcess="true"
android:exported="true">
</service>
<service
android:name="android.voiceinteraction.cts.services.NonIsolatedHotwordDetectionService"
android:permission="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
android:exported="true">
</service>
<service
android:name="android.voiceinteraction.cts.services.NonSharedIsolatedHotwordDetectionService"
android:permission="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
android:isolatedProcess="true"
android:exported="true">
</service>
<!-- VisualQueryDetectionService -->
<service
android:name="android.voiceinteraction.service.MainVisualQueryDetectionService"
android:permission="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE"
android:isolatedProcess="true"
android:allowSharedIsolatedProcess="true"
android:exported="true">
</service>
<service
android:name="android.voiceinteraction.cts.services.NonSharedIsolatedVisualQueryDetectionService"
android:permission="android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE"
android:isolatedProcess="true"
android:exported="true">
</service>
<!-- AttentionService, in CtsAttentionServiceDevice apk -->
<service android:name="android.attentionservice.cts.CtsTestAttentionService"
android:label="CtsTestAttentionService"
android:permission="android.permission.BIND_ATTENTION_SERVICE"
android:exported="true">
<intent-filter>
<action android:name="android.service.attention.AttentionService"/>
</intent-filter>
</service>
<!-- TODO: move these VoiceInteractionService back to test folder -->
<service android:name="android.voiceinteraction.service.ProxyVoiceInteractionService"
android:label="CTS test proxy voice interaction service with binder interface"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="true"
android:visibleToInstantApps="true">
<meta-data android:name="android.voice_interaction"
android:resource="@xml/interaction_service_with_hotword" />
<intent-filter>
<action android:name="android.service.voice.VoiceInteractionService" />
</intent-filter>
</service>
<service android:name="android.voiceinteraction.service.MainHotwordDetectionService"
android:permission="android.permission.BIND_HOTWORD_DETECTION_SERVICE"
android:isolatedProcess="true"
android:allowSharedIsolatedProcess="true"
android:exported="true">
</service>
<service android:name="android.voiceinteraction.service.MainInteractionService"
android:label="CTS test voice interaction service"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:exported="true"
android:visibleToInstantApps="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>
<service android:name="android.voiceinteraction.service.MainInteractionSessionService"
android:permission="android.permission.BIND_VOICE_INTERACTION"
android:process=":session"
android:exported="true"
android:visibleToInstantApps="true">
</service>
<service android:name="android.voiceinteraction.service.MainRecognitionService"
android:label="CTS Voice Recognition Service"
android:exported="true"
android:visibleToInstantApps="true">
<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>
<receiver android:name="VoiceInteractionTestReceiver"
android:exported="true"/>
</application>
<instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
android:targetPackage="android.voiceinteraction.cts"
android:label="CTS tests of android.voiceinteraction">
</instrumentation>
</manifest>