Move RecognizerApi to astrid

pull/143/head
Alex Baker 12 years ago
parent 613633971d
commit 9528baf611

@ -19,7 +19,7 @@ import android.view.WindowManager.BadTokenException;
import android.widget.EditText; import android.widget.EditText;
import android.widget.Toast; import android.widget.Toast;
import com.todoroo.aacenc.RecognizerApi.RecognizerApiListener; import com.todoroo.astrid.voice.RecognizerApi.RecognizerApiListener;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;

@ -23,8 +23,8 @@ import android.widget.LinearLayout.LayoutParams;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import com.todoroo.aacenc.RecognizerApi; import com.todoroo.astrid.voice.RecognizerApi;
import com.todoroo.aacenc.RecognizerApi.PlaybackExceptionHandler; import com.todoroo.astrid.voice.RecognizerApi.PlaybackExceptionHandler;
import com.todoroo.andlib.data.TodorooCursor; import com.todoroo.andlib.data.TodorooCursor;
import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.Autowired;
import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.DependencyInjectionService;
@ -196,7 +196,7 @@ public class FilesControlSet extends PopupControlSet {
final String filePath = m.getFilePath(); final String filePath = m.getFilePath();
if (fileType.startsWith(TaskAttachment.FILE_TYPE_AUDIO)) { if (fileType.startsWith(TaskAttachment.FILE_TYPE_AUDIO)) {
RecognizerApi.play(activity, m.getFilePath(), new PlaybackExceptionHandler() { RecognizerApi.play(m.getFilePath(), new PlaybackExceptionHandler() {
@Override @Override
public void playbackFailed(String file) { public void playbackFailed(String file) {
showFromIntent(filePath, fileType); showFromIntent(filePath, fileType);

@ -1,7 +1,6 @@
package com.todoroo.aacenc; package com.todoroo.astrid.voice;
import android.annotation.TargetApi; import android.annotation.TargetApi;
import android.app.Activity;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface; import android.content.DialogInterface;
@ -29,6 +28,7 @@ public class RecognizerApi implements RecognitionListener {
public static interface RecognizerApiListener { public static interface RecognizerApiListener {
public void onSpeechResult(String result); public void onSpeechResult(String result);
public void onSpeechError(int error); public void onSpeechError(int error);
} }
@ -44,7 +44,7 @@ public class RecognizerApi implements RecognitionListener {
this.mListener = listener; this.mListener = listener;
} }
public static void play(Activity activity, String file, PlaybackExceptionHandler handler) { public static void play(String file, PlaybackExceptionHandler handler) {
MediaPlayer mediaPlayer = new MediaPlayer(); MediaPlayer mediaPlayer = new MediaPlayer();
try { try {
@ -61,14 +61,7 @@ public class RecognizerApi implements RecognitionListener {
private ProgressDialog speakPd; private ProgressDialog speakPd;
private ProgressDialog processingPd; private ProgressDialog processingPd;
/** public void start(String callingPackage, String speakNowMessage) {
* Start speech recognition
*
* @param callingPackage e.g. com.myapp.example
* @param speakNowMessage e.g. "Speak now!"
* @param processingMessage e.g. "Processing..."
*/
public void start(String callingPackage, String speakNowMessage, String processingMessage) {
sr.setRecognitionListener(this); sr.setRecognitionListener(this);
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
@ -116,7 +109,7 @@ public class RecognizerApi implements RecognitionListener {
@Override @Override
public void onBufferReceived(byte[] buffer) { public void onBufferReceived(byte[] buffer) {
if(speechStarted > 0) { if (speechStarted > 0) {
try { try {
baos.write(buffer); baos.write(buffer);
} catch (IOException e) { } catch (IOException e) {
@ -129,7 +122,7 @@ public class RecognizerApi implements RecognitionListener {
public void onEndOfSpeech() { public void onEndOfSpeech() {
speakPd.dismiss(); speakPd.dismiss();
if(speechStarted == 0) if (speechStarted == 0)
return; return;
processingPd = new ProgressDialog(context); processingPd = new ProgressDialog(context);
@ -147,8 +140,9 @@ public class RecognizerApi implements RecognitionListener {
@Override @Override
public void onError(int error) { public void onError(int error) {
if (mListener != null) if (mListener != null) {
mListener.onSpeechError(error); mListener.onSpeechError(error);
}
Log.w("Speech Error", "Error code: " + error); Log.w("Speech Error", "Error code: " + error);
} }
@ -170,8 +164,9 @@ public class RecognizerApi implements RecognitionListener {
public void onResults(Bundle results) { public void onResults(Bundle results) {
processingPd.dismiss(); processingPd.dismiss();
ArrayList<String> strings = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION); ArrayList<String> strings = results.getStringArrayList(SpeechRecognizer.RESULTS_RECOGNITION);
if (mListener != null) if (mListener != null) {
mListener.onSpeechResult(strings.size() == 0 ? "" : strings.get(0)); mListener.onSpeechResult(strings == null || strings.size() == 0 ? "" : strings.get(0));
}
} }
@Override @Override

@ -16,8 +16,7 @@ import android.support.v4.app.Fragment;
import android.widget.EditText; import android.widget.EditText;
import android.widget.ImageButton; import android.widget.ImageButton;
import com.todoroo.aacenc.RecognizerApi; import com.todoroo.astrid.voice.RecognizerApi.RecognizerApiListener;
import com.todoroo.aacenc.RecognizerApi.RecognizerApiListener;
import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.utility.Constants; import com.todoroo.astrid.utility.Constants;
@ -81,8 +80,7 @@ public class VoiceRecognizer {
public void startVoiceRecognition(Context context, Fragment fragment) { public void startVoiceRecognition(Context context, Fragment fragment) {
if (speechRecordingAvailable(context) && recognizerApi != null) { if (speechRecordingAvailable(context) && recognizerApi != null) {
recognizerApi.start(Constants.PACKAGE, recognizerApi.start(Constants.PACKAGE,
context.getString(R.string.audio_speak_now), context.getString(R.string.audio_speak_now));
context.getString(R.string.audio_encoding));
} else { } else {
int prompt = R.string.voice_edit_title_prompt; int prompt = R.string.voice_edit_title_prompt;
if (Preferences.getBoolean(R.string.p_voiceInputCreatesTask, false)) { if (Preferences.getBoolean(R.string.p_voiceInputCreatesTask, false)) {

Loading…
Cancel
Save