History log of /frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
fb81d09d359480f9e43bbf300877b60de05f4816 04-Aug-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22860466: viapi security bug - rubber stamping in nested VIs

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
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
17f693520da8977c4a60f5b4be3be035cba7146c 18-Jul-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22531747: Assist info should declare if user has disabled...

...context and/or screenshot

Added new API to find out what contextual data has been globally disabled.

Also updated various documentation to make it clear what kind of contextual
data you will get (and when it will be null).

Also added a new Activity.showAssist() API because... well, I was already
in there, it was easy to do, it is safe, and maybe people will build cool
things with it.

Change-Id: Ia553d6bcdd098dc0fce4b9237fbfaca9652fc74b
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
d0a159025a06a7400ab3dfca1d754494947092e0 15-Jul-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22124996: VI: Command Request not Active

This stupid thing wasn't even completely implemented
in HandlerCaller! D'oh!

Change-Id: I0dac42c208fa0f08a6e20a6cb17b072f51efcaa7
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
593334ab70a8341c7d24d71a377ab5617e3f4ab7 30-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #22124996: VI: Command Request not Active

Just forgot to add the request to the active set.

Also eradicate a bunch of old cruft that has been replaced
by the final APIs, and improve voice interaction test to
sit fully on top of the final APIs and have a test for
command request.

Change-Id: Ieff7a6165ebf2a4c5fb80c1ebd020511a2ae63ee
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
16036f26847f3f1a88a093fb776bf081008ff8d8 22-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #20654534: API Review: android.app.assist

Remove the old classes.

Change-Id: I949350cadc5fc304e2651d7db0ffd38e45db9b6e
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
a3acdb33df7c7be7ff3d9f376ff833e4b0c1d897 09-Jun-2015 Dianne Hackborn <hackbod@google.com> Fix issue #21621920: VI: need mechanism to get current request

Add new APIs to associate a Request with a name, get all active
requests, and get active request by name.

Also add a new Activity.onProvideReferrer() which will allow
applications to propagate referrer information to the assistant
(and other apps they launch) in a consistent way.

Change-Id: I4ef74b5ed07447da9303a74a1bdf42e4966df363
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
dd231d466faa3102d59e458a6726ff3004e6b1c7 08-Jun-2015 James Cook <jamescook@google.com> Use VoiceInteractor.Prompt in VoiceInteraction test app

The framework API that takes a CharSequence as a prompt is now
deprecated, so update the test code to use the new API.

Bug: 21695917
Change-Id: Ic4b7afa6c547a9885a900ed092910f3c6bdd1dd4
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
d59a5d59df920d743723521a2afed9de1da3373b 04-Apr-2015 Dianne Hackborn <hackbod@google.com> Various fixes and improvements...

Issue #19912529: VI: VoiceInteractor callback ClassCastException

Fix to use correct argument.

Issue #19912636: VI: Documentation for VoiceInteractionSession.onBackPressed

Added documentation.

Issue #19912703: VI: VoiceInteractionSession NPE on Abort Request

Maybe fix this -- don't crash if there is no active session.

Issue #19953731: VI: Add value index to...
...android.app.VoiceInteractor.PickOptionRequest.Option

There is now an optional index integer that can be associated with
every Option object.

Issue #19912635: VI: Behavior of startActivity when in voice...
...interaction is unexpected

We now forcibly finish the current voice interaction task whenever
another activity takes focus from it.

Issue #20066569: Add API to request heap dumps

New ActivityManager API to set the pss limit to generate heap
dumps.

Also added app ops for assist receiving structure and screenshot
data, so that we can track when it does these things.

Change-Id: I688d4ff8f0bd0b8b9e3390a32375b4bb7875c1a1
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
3d07c94c393831091958fe6a98811843db8973bd 14-Mar-2015 Dianne Hackborn <hackbod@google.com> Add new voice request for picking from a list.

Also add API for voice interaction service to control
whether the system should hold a wake lock while it is
working with an activity (and actually *do* hold a wake
lock while doing so, duh!).

And while in there, clean up the launching wake lock to
correctly give blame to the app that is launching.

Change-Id: I7cc4d566b80f59fe0a9ac51ae9bbb7188a01f433
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
ffeecb1bfb9b71f4b62c9ef1fbf7b58a7a63f655 25-Feb-2015 Dianne Hackborn <hackbod@google.com> Rework voice interaction session lifecycle.

We now have a formal concept of the session being shown and
hidden, with it being able to continue running while hidden
as long as there is enough RAM.

This changes the flow that a VoiceInteractionSession will
see: onCreate() is when it is first created, onCreateContentView()
is when its UI first needs to be built, onShow() is called each
time it needs to be shown and has the arguments given when the
show request was made (which has been renamed from startSession to
showSession), and then onHide() will be called when the UI is
no longer shown.

The methods show() and hide() now allow a VoiceInteractionSession
subclass to control when it is shown and hidden, working with the
shown state being maintained by the system.

Change-Id: Ic4a430ec7e8bf76a5441fd0425e2932806170fcc
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
ae6688b09649447e57468b3e7935691bc09ec9b9 12-Feb-2015 Dianne Hackborn <hackbod@google.com> Update voice interaction layer for new UI design.

Can switch from a pure overlay at the top of the screen,
to interactive mode with the voice UI drawing at the bottom
and pushing its target activity up like an IME.

Add mechanism to get assist data to the voice interaction UI.

Add some basic visualization of the assist data, outlining
where on the screen we have text.

Add a test ACTION_ASSIST handler, which can propagate the
assist data it gets to the voice interaction session so
you can see what kind of data we are getting from different
apps.

Change-Id: I18312fe1601d7926d1fb96a817638d60f6263771
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
cb188253572f0b07325c2c6e2c2d7ec7e3d2c7c6 06-Aug-2014 Barnaby James <bjames@google.com> Fix VoiceInteractionService.isActiveService.

Small fix + added to the test application.

Change-Id: I05ad84c32064fc98d3bb90eff921702af9855a66
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
d3fdb8bed8e836786253f9cd5ab640c7c5ed8501 07-Jul-2014 Barnaby James <bjames@google.com> Add VoiceInteraction request type for successful actions.

Add CompleteVoiceRequest to VoiceInteractor to allow apps to indicate when a voice interaction was successfully completed.

Change-Id: I1481cfe96e9e2495d88a7a4fb62263bdd1e03c54
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
a2c076d54048258cf88ab14551ce5fdf5a09c6e8 31-May-2014 Dianne Hackborn <hackbod@google.com> Clean up voice API.

Add various java docs.

Switch to CharSequence where appropriate.

Add new request for canceling voice interaction.

Also update test app to follow API changes and be more better.

Change-Id: If27eeba53cf6444660adb7d37ea2ce0557c6c91f
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
20d94749043d0851f1da10c7749fd7eb13a35081 30-May-2014 Dianne Hackborn <hackbod@google.com> More work on voice interaction visuals.

There is now a special theme for voice interaction activities
to use, so they can be a panel that is better intergrated with
the rest of the voice interaction experience. This is still
not completely working, I have some hacks in the demo app to
get it right; I'll fix that in a future change.

Also improve VoiceInteractor to be retained across activity
instances, for things like rotation.

And bump up the number of concurrent broadcasts that are allowed
on non-svelte devices, since they can handle more and this makes
the boot experience better when dispatching BOOT_COMPLETED.

Change-Id: Ie86b5fd09b928da20d645ec2200577dee3e6889d
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
18f0d357f9693fe787a3e3777d8fdf01357a6e3f 26-Apr-2014 Dianne Hackborn <hackbod@google.com> Rework some of the voice interaction APIs.

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
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java
91097de49b0f683b00e26a75dbc0ac6082344137 05-Apr-2014 Dianne Hackborn <hackbod@google.com> Initial implementation of new voice interaction API.

This gives a basic working implementation of a persist
running service that can start a voice interaction when
it wants, with the target activity(s) able to go through
the protocol to interact with it. It may even work when
the screen is off by putting the activity manager in the
correct state to act like the screen is on.

Includes a sample app that is a voice interation service
and also has an activity it can launch.

Now that I have this initial implementation, I think I
want to rework some aspects of the API.

Change-Id: I7646d0af8fb4ac768c63a18fe3de43f8091f60e9
/frameworks/base/tests/VoiceInteraction/src/com/android/test/voiceinteraction/TestInteractionActivity.java