diff options
author | mike dooley <mdooley@google.com> | 2018-12-20 16:05:24 +0100 |
---|---|---|
committer | mike dooley <mdooley@google.com> | 2018-12-20 16:48:53 +0100 |
commit | 23c625677d0677d936701dc7191a58c65184927f (patch) | |
tree | ee1e8ae83ab3c6be035dea8017dea52dffad6cd0 | |
parent | 407396e3492cc97c4a25ef125a89efc55c910ef0 (diff) |
Fixing getModelState event processing
Test: manual testing with SoundTriggerTestApp
Bug: 119386757
Change-Id: I2c2960d169b119cb35345315638eeae28460896c
-rw-r--r-- | services/voiceinteraction/java/com/android/server/soundtrigger/SoundTriggerHelper.java | 13 |
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); |