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
This commit is contained in:
Amith Yamasani
2016-05-03 15:07:03 -07:00
parent 65fad18461
commit eeed06c108

View File

@@ -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 {