On the app side, requests are now composed by subclassing from various types of Request objects. On the service side, starting a voice interaction session involves starting another service that will then manage the session. This leads the service design much more to what we want, where the long-running main service is very tiny and all the heavy-weight transient session work is elsewhere in another process. Change-Id: I46c074c6fe27b6c1cf2583c6d216aed1de2f1143
34 lines
1.6 KiB
XML
34 lines
1.6 KiB
XML
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="com.android.test.voiceinteraction">
|
|
|
|
<application>
|
|
<activity android:name="VoiceInteractionMain" android:label="Voice Interaction">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.LAUNCHER" />
|
|
</intent-filter>
|
|
</activity>
|
|
<service android:name="MainInteractionService"
|
|
android:permission="android.permission.BIND_VOICE_INTERACTION"
|
|
android:process=":interactor">
|
|
<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="MainInteractionSessionService"
|
|
android:permission="android.permission.BIND_VOICE_INTERACTION"
|
|
android:process=":session">
|
|
</service>
|
|
<activity android:name="TestInteractionActivity" android:label="Voice Interaction Target">
|
|
<intent-filter>
|
|
<action android:name="android.intent.action.MAIN" />
|
|
<category android:name="android.intent.category.DEFAULT" />
|
|
<category android:name="android.intent.category.VOICE" />
|
|
</intent-filter>
|
|
</activity>
|
|
</application>
|
|
</manifest>
|