summaryrefslogtreecommitdiff
path: root/services/voiceinteraction
diff options
context:
space:
mode:
authorMichael Dooley <mdooley@google.com>2018-12-21 07:05:01 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2018-12-21 07:05:01 +0000
commit91a94d76bfd6f00d690cee81b8c85cf26c5f9d03 (patch)
tree0cb8f601287c6a243f6c15e373f069133e599343 /services/voiceinteraction
parent7a01a914779b79b4b58fbe60abce62f4fab53fbf (diff)
parent23c625677d0677d936701dc7191a58c65184927f (diff)
Merge "Fixing getModelState event processing"
Diffstat (limited to 'services/voiceinteraction')
-rw-r--r--services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
index d6b40aecf52e..38efc743fe34 100644
--- a/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
+++ b/services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java
@@ -622,6 +622,7 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
onRecognitionFailureLocked();
break;
case SoundTrigger.RECOGNITION_STATUS_SUCCESS:
+ case SoundTrigger.RECOGNITION_STATUS_GET_STATE_RESPONSE:
if (isKeyphraseRecognitionEvent(event)) {
onKeyphraseRecognitionSuccessLocked((KeyphraseRecognitionEvent) event);
} else {
@@ -638,7 +639,8 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
private void onGenericRecognitionSuccessLocked(GenericRecognitionEvent event) {
MetricsLogger.count(mContext, "sth_generic_recognition_event", 1);
- if (event.status != SoundTrigger.RECOGNITION_STATUS_SUCCESS) {
+ if (event.status != SoundTrigger.RECOGNITION_STATUS_SUCCESS
+ && event.status != SoundTrigger.RECOGNITION_STATUS_GET_STATE_RESPONSE) {
return;
}
ModelData model = getModelDataForLocked(event.soundModelHandle);
@@ -655,7 +657,9 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
return;
}
- model.setStopped();
+ if (event.status != SoundTrigger.RECOGNITION_STATUS_GET_STATE_RESPONSE) {
+ model.setStopped();
+ }
try {
callback.onGenericSoundTriggerDetected((GenericRecognitionEvent) event);
} catch (DeadObjectException e) {
@@ -797,7 +801,10 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
Slog.w(TAG, "Received onRecognition event without callback for keyphrase model.");
return;
}
- modelData.setStopped();
+
+ if (event.status != SoundTrigger.RECOGNITION_STATUS_GET_STATE_RESPONSE) {
+ modelData.setStopped();
+ }
try {
modelData.getCallback().onKeyphraseDetected((KeyphraseRecognitionEvent) event);