From 6817337118655d5792e36e954b123e6daa4174a6 Mon Sep 17 00:00:00 2001 From: Sandeep Siddhartha Date: Mon, 28 Jul 2014 13:25:30 -0700 Subject: Read the keyphrase ID from the recognition event Bug: 16516658 Change-Id: Ibeee81c9543aa1091bb075066cfc2269107f13c0 --- .../hardware/soundtrigger/SoundTriggerTest.java | 77 ++++++++++++++++++++++ 1 file changed, 77 insertions(+) (limited to 'tests/SoundTriggerTests/src') diff --git a/tests/SoundTriggerTests/src/android/hardware/soundtrigger/SoundTriggerTest.java b/tests/SoundTriggerTests/src/android/hardware/soundtrigger/SoundTriggerTest.java index 5d32c66..4372ff9 100644 --- a/tests/SoundTriggerTests/src/android/hardware/soundtrigger/SoundTriggerTest.java +++ b/tests/SoundTriggerTests/src/android/hardware/soundtrigger/SoundTriggerTest.java @@ -17,7 +17,10 @@ package android.hardware.soundtrigger; import android.hardware.soundtrigger.SoundTrigger; +import android.hardware.soundtrigger.SoundTrigger.ConfidenceLevel; import android.hardware.soundtrigger.SoundTrigger.Keyphrase; +import android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionEvent; +import android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra; import android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel; import android.hardware.soundtrigger.SoundTrigger.RecognitionEvent; import android.os.Parcel; @@ -253,4 +256,78 @@ public class SoundTriggerTest extends InstrumentationTestCase { // Verify that they are the same assertEquals(re, unparceled); } + + @SmallTest + public void testKeyphraseRecognitionEventParcelUnparcel_noKeyphrases() throws Exception { + KeyphraseRecognitionEvent re = new KeyphraseRecognitionEvent( + SoundTrigger.RECOGNITION_STATUS_SUCCESS, 1, true, 2, 3, 4, null, false, null); + + // Write to a parcel + Parcel parcel = Parcel.obtain(); + re.writeToParcel(parcel, 0); + + // Read from it + parcel.setDataPosition(0); + KeyphraseRecognitionEvent unparceled = + KeyphraseRecognitionEvent.CREATOR.createFromParcel(parcel); + + // Verify that they are the same + assertEquals(re, unparceled); + } + + @SmallTest + public void testKeyphraseRecognitionEventParcelUnparcel_zeroData() throws Exception { + KeyphraseRecognitionExtra[] kpExtra = new KeyphraseRecognitionExtra[0]; + KeyphraseRecognitionEvent re = new KeyphraseRecognitionEvent( + SoundTrigger.RECOGNITION_STATUS_FAILURE, 2, true, 2, 3, 4, new byte[1], + true, kpExtra); + + // Write to a parcel + Parcel parcel = Parcel.obtain(); + re.writeToParcel(parcel, 0); + + // Read from it + parcel.setDataPosition(0); + KeyphraseRecognitionEvent unparceled = + KeyphraseRecognitionEvent.CREATOR.createFromParcel(parcel); + + // Verify that they are the same + assertEquals(re, unparceled); + } + + @LargeTest + public void testKeyphraseRecognitionEventParcelUnparcel_largeData() throws Exception { + byte[] data = new byte[200 * 1024]; + mRandom.nextBytes(data); + KeyphraseRecognitionExtra[] kpExtra = new KeyphraseRecognitionExtra[4]; + ConfidenceLevel cl1 = new ConfidenceLevel(1, 90); + ConfidenceLevel cl2 = new ConfidenceLevel(2, 30); + kpExtra[0] = new KeyphraseRecognitionExtra(1, + SoundTrigger.RECOGNITION_MODE_USER_IDENTIFICATION, + new ConfidenceLevel[] {cl1, cl2}); + kpExtra[1] = new KeyphraseRecognitionExtra(1, + SoundTrigger.RECOGNITION_MODE_VOICE_TRIGGER, + new ConfidenceLevel[] {cl2}); + kpExtra[2] = new KeyphraseRecognitionExtra(1, + SoundTrigger.RECOGNITION_MODE_VOICE_TRIGGER, null); + kpExtra[3] = new KeyphraseRecognitionExtra(1, + SoundTrigger.RECOGNITION_MODE_VOICE_TRIGGER, + new ConfidenceLevel[0]); + + KeyphraseRecognitionEvent re = new KeyphraseRecognitionEvent( + SoundTrigger.RECOGNITION_STATUS_FAILURE, 1, true, 2, 3, 4, data, + false, kpExtra); + + // Write to a parcel + Parcel parcel = Parcel.obtain(); + re.writeToParcel(parcel, 0); + + // Read from it + parcel.setDataPosition(0); + KeyphraseRecognitionEvent unparceled = + KeyphraseRecognitionEvent.CREATOR.createFromParcel(parcel); + + // Verify that they are the same + assertEquals(re, unparceled); + } } -- cgit v1.1