Adding GetSampleText activity to SVOX Pico so that it can self
report its language strings for each language.
diff --git a/pico/AndroidManifest.xml b/pico/AndroidManifest.xml
index 367f2d2..33f838d 100755
--- a/pico/AndroidManifest.xml
+++ b/pico/AndroidManifest.xml
@@ -47,6 +47,14 @@
</intent-filter>
</activity>
+ <activity android:name=".GetSampleText" android:label="@string/app_name"
+ android:theme="@android:style/Theme.Translucent.NoTitleBar">
+ <intent-filter>
+ <action android:name="android.speech.tts.engine.GET_SAMPLE_TEXT" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ </activity>
+
<activity android:enabled="true" android:name=".Pico"
android:hasCode="false" android:label="@string/app_name"
android:theme="@android:style/Theme.Translucent.NoTitleBar">
diff --git a/pico/res/values/strings.xml b/pico/res/values/strings.xml
index 527b049..1180294 100755
--- a/pico/res/values/strings.xml
+++ b/pico/res/values/strings.xml
@@ -17,6 +17,13 @@
*/
-->
+<!-- TODO: "with Pico" needs to be translated -->
<resources>
<string name="app_name">Pico TTS</string>
+ <string name="eng_usa_sample">This is an example of speech synthesis in English with Pico.</string>
+ <string name="eng_gbr_sample">This is an example of speech synthesis in English with Pico.</string>
+ <string name="fra_fra_sample">Voici un échantillon de synthèse vocale en français with Pico.</string>
+ <string name="deu_deu_sample">Dies ist ein Beispiel für Sprachsynthese in Deutsch with Pico.</string>
+ <string name="ita_ita_sample">Questo è un esempio di sintesi vocale in italiano with Pico.</string>
+ <string name="spa_esp_sample">Este es un ejemplo de síntesis de voz en español with Pico.</string>
</resources>
diff --git a/pico/src/com/svox/pico/GetSampleText.java b/pico/src/com/svox/pico/GetSampleText.java
new file mode 100755
index 0000000..b8d3820
--- /dev/null
+++ b/pico/src/com/svox/pico/GetSampleText.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.svox.pico;
+
+import java.io.File;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.os.Bundle;
+import android.speech.tts.TextToSpeech;
+
+import android.util.Log;
+
+/*
+ * Returns the sample text string for the language requested
+ */
+public class GetSampleText extends Activity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ int result = TextToSpeech.LANG_AVAILABLE;
+ Intent returnData = new Intent();
+
+ Intent i = getIntent();
+ String language = i.getExtras().getString("language");
+ String country = i.getExtras().getString("country");
+ String variant = i.getExtras().getString("variant");
+
+ if (language.equals("eng")) {
+ if (country.equals("GBR")){
+ returnData.putExtra("sampleText", getString(R.string.eng_gbr_sample));
+ } else {
+ returnData.putExtra("sampleText", getString(R.string.eng_usa_sample));
+ }
+ } else if (language.equals("fra")) {
+ returnData.putExtra("sampleText", getString(R.string.fra_fra_sample));
+ } else if (language.equals("ita")) {
+ returnData.putExtra("sampleText", getString(R.string.ita_ita_sample));
+ } else if (language.equals("deu")) {
+ returnData.putExtra("sampleText", getString(R.string.deu_deu_sample));
+ } else if (language.equals("spa")) {
+ returnData.putExtra("sampleText", getString(R.string.spa_esp_sample));
+ } else {
+ result = TextToSpeech.LANG_NOT_SUPPORTED;
+ returnData.putExtra("sampleText", "");
+ }
+
+ setResult(result, returnData);
+ finish();
+ }
+}