Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4ef88745 authored by Chris Thornton's avatar Chris Thornton
Browse files

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
parent bb6f52d0
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -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;
    }

    /**