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

Commit 7a245ca4 authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Correctly initialize recognition events upon abort" into rvc-dev...

Merge "Merge "Correctly initialize recognition events upon abort" into rvc-dev am: 69f12d24 am: 2d3bcf14" into rvc-d1-dev-plus-aosp
parents 959bedc0 3af47970
Loading
Loading
Loading
Loading
+40 −4
Original line number Original line Diff line number Diff line
@@ -20,11 +20,16 @@ import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.Nullable;
import android.hardware.soundtrigger.V2_1.ISoundTriggerHwCallback;
import android.hardware.soundtrigger.V2_1.ISoundTriggerHwCallback;
import android.hardware.soundtrigger.V2_2.ISoundTriggerHw;
import android.hardware.soundtrigger.V2_2.ISoundTriggerHw;
import android.media.audio.common.AudioConfig;
import android.media.audio.common.AudioOffloadInfo;
import android.media.soundtrigger_middleware.ISoundTriggerCallback;
import android.media.soundtrigger_middleware.ISoundTriggerCallback;
import android.media.soundtrigger_middleware.ISoundTriggerModule;
import android.media.soundtrigger_middleware.ISoundTriggerModule;
import android.media.soundtrigger_middleware.ModelParameterRange;
import android.media.soundtrigger_middleware.ModelParameterRange;
import android.media.soundtrigger_middleware.PhraseRecognitionEvent;
import android.media.soundtrigger_middleware.PhraseRecognitionExtra;
import android.media.soundtrigger_middleware.PhraseSoundModel;
import android.media.soundtrigger_middleware.PhraseSoundModel;
import android.media.soundtrigger_middleware.RecognitionConfig;
import android.media.soundtrigger_middleware.RecognitionConfig;
import android.media.soundtrigger_middleware.RecognitionEvent;
import android.media.soundtrigger_middleware.SoundModel;
import android.media.soundtrigger_middleware.SoundModel;
import android.media.soundtrigger_middleware.SoundModelType;
import android.media.soundtrigger_middleware.SoundModelType;
import android.media.soundtrigger_middleware.SoundTriggerModuleProperties;
import android.media.soundtrigger_middleware.SoundTriggerModuleProperties;
@@ -540,20 +545,20 @@ class SoundTriggerModule implements IHwBinder.DeathRecipient {
                    switch (mModelType) {
                    switch (mModelType) {
                        case SoundModelType.GENERIC: {
                        case SoundModelType.GENERIC: {
                            android.media.soundtrigger_middleware.RecognitionEvent event =
                            android.media.soundtrigger_middleware.RecognitionEvent event =
                                    new android.media.soundtrigger_middleware.RecognitionEvent();
                                    newEmptyRecognitionEvent();
                            event.status =
                            event.status =
                                    android.media.soundtrigger_middleware.RecognitionStatus.ABORTED;
                                    android.media.soundtrigger_middleware.RecognitionStatus.ABORTED;
                            event.type = SoundModelType.GENERIC;
                            mCallback.onRecognition(mHandle, event);
                            mCallback.onRecognition(mHandle, event);
                        }
                        }
                        break;
                        break;


                        case SoundModelType.KEYPHRASE: {
                        case SoundModelType.KEYPHRASE: {
                            android.media.soundtrigger_middleware.PhraseRecognitionEvent event =
                            android.media.soundtrigger_middleware.PhraseRecognitionEvent event =
                                    new android.media.soundtrigger_middleware.PhraseRecognitionEvent();
                                    newEmptyPhraseRecognitionEvent();
                            event.common =
                                    new android.media.soundtrigger_middleware.RecognitionEvent();
                            event.common.status =
                            event.common.status =
                                    android.media.soundtrigger_middleware.RecognitionStatus.ABORTED;
                                    android.media.soundtrigger_middleware.RecognitionStatus.ABORTED;
                            event.common.type = SoundModelType.KEYPHRASE;
                            mCallback.onPhraseRecognition(mHandle, event);
                            mCallback.onPhraseRecognition(mHandle, event);
                        }
                        }
                        break;
                        break;
@@ -614,4 +619,35 @@ class SoundTriggerModule implements IHwBinder.DeathRecipient {
            }
            }
        }
        }
    }
    }

    /**
     * Creates a default-initialized recognition event.
     *
     * Object fields are default constructed.
     * Array fields are initialized to 0 length.
     *
     * @return The event.
     */
    private static RecognitionEvent newEmptyRecognitionEvent() {
        RecognitionEvent result = new RecognitionEvent();
        result.audioConfig = new AudioConfig();
        result.audioConfig.offloadInfo = new AudioOffloadInfo();
        result.data = new byte[0];
        return result;
    }

    /**
     * Creates a default-initialized phrase recognition event.
     *
     * Object fields are default constructed.
     * Array fields are initialized to 0 length.
     *
     * @return The event.
     */
    private static PhraseRecognitionEvent newEmptyPhraseRecognitionEvent() {
        PhraseRecognitionEvent result = new PhraseRecognitionEvent();
        result.common = newEmptyRecognitionEvent();
        result.phraseExtras = new PhraseRecognitionExtra[0];
        return result;
    }
}
}