Add new Activity.isVoiceInteractionRoot() API that an activity can use to determine whether it is the root activity of a voice interaction session started by the user's designated voice interaction service. This is a special new API that apps must explicitly check, because as with visual activities the model behind an activity should usually be that it accomplishes its task by interacting with the user (implicitly getting their approval) rather than trusting that whoever invoked it is telling it to do what the user once. In the voice world, however, there are some cases where quick interactions want to allow for immediate execution without further user involvement, so this API allows for that without opening up security holes from other applications. Change-Id: Ie02d2458f16cb0b12af825641bcf8beaf086931b
109 lines
3.6 KiB
XML
109 lines
3.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 2014 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.
|
|
-->
|
|
|
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:orientation="vertical"
|
|
android:padding="8dp"
|
|
>
|
|
|
|
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
|
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
|
android:text="We are interacting!"
|
|
/>
|
|
|
|
<TextView android:id="@+id/log"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="0px"
|
|
android:layout_weight="1"
|
|
android:layout_marginTop="16dp"
|
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
|
/>
|
|
|
|
<LinearLayout android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="16dp"
|
|
android:orientation="horizontal">
|
|
|
|
<Button android:id="@+id/airplane"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/launchAirplane"
|
|
/>
|
|
|
|
</LinearLayout>
|
|
|
|
<LinearLayout android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="16dp"
|
|
android:orientation="horizontal">
|
|
|
|
<Button android:id="@+id/complete"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/completeVoice"
|
|
/>
|
|
|
|
<Button android:id="@+id/abort"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/abortVoice"
|
|
/>
|
|
|
|
</LinearLayout>
|
|
|
|
<LinearLayout android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="16dp"
|
|
android:orientation="horizontal">
|
|
|
|
<Button android:id="@+id/command"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/commandVoice"
|
|
/>
|
|
|
|
<Button android:id="@+id/pick"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/pickVoice"
|
|
/>
|
|
|
|
</LinearLayout>
|
|
|
|
<LinearLayout android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="16dp"
|
|
android:layout_marginBottom="16dp"
|
|
android:orientation="horizontal">
|
|
|
|
<Button android:id="@+id/cancel"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/cancelVoice"
|
|
/>
|
|
|
|
<Button android:id="@+id/jump"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/jumpOut"
|
|
/>
|
|
|
|
</LinearLayout>
|
|
|
|
</LinearLayout>
|