diff options
author | Chris Thornton <thorntonc@google.com> | 2017-04-30 19:46:39 -0700 |
---|---|---|
committer | Chris Thornton <thorntonc@google.com> | 2017-05-03 17:49:39 -0700 |
commit | 7554ff0e8413c83e43f6092bb359678508564fc7 (patch) | |
tree | 91807b516b5b3efb988021b10320e3b0d992a068 /tests/SoundTriggerTestApp | |
parent | 9328f3238211d787af8acf7e07ee7173939e42e7 (diff) |
Add getData() member to SoundTriggerDetector.EventPayload.
If the HAL populates the recognition event with data that isn't trigger
audio, it's currently impossible for clients to actually read that
opaque data. By adding this getter, clients who understand how the
detection engine works can react to whatever is in the data blob.
Test: Modify SoundTriggerTestApp to verify that the data is accessible.
Change-Id: I8a9feccab98e2d15653dd55f28a43095f8ee1e44
Diffstat (limited to 'tests/SoundTriggerTestApp')
-rw-r--r-- | tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java index b550cfad74cf..00bf33ad691e 100644 --- a/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java +++ b/tests/SoundTriggerTestApp/src/com/android/test/soundtrigger/SoundTriggerTestService.java @@ -689,8 +689,20 @@ public class SoundTriggerTestService extends Service { AudioFormat format = event.getCaptureAudioFormat(); result = result + "AudioFormat: " + ((format == null) ? "null" : format.toString()); byte[] triggerAudio = event.getTriggerAudio(); - result = result + "TriggerAudio: " + (triggerAudio == null ? "null" : triggerAudio.length); - result = result + "CaptureSession: " + event.getCaptureSession(); + result = result + ", TriggerAudio: " + (triggerAudio == null ? "null" : triggerAudio.length); + byte[] data = event.getData(); + result = result + ", Data: " + (data == null ? "null" : data.length); + if (data != null) { + try { + String decodedData = new String(data, "UTF-8"); + if (decodedData.chars().allMatch(c -> (c >= 32 && c < 128) || c == 0)) { + result = result + ", Decoded Data: '" + decodedData + "'"; + } + } catch (Exception e) { + Log.e(TAG, "Failed to decode data"); + } + } + result = result + ", CaptureSession: " + event.getCaptureSession(); result += " )"; return result; } |