diff options
author | mdooley <mdooley@google.com> | 2017-11-03 16:08:08 -0700 |
---|---|---|
committer | zachh <zachh@google.com> | 2017-11-11 06:38:57 +0000 |
commit | 1a56facd7bf477e6fb8f0ec1093696ba83e4fd74 (patch) | |
tree | 2ad1b087d306a9f6f63d6b1872bd782fc98f796f /java/com/android/voicemail/impl/transcribe/TranscriptionTaskAsync.java | |
parent | 6af2e14a28e27a38525a08c920e7453c2448689a (diff) |
Allow the client to specify voicemail transcript id's
This is needed for rating transcription quality since we don't
persist the transcript id. The id we generate is just the md5
hash of the voicemail audio data.
Bug: 68712148
Test: manual and updated unit tests
PiperOrigin-RevId: 174527907
Change-Id: I7a29bf5a96447129fc1437074f20ecebcdb1f43b
Diffstat (limited to 'java/com/android/voicemail/impl/transcribe/TranscriptionTaskAsync.java')
-rw-r--r-- | java/com/android/voicemail/impl/transcribe/TranscriptionTaskAsync.java | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionTaskAsync.java b/java/com/android/voicemail/impl/transcribe/TranscriptionTaskAsync.java index f946607b5..808bf0f87 100644 --- a/java/com/android/voicemail/impl/transcribe/TranscriptionTaskAsync.java +++ b/java/com/android/voicemail/impl/transcribe/TranscriptionTaskAsync.java @@ -17,6 +17,7 @@ package com.android.voicemail.impl.transcribe; import android.app.job.JobWorkItem; import android.content.Context; +import android.support.annotation.VisibleForTesting; import android.util.Pair; import com.android.dialer.common.Assert; import com.android.dialer.logging.DialerImpression; @@ -121,13 +122,21 @@ public class TranscriptionTaskAsync extends TranscriptionTask { return new Pair<>(null, TranscriptionStatus.FAILED_NO_RETRY); } + @VisibleForTesting TranscribeVoicemailAsyncRequest getUploadRequest() { - return TranscribeVoicemailAsyncRequest.newBuilder() - .setVoicemailData(audioData) - .setAudioFormat(encoding) - .setDonationPreference( - isDonationEnabled() ? DonationPreference.DONATE : DonationPreference.DO_NOT_DONATE) - .build(); + TranscribeVoicemailAsyncRequest.Builder builder = + TranscribeVoicemailAsyncRequest.newBuilder() + .setVoicemailData(audioData) + .setAudioFormat(encoding) + .setDonationPreference( + isDonationEnabled() ? DonationPreference.DONATE : DonationPreference.DO_NOT_DONATE); + // Generate the transcript id locally if configured to do so, or if voicemail donation is + // available (because rating donating voicemails requires locally generated voicemail ids). + if (configProvider.useClientGeneratedVoicemailIds() + || configProvider.isVoicemailDonationAvailable()) { + builder.setTranscriptionId(TranscriptionUtils.getFingerprintFor(audioData)); + } + return builder.build(); } private boolean isDonationEnabled() { |