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

Commit 7da83d89 authored by Ziyang Cheng's avatar Ziyang Cheng
Browse files

Only accept NonNull data byte array in RecognitionConfig.Builder

Bug: 370580176
Flag: android.media.soundtrigger.manager_api
Test: atest android.soundtrigger.cts.SoundTriggerTest.
Test: Successfully load the generic sound model and verify
      sound trigger event could be triggered correctly on
      Pixel watch devices.
Test: AlwaysOnHotwordDetector could be started successfully
      and okay G will invoke Assistant when DSP hotword is
      enabled on Pixel watch devices.
Change-Id: I1ca6d7d90c14accd168ec06acf9f67ea50afa0ca
parent 984efd39
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -6913,7 +6913,7 @@ package android.hardware.soundtrigger {
    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setAllowMultipleTriggers(boolean);
    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setAudioCapabilities(int);
    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setCaptureRequested(boolean);
    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setData(@Nullable byte[]);
    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setData(@NonNull byte[]);
    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setKeyphrases(@NonNull java.util.Collection<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra>);
  }
+2 −2
Original line number Diff line number Diff line
@@ -1750,8 +1750,8 @@ public class SoundTrigger {
             *             internals, typically during enrollment.
             * @return the same Builder instance.
             */
            public @NonNull Builder setData(@Nullable byte[] data) {
                mData = data;
            public @NonNull Builder setData(@NonNull byte[] data) {
                mData = requireNonNull(data, "Data must not be null");
                return this;
            }

+3 −3
Original line number Diff line number Diff line
@@ -1164,7 +1164,7 @@ public class AlwaysOnHotwordDetector extends AbstractDetector {
    public boolean startRecognition(@RecognitionFlags int recognitionFlags) {
        if (DBG) Slog.d(TAG, "startRecognition(" + recognitionFlags + ")");
        synchronized (mLock) {
            return startRecognitionLocked(recognitionFlags, null /* data */) == STATUS_OK;
            return startRecognitionLocked(recognitionFlags, /* data= */new byte[0]) == STATUS_OK;
        }
    }

@@ -1496,8 +1496,8 @@ public class AlwaysOnHotwordDetector extends AbstractDetector {
    }

    @GuardedBy("mLock")
    private int startRecognitionLocked(int recognitionFlags,
            @Nullable byte[] data) {
    @SuppressWarnings("FlaggedApi") // RecognitionConfig.Builder is available internally.
    private int startRecognitionLocked(int recognitionFlags, @NonNull byte[] data) {
        if (DBG) {
            Slog.d(TAG, "startRecognition("
                    + recognitionFlags