SoundTriggerDetector should look at the return code to honour success

The SoundTriggerDetector calls to start/stop recognition should also
check what the return code from the SoundTriggerService are saying -
otherwise it looks like recognition has started when there's been a
problem.

Change-Id: Icd6d2ab5ec30a5ffe66082311a77cca376a37148
This commit is contained in:
Chris Thornton
2016-07-11 22:03:16 -07:00
parent bb6f52d06b
commit 4ef887457a

View File

@@ -15,6 +15,7 @@
*/
package android.media.soundtrigger;
import static android.hardware.soundtrigger.SoundTrigger.STATUS_OK;
import android.annotation.IntDef;
import android.annotation.NonNull;
@@ -243,27 +244,29 @@ public final class SoundTriggerDetector {
boolean allowMultipleTriggers =
(recognitionFlags & RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS) != 0;
int status = STATUS_OK;
try {
mSoundTriggerService.startRecognition(new ParcelUuid(mSoundModelId),
status = mSoundTriggerService.startRecognition(new ParcelUuid(mSoundModelId),
mRecognitionCallback, new RecognitionConfig(captureTriggerAudio,
allowMultipleTriggers, null, null));
} catch (RemoteException e) {
return false;
}
return true;
return status == STATUS_OK;
}
/**
* Stops recognition for the associated model.
*/
public boolean stopRecognition() {
int status = STATUS_OK;
try {
mSoundTriggerService.stopRecognition(new ParcelUuid(mSoundModelId),
status = mSoundTriggerService.stopRecognition(new ParcelUuid(mSoundModelId),
mRecognitionCallback);
} catch (RemoteException e) {
return false;
}
return true;
return status == STATUS_OK;
}
/**