Merge "Cherry-pick 97432e866eedd2a179242fa7017e03b6febe4887 to froyo." into froyo
diff --git a/core/java/android/speech/tts/ITts.aidl b/core/java/android/speech/tts/ITts.aidl
index 2ed660a..df8ea0c 100755
--- a/core/java/android/speech/tts/ITts.aidl
+++ b/core/java/android/speech/tts/ITts.aidl
@@ -61,5 +61,7 @@
int playSilence(in String callingApp, in long duration, in int queueMode, in String[] params);
- int setEngineByPackageName(in String enginePackageName);
+ int setEngineByPackageName(in String enginePackageName);
+
+ String getDefaultEngine();
}
diff --git a/core/java/android/speech/tts/TextToSpeech.java b/core/java/android/speech/tts/TextToSpeech.java
index 80b3a74..69b60db 100755
--- a/core/java/android/speech/tts/TextToSpeech.java
+++ b/core/java/android/speech/tts/TextToSpeech.java
@@ -1340,4 +1340,43 @@
}
}
+
+ /**
+ * Gets the packagename of the default speech synthesis engine.
+ *
+ * @return Packagename of the TTS engine that the user has chosen as their default.
+ *
+ * @hide
+ */
+ public String getDefaultEngine() {
+ synchronized (mStartLock) {
+ String engineName = "";
+ if (!mStarted) {
+ return engineName;
+ }
+ try {
+ engineName = mITts.getDefaultEngine();
+ } catch (RemoteException e) {
+ // TTS died; restart it.
+ Log.e("TextToSpeech.java - setEngineByPackageName", "RemoteException");
+ e.printStackTrace();
+ mStarted = false;
+ initTts();
+ } catch (NullPointerException e) {
+ // TTS died; restart it.
+ Log.e("TextToSpeech.java - setEngineByPackageName", "NullPointerException");
+ e.printStackTrace();
+ mStarted = false;
+ initTts();
+ } catch (IllegalStateException e) {
+ // TTS died; restart it.
+ Log.e("TextToSpeech.java - setEngineByPackageName", "IllegalStateException");
+ e.printStackTrace();
+ mStarted = false;
+ initTts();
+ } finally {
+ return engineName;
+ }
+ }
+ }
}
diff --git a/packages/TtsService/src/android/tts/TtsService.java b/packages/TtsService/src/android/tts/TtsService.java
index 0d2921e..ae48e0e 100755
--- a/packages/TtsService/src/android/tts/TtsService.java
+++ b/packages/TtsService/src/android/tts/TtsService.java
@@ -1436,6 +1436,15 @@
return mSelf.setEngine(packageName);
}
+ /**
+ * Returns the packagename of the default speech synthesis engine.
+ *
+ * @return Packagename of the TTS engine that the user has chosen as their default.
+ */
+ public String getDefaultEngine() {
+ return mSelf.getDefaultEngine();
+ }
+
};
}