diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-11-29 17:32:50 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-11-29 17:32:50 +0000 |
commit | 9c93611edcb369f4e4ac7cff5c261bd1da65c347 (patch) | |
tree | c59375133ee2f7236c17758706e88a492db81259 /java/com/android/voicemail/impl/transcribe/TranscriptionTask.java | |
parent | 5b6d823a45fe56cf9c36e5b00908831049c1d827 (diff) | |
parent | 70fedf8d6caee1177ee891bbfff404dc48867c16 (diff) |
Merge "Adding transcription rating feedback"
Diffstat (limited to 'java/com/android/voicemail/impl/transcribe/TranscriptionTask.java')
-rw-r--r-- | java/com/android/voicemail/impl/transcribe/TranscriptionTask.java | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/java/com/android/voicemail/impl/transcribe/TranscriptionTask.java b/java/com/android/voicemail/impl/transcribe/TranscriptionTask.java index f3b1d587f..97cf89eef 100644 --- a/java/com/android/voicemail/impl/transcribe/TranscriptionTask.java +++ b/java/com/android/voicemail/impl/transcribe/TranscriptionTask.java @@ -15,7 +15,6 @@ */ package com.android.voicemail.impl.transcribe; -import android.annotation.TargetApi; import android.app.job.JobWorkItem; import android.content.Context; import android.net.Uri; @@ -37,8 +36,6 @@ import com.android.voicemail.impl.transcribe.grpc.TranscriptionResponse; import com.google.internal.communications.voicemailtranscription.v1.AudioFormat; import com.google.internal.communications.voicemailtranscription.v1.TranscriptionStatus; import com.google.protobuf.ByteString; -import java.io.IOException; -import java.io.InputStream; /** * Background task to get a voicemail transcription and update the database. @@ -71,8 +68,6 @@ public abstract class TranscriptionTask implements Runnable { protected AudioFormat encoding; protected volatile boolean cancelled; - static final String AMR_PREFIX = "#!AMR\n"; - /** Functional interface for sending requests to the transcription server */ public interface Request { TranscriptionResponse getResponse(TranscriptionClient client); @@ -226,8 +221,6 @@ public abstract class TranscriptionTask implements Runnable { databaseHelper.setTranscriptionState(newState); } - // Uses try-with-resource - @TargetApi(android.os.Build.VERSION_CODES.M) private boolean readAndValidateAudioFile() { if (voicemailUri == null) { VvmLog.i(TAG, "Transcriber.readAndValidateAudioFile, file not found."); @@ -236,15 +229,15 @@ public abstract class TranscriptionTask implements Runnable { VvmLog.i(TAG, "Transcriber.readAndValidateAudioFile, reading: " + voicemailUri); } - try (InputStream in = context.getContentResolver().openInputStream(voicemailUri)) { - audioData = ByteString.readFrom(in); - VvmLog.i(TAG, "Transcriber.readAndValidateAudioFile, read " + audioData.size() + " bytes"); - } catch (IOException e) { - VvmLog.e(TAG, "Transcriber.readAndValidateAudioFile", e); + audioData = TranscriptionUtils.getAudioData(context, voicemailUri); + if (audioData != null) { + VvmLog.i(TAG, "readAndValidateAudioFile, read " + audioData.size() + " bytes"); + } else { + VvmLog.i(TAG, "readAndValidateAudioFile, unable to read audio data for " + voicemailUri); return false; } - encoding = getAudioFormat(audioData); + encoding = TranscriptionUtils.getAudioFormat(audioData); if (encoding == AudioFormat.AUDIO_FORMAT_UNSPECIFIED) { VvmLog.i(TAG, "Transcriber.readAndValidateAudioFile, unknown encoding"); return false; @@ -253,15 +246,9 @@ public abstract class TranscriptionTask implements Runnable { return true; } - private static AudioFormat getAudioFormat(ByteString audioData) { - return audioData != null && audioData.startsWith(ByteString.copyFromUtf8(AMR_PREFIX)) - ? AudioFormat.AMR_NB_8KHZ - : AudioFormat.AUDIO_FORMAT_UNSPECIFIED; - } - @VisibleForTesting void setAudioDataForTesting(ByteString audioData) { this.audioData = audioData; - encoding = getAudioFormat(audioData); + encoding = TranscriptionUtils.getAudioFormat(audioData); } } |