am da93c26a: Merge change 6271 into donut
Merge commit 'da93c26a3d2ee0b7d51561b786bde63b7b238c50'
* commit 'da93c26a3d2ee0b7d51561b786bde63b7b238c50':
Propagating the error codes through the TtsService
diff --git a/core/java/android/speech/tts/ITts.aidl b/core/java/android/speech/tts/ITts.aidl
index 5612ecd..c9a6180 100755
--- a/core/java/android/speech/tts/ITts.aidl
+++ b/core/java/android/speech/tts/ITts.aidl
@@ -27,15 +27,15 @@
* {@hide}
*/
interface ITts {
- void setSpeechRate(in int speechRate);
+ int setSpeechRate(in int speechRate);
- void setPitch(in int pitch);
+ int setPitch(in int pitch);
- void speak(in String text, in int queueMode, in String[] params);
+ int speak(in String text, in int queueMode, in String[] params);
boolean isSpeaking();
- void stop();
+ int stop();
void addSpeech(in String text, in String packageName, in int resId);
@@ -45,11 +45,11 @@
int isLanguageAvailable(in String language, in String country, in String variant);
- void setLanguage(in String language, in String country, in String variant);
+ int setLanguage(in String language, in String country, in String variant);
boolean synthesizeToFile(in String text, in String[] params, in String outputDirectory);
- void playEarcon(in String earcon, in int queueMode, in String[] params);
+ int playEarcon(in String earcon, in int queueMode, in String[] params);
void addEarcon(in String earcon, in String packageName, in int resId);
@@ -59,5 +59,5 @@
void unregisterCallback(ITtsCallback cb);
- void playSilence(in long duration, in int queueMode, in String[] params);
+ int playSilence(in long duration, in int queueMode, in String[] params);
}
diff --git a/packages/TtsService/src/android/tts/SynthProxy.java b/packages/TtsService/src/android/tts/SynthProxy.java
index 11a4380..bb16b14 100755
--- a/packages/TtsService/src/android/tts/SynthProxy.java
+++ b/packages/TtsService/src/android/tts/SynthProxy.java
@@ -45,15 +45,15 @@
/**
* Stops and clears the AudioTrack.
*/
- public void stop() {
- native_stop(mJniData);
+ public int stop() {
+ return native_stop(mJniData);
}
/**
* Synthesize speech and speak it directly using AudioTrack.
*/
- public void speak(String text) {
- native_speak(mJniData, text);
+ public int speak(String text) {
+ return native_speak(mJniData, text);
}
/**
@@ -61,12 +61,10 @@
* WAV file to the given path, assuming it is writable. Something like
* "/sdcard/???.wav" is recommended.
*/
- public void synthesizeToFile(String text, String filename) {
- native_synthesizeToFile(mJniData, text, filename);
+ public int synthesizeToFile(String text, String filename) {
+ return native_synthesizeToFile(mJniData, text, filename);
}
- // TODO add IPA methods
-
/**
* Queries for language support.
* Return codes are defined in android.speech.tts.TextToSpeech
@@ -78,29 +76,29 @@
/**
* Sets the language.
*/
- public void setLanguage(String language, String country, String variant) {
- native_setLanguage(mJniData, language, country, variant);
+ public int setLanguage(String language, String country, String variant) {
+ return native_setLanguage(mJniData, language, country, variant);
}
/**
* Loads the language: it's not set, but prepared for use later.
*/
- public void loadLanguage(String language, String country, String variant) {
- native_loadLanguage(mJniData, language, country, variant);
+ public int loadLanguage(String language, String country, String variant) {
+ return native_loadLanguage(mJniData, language, country, variant);
}
/**
* Sets the speech rate.
*/
- public final void setSpeechRate(int speechRate) {
- native_setSpeechRate(mJniData, speechRate);
+ public final int setSpeechRate(int speechRate) {
+ return native_setSpeechRate(mJniData, speechRate);
}
/**
* Sets the pitch of the synthesized voice.
*/
- public final void setPitch(int pitch) {
- native_setPitch(mJniData, pitch);
+ public final int setPitch(int pitch) {
+ return native_setPitch(mJniData, pitch);
}
/**
diff --git a/packages/TtsService/src/android/tts/TtsService.java b/packages/TtsService/src/android/tts/TtsService.java
index 5c0c55c..5c3c560 100755
--- a/packages/TtsService/src/android/tts/TtsService.java
+++ b/packages/TtsService/src/android/tts/TtsService.java
@@ -212,17 +212,17 @@
}
- private void setSpeechRate(int rate) {
+ private int setSpeechRate(int rate) {
if (isDefaultEnforced()) {
- nativeSynth.setSpeechRate(getDefaultRate());
+ return nativeSynth.setSpeechRate(getDefaultRate());
} else {
- nativeSynth.setSpeechRate(rate);
+ return nativeSynth.setSpeechRate(rate);
}
}
- private void setPitch(int pitch) {
- nativeSynth.setPitch(pitch);
+ private int setPitch(int pitch) {
+ return nativeSynth.setPitch(pitch);
}
@@ -237,13 +237,13 @@
}
- private void setLanguage(String lang, String country, String variant) {
+ private int setLanguage(String lang, String country, String variant) {
Log.v("TTS", "TtsService.setLanguage(" + lang + ", " + country + ", " + variant + ")");
if (isDefaultEnforced()) {
- nativeSynth.setLanguage(getDefaultLanguage(), getDefaultCountry(),
+ return nativeSynth.setLanguage(getDefaultLanguage(), getDefaultCountry(),
getDefaultLocVariant());
} else {
- nativeSynth.setLanguage(lang, country, variant);
+ return nativeSynth.setLanguage(lang, country, variant);
}
}
@@ -314,7 +314,7 @@
* An ArrayList of parameters. This is not implemented for all
* engines.
*/
- private void speak(String text, int queueMode, ArrayList<String> params) {
+ private int speak(String text, int queueMode, ArrayList<String> params) {
if (queueMode == 0) {
stop();
}
@@ -322,6 +322,7 @@
if (!mIsSpeaking) {
processSpeechQueue();
}
+ return TextToSpeech.TTS_SUCCESS;
}
/**
@@ -336,7 +337,7 @@
* An ArrayList of parameters. This is not implemented for all
* engines.
*/
- private void playEarcon(String earcon, int queueMode,
+ private int playEarcon(String earcon, int queueMode,
ArrayList<String> params) {
if (queueMode == 0) {
stop();
@@ -345,16 +346,17 @@
if (!mIsSpeaking) {
processSpeechQueue();
}
+ return TextToSpeech.TTS_SUCCESS;
}
/**
* Stops all speech output and removes any utterances still in the queue.
*/
- private void stop() {
+ private int stop() {
Log.i("TTS", "Stopping");
mSpeechQueue.clear();
- nativeSynth.stop();
+ int result = nativeSynth.stop();
mIsSpeaking = false;
if (mPlayer != null) {
try {
@@ -364,13 +366,14 @@
}
}
Log.i("TTS", "Stopped");
+ return result;
}
public void onCompletion(MediaPlayer arg0) {
processSpeechQueue();
}
- private void playSilence(long duration, int queueMode,
+ private int playSilence(long duration, int queueMode,
ArrayList<String> params) {
if (queueMode == 0) {
stop();
@@ -379,6 +382,7 @@
if (!mIsSpeaking) {
processSpeechQueue();
}
+ return TextToSpeech.TTS_SUCCESS;
}
private void silence(final long duration) {
@@ -725,12 +729,12 @@
* An ArrayList of parameters. The first element of this
* array controls the type of voice to use.
*/
- public void speak(String text, int queueMode, String[] params) {
+ public int speak(String text, int queueMode, String[] params) {
ArrayList<String> speakingParams = new ArrayList<String>();
if (params != null) {
speakingParams = new ArrayList<String>(Arrays.asList(params));
}
- mSelf.speak(text, queueMode, speakingParams);
+ return mSelf.speak(text, queueMode, speakingParams);
}
/**
@@ -744,12 +748,12 @@
* @param params
* An ArrayList of parameters.
*/
- public void playEarcon(String earcon, int queueMode, String[] params) {
+ public int playEarcon(String earcon, int queueMode, String[] params) {
ArrayList<String> speakingParams = new ArrayList<String>();
if (params != null) {
speakingParams = new ArrayList<String>(Arrays.asList(params));
}
- mSelf.playEarcon(earcon, queueMode, speakingParams);
+ return mSelf.playEarcon(earcon, queueMode, speakingParams);
}
/**
@@ -763,20 +767,20 @@
* @param params
* An ArrayList of parameters.
*/
- public void playSilence(long duration, int queueMode, String[] params) {
+ public int playSilence(long duration, int queueMode, String[] params) {
ArrayList<String> speakingParams = new ArrayList<String>();
if (params != null) {
speakingParams = new ArrayList<String>(Arrays.asList(params));
}
- mSelf.playSilence(duration, queueMode, speakingParams);
+ return mSelf.playSilence(duration, queueMode, speakingParams);
}
/**
* Stops all speech output and removes any utterances still in the
* queue.
*/
- public void stop() {
- mSelf.stop();
+ public int stop() {
+ return mSelf.stop();
}
/**
@@ -849,8 +853,8 @@
* @param speechRate
* The speech rate that should be used
*/
- public void setSpeechRate(int speechRate) {
- mSelf.setSpeechRate(speechRate);
+ public int setSpeechRate(int speechRate) {
+ return mSelf.setSpeechRate(speechRate);
}
/**
@@ -860,8 +864,8 @@
* @param pitch
* The pitch that should be used for the synthesized voice
*/
- public void setPitch(int pitch) {
- mSelf.setPitch(pitch);
+ public int setPitch(int pitch) {
+ return mSelf.setPitch(pitch);
}
/**
@@ -895,8 +899,8 @@
* @param country the three letter ISO country code.
* @param variant the variant code associated with the country and language pair.
*/
- public void setLanguage(String lang, String country, String variant) {
- mSelf.setLanguage(lang, country, variant);
+ public int setLanguage(String lang, String country, String variant) {
+ return mSelf.setLanguage(lang, country, variant);
}
/**