From eeed06c108e060c7bced30f29ac79bd324c01f2e Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Tue, 3 May 2016 15:07:03 -0700 Subject: [PATCH] Clear active requests on switching voice interactor When voice interactor goes null or changes, cancel all existing active requests and clear them so that they can be re-submitted. Bug: 28487567 Change-Id: Ibcf024efcc81ff18ef3babfa9a169292207bc816 --- core/java/android/app/Activity.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java index b5490cf239eaa..f7020cdcd911c 100644 --- a/core/java/android/app/Activity.java +++ b/core/java/android/app/Activity.java @@ -29,6 +29,7 @@ import android.annotation.Nullable; import android.annotation.RequiresPermission; import android.annotation.StyleRes; import android.annotation.SystemApi; +import android.app.VoiceInteractor.Request; import android.app.admin.DevicePolicyManager; import android.app.assist.AssistContent; import android.content.ComponentCallbacks2; @@ -1272,6 +1273,12 @@ public class Activity extends ContextThemeWrapper } void setVoiceInteractor(IVoiceInteractor voiceInteractor) { + if (mVoiceInteractor != null) { + for (Request activeRequest: mVoiceInteractor.getActiveRequests()) { + activeRequest.cancel(); + activeRequest.clear(); + } + } if (voiceInteractor == null) { mVoiceInteractor = null; } else {