├── Android.mk
├── AndroidManifest.xml
├── CleanSpec.mk
├── MODULE_LICENSE_APACHE2
├── NOTICE
├── res
├── drawable-hdpi
│ ├── app_voicedialer.png
│ ├── ic_vd_green_key.png
│ ├── ic_vd_mic_off.png
│ ├── ic_vd_mic_on.png
│ └── ic_vd_retry.png
├── drawable-mdpi
│ ├── app_voicedialer.png
│ ├── ic_vd_green_key.png
│ ├── ic_vd_mic_off.png
│ ├── ic_vd_mic_on.png
│ └── ic_vd_retry.png
├── layout
│ ├── tool_tip.xml
│ └── voice_dialing.xml
├── values-af
│ └── strings.xml
├── values-am
│ └── strings.xml
├── values-ar
│ └── strings.xml
├── values-bg
│ └── strings.xml
├── values-bn-rBD
│ └── strings.xml
├── values-ca
│ └── strings.xml
├── values-cs
│ └── strings.xml
├── values-da
│ └── strings.xml
├── values-de
│ └── strings.xml
├── values-el
│ └── strings.xml
├── values-en-rGB
│ └── strings.xml
├── values-en-rIN
│ └── strings.xml
├── values-es-rUS
│ └── strings.xml
├── values-es
│ └── strings.xml
├── values-et-rEE
│ └── strings.xml
├── values-fa
│ └── strings.xml
├── values-fi
│ └── strings.xml
├── values-fr
│ └── strings.xml
├── values-hi
│ └── strings.xml
├── values-hr
│ └── strings.xml
├── values-hu
│ └── strings.xml
├── values-in
│ └── strings.xml
├── values-it
│ └── strings.xml
├── values-iw
│ └── strings.xml
├── values-ja
│ └── strings.xml
├── values-ko
│ └── strings.xml
├── values-lt
│ └── strings.xml
├── values-lv
│ └── strings.xml
├── values-ms-rMY
│ └── strings.xml
├── values-nb
│ └── strings.xml
├── values-nl
│ └── strings.xml
├── values-pl
│ └── strings.xml
├── values-pt-rPT
│ └── strings.xml
├── values-pt
│ └── strings.xml
├── values-ro
│ └── strings.xml
├── values-ru
│ └── strings.xml
├── values-sk
│ └── strings.xml
├── values-sl
│ └── strings.xml
├── values-sr
│ └── strings.xml
├── values-sv
│ └── strings.xml
├── values-sw
│ └── strings.xml
├── values-th
│ └── strings.xml
├── values-tl
│ └── strings.xml
├── values-tr
│ └── strings.xml
├── values-uk
│ └── strings.xml
├── values-vi
│ └── strings.xml
├── values-zh-rCN
│ └── strings.xml
├── values-zh-rHK
│ └── strings.xml
├── values-zh-rTW
│ └── strings.xml
├── values-zu
│ └── strings.xml
└── values
│ └── strings.xml
├── src
└── com
│ └── android
│ └── voicedialer
│ ├── CommandRecognizerEngine.java
│ ├── PhoneTypeChoiceRecognizerEngine.java
│ ├── RecognizerClient.java
│ ├── RecognizerEngine.java
│ ├── RecognizerLogger.java
│ ├── VoiceContact.java
│ ├── VoiceDialerActivity.java
│ ├── VoiceDialerReceiver.java
│ └── VoiceDialerTester.java
└── tests
├── Android.mk
├── AndroidManifest.xml
└── src
└── com
└── android
└── voicedialer
└── VoiceDialerLaunchPerformance.java
/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | LOCAL_MODULE_TAGS := optional
5 |
6 | LOCAL_SRC_FILES := $(call all-java-files-under, src) \
7 |
8 | LOCAL_PACKAGE_NAME := VoiceDialer
9 |
10 | LOCAL_MULTILIB := 32
11 |
12 | LOCAL_JNI_SHARED_LIBRARIES := libsrec_jni
13 |
14 | LOCAL_PRIVILEGED_MODULE := true
15 |
16 | include $(BUILD_PACKAGE)
17 |
18 | # Install the srec data files if VoiceDialer.apk is installed to system image.
19 | include external/srec/config/en.us/config.mk
20 | $(LOCAL_INSTALLED_MODULE) : | $(SREC_CONFIG_TARGET_FILES)
21 | # SREC_CONFIG_TARGET_FILES is from external/srec/config/en.us/config.mk and now can be cleaned up.
22 | SREC_CONFIG_TARGET_FILES :=
23 |
24 | # Use the following include to make our test apk.
25 | include $(call all-makefiles-under,$(LOCAL_PATH))
26 |
--------------------------------------------------------------------------------
/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/CleanSpec.mk:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2007 The Android Open Source Project
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 | #
15 |
16 | # If you don't need to do a full clean build but would like to touch
17 | # a file or delete some intermediate files, add a clean step to the end
18 | # of the list. These steps will only be run once, if they haven't been
19 | # run before.
20 | #
21 | # E.g.:
22 | # $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
23 | # $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
24 | #
25 | # Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
26 | # files that are missing or have been moved.
27 | #
28 | # Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
29 | # Use $(OUT_DIR) to refer to the "out" directory.
30 | #
31 | # If you need to re-do something that's already mentioned, just copy
32 | # the command and add it to the bottom of the list. E.g., if a change
33 | # that you made last week required touching a file and a change you
34 | # made today requires touching the same file, just copy the old
35 | # touch step and add it to the end of the list.
36 | #
37 | # ************************************************
38 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
39 | # ************************************************
40 |
41 | # For example:
42 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
43 | #$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
44 | #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
45 | #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
46 |
47 | # ************************************************
48 | # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
49 | # ************************************************
50 |
--------------------------------------------------------------------------------
/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/res/drawable-hdpi/app_voicedialer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-hdpi/app_voicedialer.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_vd_green_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-hdpi/ic_vd_green_key.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_vd_mic_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-hdpi/ic_vd_mic_off.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_vd_mic_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-hdpi/ic_vd_mic_on.png
--------------------------------------------------------------------------------
/res/drawable-hdpi/ic_vd_retry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-hdpi/ic_vd_retry.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/app_voicedialer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-mdpi/app_voicedialer.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_vd_green_key.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-mdpi/ic_vd_green_key.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_vd_mic_off.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-mdpi/ic_vd_mic_off.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_vd_mic_on.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-mdpi/ic_vd_mic_on.png
--------------------------------------------------------------------------------
/res/drawable-mdpi/ic_vd_retry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CyanogenMod/android_packages_apps_VoiceDialer/ae3c271041058f4bafa9691c3f80342d435cbee8/res/drawable-mdpi/ic_vd_retry.png
--------------------------------------------------------------------------------
/res/layout/tool_tip.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
27 |
28 |
32 |
33 |
37 |
38 |
41 |
42 |
45 |
46 |
50 |
51 |
52 |
53 |
54 |
--------------------------------------------------------------------------------
/res/layout/voice_dialing.xml:
--------------------------------------------------------------------------------
1 |
2 |
20 |
21 |
26 |
27 |
33 |
34 |
38 |
39 |
43 |
44 |
47 |
48 |
54 |
55 |
61 |
62 |
68 |
69 |
70 |
71 |
75 |
76 |
77 |
78 |
79 |
--------------------------------------------------------------------------------
/res/values-af/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Stembeller"
20 | "Het jy geweet…"
21 | "Druk en en hou die groen Bel-knoppie in om die Stembeller te open."
22 | " Voorbeelde: "" \n\"Bel Piet Pompies\" \n\"Bel Piet Pompies tuis, ...\" \n\"Bel stempos\" \n\"Bel (866) 555 0123\" \n\"Bel 911, 811, ...\" \n\"Bel +27 7333 444 555\" \n\"Bel weer\" \n\"Open kalender\" "
23 | "Stembeller"
24 | "Bluetooth-stembeller"
25 | "Begin tans..."
26 | "Luister tans…"
27 | "Probeer weer."
28 | "Kon nie inisialiseer nie"
29 | "Herbegin jou foon en probeer weer."
30 | "Verbinding met kopfoon verloor."
31 | " tuis"
32 | " op selfoon"
33 | " by die werk"
34 | " by ander"
35 | "Stembeller-logskryf is aangeskakel."
36 | "Stembeller-logskryf is afgeskakel."
37 | "Praat nou."
38 | "Geen resultate nie, probeer weer."
39 | "Ongeldige keuse."
40 | "Tot siens."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-am/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "በድምፅ መደወያ"
20 | "ያውቁ ኖሯል..."
21 | "& መጫን አረንጓዴውን የጥሪ አዝራር በመያዝ የድምፅ መደወያውን ይከፍታል።"
22 | " ምሳሌዎች፡"\n"\" ለከበደ ሚካኤል ደውል\" \n\" ከበደ ሚካኤል ቤትደውል....\"\n\" በድምፅ መልዕክት ደውል\"\n\" (011) 012 3456 ደውል\"\n\"911፣997 ደውል\"\n\" +251 1234 567 890 ደውል\"\n\" ድጋሚ ደውል\"\n\" ቀን መቁጠሪያ ክፈት\""
23 | "የድምፅ ደዋይ"
24 | "የብሉቱዝ ድምፅ ደዋይ"
25 | "በመጀመር ላይ…"
26 | "በማዳመጥ ላይ..."
27 | "እንደገና ሞክር::"
28 | "ማስጀመር አልተቻለም"
29 | "ስልክህን ዳግም አስጀምር እና እንደገና ሞክር፡፡"
30 | "የተያያዥ ማዳመጫ ጠፍቷል።"
31 | " በመነሻ ገፅ"
32 | " በተንቀሳቃሽላይ"
33 | " በሥራ"
34 | " በሌላ"
35 | "የድምፅ ደዋይ ግባ ተነስቷል፡፡"
36 | "የድምፅ ደዋይ ግባ ጠፍቷል፡፡"
37 | "አሁን ተናገር።"
38 | "ምንም ውጤቶች የሉም፣ እንደገና ሞክር"
39 | "ትክክል ያልሆነ ምርጫ"
40 | "ቻው"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-ar/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Voice Dialer"
20 | "هل تعلم..."
21 | "يؤدي الضغط مع الاستمرار على زر الاتصال الأخضر إلى فتح Voice Dialer."
22 | " أمثلة: "" \n\"الاتصال بعمار ياسر\" \n\"الاتصال بعمار ياسر بالمنزل، …\" \n\"الاتصال بالبريد الصوتي\" \n\"طلب 0123 555 (866)\"\n\"طلب 911، 811، …\" \n\"طلب 555 444 7333 44+\" \n\"إعادة الطلب\" \n\"فتح التقويم\" "
23 | "Voice Dialer"
24 | "Voice Dialer للبلوتوث"
25 | "جارٍ التشغيل..."
26 | "جارٍ الاستماع..."
27 | "أعد المحاولة."
28 | "تتعذر التهيئة"
29 | "أعد تشغيل الهاتف، ثم أعد المحاولة."
30 | "تم فقد الاتصال بسماعة الرأس."
31 | " بالمنزل"
32 | " بالجوال"
33 | " بالعمل"
34 | " برقم آخر"
35 | "تم تشغيل تسجيل Voice Dialer."
36 | "تم إيقاف تسجيل Voice Dialer."
37 | "تحدث الآن."
38 | "لا نتائج، حاول مرة أخرى."
39 | "اختيار غير صالح"
40 | "وداعًا."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-bg/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Гласово набиране"
20 | "Знаете ли, че..."
21 | "Натискането и задържането на зеления бутон за обаждане отваря Гласово набиране."
22 | " Примери: "" \n„Обаждане на Иван Петров“ \n„Обаждане на Иван Петров вкъщи, …“ \n„Обаждане на гласовата поща“ \n„Набиране на (866) 555 0123“ \n„Набиране на 911, 811, ...“ \n„Набиране на +44 7333 444 555“ \n„Повторно набиране на“ \n„Отваряне на Календар“ "
23 | "Гласово набиране"
24 | "Гласово набиране с Bluetooth"
25 | "Стартира се..."
26 | "Слуша се..."
27 | "Опитайте отново."
28 | "Не можа да започне"
29 | "Рестартирайте телефона си, след което опитайте отново."
30 | "Връзката със слушалките е загубена."
31 | " вкъщи"
32 | " на мобилния"
33 | " на служебния"
34 | " на други"
35 | "Влизането с Гласово набиране е включено."
36 | "Влизането с Гласово набиране е изключено."
37 | "Говорете сега."
38 | "Няма резултати, опитайте отново."
39 | "Невалиден избор."
40 | "Довиждане."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-bn-rBD/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Taleringer"
20 | "Visste du at…"
21 | "Taleringeren aktiveres om du holder nede den grønne ringeknappen."
22 | " Eksempler: "" \n«Call John Doe» \n«Call John Doe at home, …» \n«Call voicemail» \n«Dial (866) 555 0123» \n«Dial 911, 811, …» \n«Dial +44 7333 444 555» \n«Redial» \n«Open Calendar» "
23 | "Taleringer"
24 | "Bluetooth talestyrt oppringing"
25 | "Starter opp …"
26 | "Lytter…"
27 | "Prøv igjen."
28 | "Kunne ikke initialisere"
29 | "Start telefonen på nytt og prøv igjen."
30 | "Mistet tilkobling til hodetelefonene."
31 | " hjemme"
32 | " på mobilen"
33 | " på arbeid"
34 | " på annen"
35 | "Logging av talestyrt oppringing er slått på."
36 | "Logging av talestyrt oppringing er slått av."
37 | "Snakk nå."
38 | "Ingen resultater, prøv på nytt."
39 | "Ugyldig valg."
40 | "Adjø."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-ca/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Marcador de veu"
20 | "Sabíeu que..."
21 | "Si manteniu premut el botó verd de trucada s\'obre el Marcador de veu."
22 | " Exemples: "" \n\"Truca a Jordi Grau\" \n\"Truca a Jordi Grau a casa, …\" \n\"Truca al correu de veu\" \n\"Marca el (866) 555 0123\" \n\"Marca el 911, 811, …\" \n\"Marca el +44 7333 444 555\" \n\"Torna a marcar\" \n\"Obre el calendari\" "
23 | "Marcador de veu"
24 | "Marcador de veu Bluetooth"
25 | "S\'està iniciant..."
26 | "S\'està escoltant..."
27 | "Torna-ho a provar."
28 | "No s\'ha pogut inicialitzar"
29 | "Reinicia el telèfon i torna-ho a provar."
30 | "S\'ha perdut la connexió amb l\'auricular."
31 | " a casa"
32 | " al mòbil"
33 | " a la feina"
34 | " en un altre"
35 | "S\'ha activat el registre de marcatge per veu."
36 | "S\'ha desactivat el registre de marcatge per veu."
37 | "Parleu ara."
38 | "No hi ha cap resultat; torneu-ho a provar."
39 | "Selecció no vàlida."
40 | "Adéu."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-cs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Hlasové vytáčení"
20 | "Víte, že..."
21 | "Stisknutím a přidržením zeleného tlačítka Volat spustíte hlasové vytáčení."
22 | " Příklady: "" \n„Volat Karel Vacek“ \n„Volat Karel Vacek domů, ...“ \n„Volat hlasová schránka“ \n„Vytočit 2 22 33 911 55“ \n„Vytočit 155, 555, ...“ \n„Vytočit +420 2 22 33 44 55“ \n„Znovu vytočit“ \n„Otevřít Kalendář“ "
23 | "Hlasové vytáčení"
24 | "Hlasové vytáčení Bluetooth"
25 | "Spouštění..."
26 | "Poslouchám..."
27 | "Zkusit znovu."
28 | "Inicializace se nezdařila."
29 | "Restartujte telefon a zkuste to znovu."
30 | "Připojení k náhlavní soupravě bylo přerušeno."
31 | " domů"
32 | " mobil"
33 | " práce"
34 | " jiné"
35 | "Protokolování Hlasového vytáčení je zapnuto."
36 | "Protokolování Hlasového vytáčení je vypnuto."
37 | "Mluvte."
38 | "Žádné výsledky, zkuste to znovu."
39 | "Neplatná volba."
40 | "Na shledanou."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-da/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Stemmeopkald"
20 | "Vidste du ..."
21 | "Hvis du trykker og holder på den grønne opkaldsknap åbnes Stemmeopkald."
22 | " Eksempler: "" \n\"Ring til Peter Hansen\" \n\"Ring til Peter Hansen hjemme, …\" \n\"Ring til voicemail\" \n\"Ring til 55 12 34 56\" \n\"Ring til 119, 118, …\" \n\"Ring til +45 55 44 33 22\" \n\"Ring igen\" \n\"Åbn kalender\" "
23 | "Stemmeopkald"
24 | "Stemmeopkald via Bluetooth"
25 | "Starter..."
26 | "Lytter ..."
27 | "Prøv igen."
28 | "Der kunne ikke initialiseres"
29 | "Genstart telefonen, og prøv igen."
30 | "Forbindelsen til headsettet blev afbrudt."
31 | " hjemme"
32 | " på mobilen"
33 | " på arbejde"
34 | " på andet"
35 | "Logføring i Stemmeopkald er aktiveret."
36 | "Logføring i Stemmeopkald er deaktiveret."
37 | "Tal nu."
38 | "Ingen resultater. Prøv igen."
39 | "Ugyldigt valg."
40 | "Farvel."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-de/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Sprachwahl"
20 | "Wussten Sie schon..."
21 | "Durch Drücken und Halten der grünen Anruftaste wird die Sprachwahl geöffnet."
22 | " Beispiele: "" \n\"Max Muster anrufen\" \n\"Max Muster zu Hause anrufen\" \n\"Mailbox anrufen\" \n\"(040) 123 4567 wählen\" \n\"110, 112, … wählen\" \n\"+44 7333 444 555 wählen\" \n\"Wahlwiederholung\" \n\"Kalender öffnen\" "
23 | "Sprachwahl"
24 | "Bluetooth-Voice-Dialer"
25 | "Startvorgang..."
26 | "Jetzt sprechen..."
27 | "Bitte versuchen Sie es erneut."
28 | "Initialisierung nicht möglich"
29 | "Starten Sie Ihr Telefon neu und versuchen Sie es dann erneut."
30 | "Keine Headset-Verbindung"
31 | " Privat"
32 | " Mobil"
33 | " Geschäftlich"
34 | " Sonstige"
35 | "Die Sprachwahl-Protokollierung ist aktiviert."
36 | "Die Sprachwahl-Protokollierung ist deaktiviert."
37 | "Jetzt sprechen..."
38 | "Keine Ergebnisse, versuchen Sie es erneut."
39 | "Ungültige Auswahl"
40 | "Bis bald."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-el/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Φωνητική κλήση"
20 | "Γνωρίζατε ότι..."
21 | "Πατώντας & κρατώντας πατημένο το πράσινο κουμπί Κλήσης ανοίγει η Φωνητική Κλήση."
22 | " Παραδείγματα: "" \n\"Κάλεσε τον Γιώργο Ιωάννου\" \n\"Κάλεσε τον Γιώργο Ιωάννου στο σπίτι, …\" \n\"Κάλεσε τον αυτόματο τηλεφωνητή\" \n\"Κάλεσε (866) 555 0123\" \n\"Κάλεσε 911, 811, …\" \n\"Κάλεσε +44 7333 444 555\" \n\"Επανάκληση\" \n\"Άνοιξε το Ημερολόγιο\" "
23 | "Φωνητική κλήση"
24 | "Φωνητική κλήση Bluetooth"
25 | "Εκκίνηση..."
26 | "Ακρόαση..."
27 | "Δοκιμάστε ξανά."
28 | "Δεν ήταν δυνατή η προετοιμασία"
29 | "Επανεκκινήστε το τηλέφωνό σας και προσπαθήστε ξανά."
30 | "Η σύνδεση με το ακουστικό διακόπηκε."
31 | " στο σπίτι"
32 | " στο κινητό"
33 | " στη δουλειά"
34 | " σε άλλον"
35 | "Η καταγραφή φωνητικών κλήσεων έχει ενεργοποιηθεί."
36 | "Η καταγραφή φωνητικών κλήσεων έχει απενεργοποιηθεί."
37 | "Μιλήστε τώρα."
38 | "Κανένα αποτέλεσμα, δοκιμάστε ξανά."
39 | "Μη έγκυρη επιλογή."
40 | "Αντίο."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-en-rGB/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Voice Dialler"
20 | "Did you know…"
21 | "Pressing & holding the green Call button opens the Voice Dialler."
22 | " Examples: "" \n\"Call John Smith\" \n\"Call John Smith at home, …\" \n\"Call voicemail\" \n\"Dial (866) 555 0123\" \n\"Dial 911, 811, …\" \n\"Dial +44 7333 444 555\" \n\"Redial\" \n\"Open Calendar\" "
23 | "Voice Dialler"
24 | "Bluetooth Voice Dialler"
25 | "Starting up…"
26 | "Listening…"
27 | "Try again."
28 | "Couldn\'t initialise"
29 | "Restart your phone then try again."
30 | "Connection to headset lost."
31 | " at home"
32 | " on mobile"
33 | " at work"
34 | " at other"
35 | "Voice Dialler logging is turned on."
36 | "Voice Dialler logging is turned off."
37 | "Speak now."
38 | "No results, try again."
39 | "Invalid choice."
40 | "Goodbye."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-en-rIN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Voice Dialler"
20 | "Did you know…"
21 | "Pressing & holding the green Call button opens the Voice Dialler."
22 | " Examples: "" \n\"Call John Smith\" \n\"Call John Smith at home, …\" \n\"Call voicemail\" \n\"Dial (866) 555 0123\" \n\"Dial 911, 811, …\" \n\"Dial +44 7333 444 555\" \n\"Redial\" \n\"Open Calendar\" "
23 | "Voice Dialler"
24 | "Bluetooth Voice Dialler"
25 | "Starting up…"
26 | "Listening…"
27 | "Try again."
28 | "Couldn\'t initialise"
29 | "Restart your phone then try again."
30 | "Connection to headset lost."
31 | " at home"
32 | " on mobile"
33 | " at work"
34 | " at other"
35 | "Voice Dialler logging is turned on."
36 | "Voice Dialler logging is turned off."
37 | "Speak now."
38 | "No results, try again."
39 | "Invalid choice."
40 | "Goodbye."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-es-rUS/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Marcador de voz"
20 | "Sabías que..."
21 | "Si mantienes presionado el botón verde para llamar, se abre Marcador de voz.."
22 | " Ejemplos: "" \n\"Llamar a Juan Pérez\" \n\"Llamar a Juan Pérez a la casa, ...\" \n\"Llamar al correo de voz\"\n\"Marcar (866) 555 0123\" \n\"Marcar 911, 811, …\" \n\"Marcar +44 7333 444 555\" \n\"Volver a marcar\" \n\"Abrir Calendario\""
23 | "Marcador de voz"
24 | "Voice Dailer de Bluetooth"
25 | "Iniciando..."
26 | "Escuchando..."
27 | "Vuelve a intentarlo."
28 | "No se pudo inicializar"
29 | "Reinicia el teléfono y vuelve a intentarlo."
30 | "Se ha perdido la conexión con los auriculares."
31 | " a la casa"
32 | " al celular"
33 | " al trabajo"
34 | " a otro número"
35 | "El acceso a Marcador de voz está activado."
36 | "El acceso a Marcador de voz está desactivado."
37 | "Habla ahora."
38 | "No se encontraron resultados, vuelve a intentarlo."
39 | "Elección no válida"
40 | "Adiós."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-es/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Marcación por voz"
20 | "¿Sabías que...?"
21 | "Para abrir la ventana de marcación por voz, mantén pulsado el botón verde de llamada."
22 | " Ejemplos: "" \n\"Llamar a Juan Díaz\" \n\"Llamar a Juan Díaz a casa, …\" \n\"Llamar al buzón de voz\" \n\"Marcar (866) 555 0123\" \n\"Marcar 911, 811, …\" \n\"Marcar +44 7333 444 555\" \n\"Volver a marcar\" \n\"Abrir Calendar\" "
23 | "Marcación por voz"
24 | "Marcación por voz a través de Bluetooth"
25 | "Iniciando..."
26 | "Escuchando..."
27 | "Inténtalo de nuevo."
28 | "No se ha podido iniciar."
29 | "Reinicia el teléfono y vuelve a intentarlo."
30 | "Se ha perdido la conexión con los auriculares."
31 | " a casa"
32 | " en móvil"
33 | " al trabajo"
34 | " a otro número"
35 | "Se ha activado el registro de la marcación por voz."
36 | "Se ha desactivado el registro de la marcación por voz."
37 | "Habla ahora"
38 | "No se ha encontrado ningún resultado. Vuelve a intentarlo."
39 | "La selección no es válida."
40 | "Adiós"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-et-rEE/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Häälvalimismoodul"
20 | "Kas teadsite ..."
21 | "Häälvalimismooduli avab rohelise nupu Helista vajutamine ja all hoidmine."
22 | " Näited: "\n"„Helista Jaan Tamm” \n„Helista Jaan Tamm kodus”, … \n„Helista kõneposti” \n„Vali (372) 555 0123” \n„Vali 112, 212, …” \n„Vali + 44 7333 444 555” \n„Vali uuesti” \n„Ava kalender” "
23 | "Häälvalimismoodul"
24 | "Bluetoothi häälvalija"
25 | "Käivitamine ..."
26 | "Kuulamine ..."
27 | "Proovige uuesti."
28 | "Ei saanud installida"
29 | "Taaskäivitage telefon ja proovige uuesti."
30 | "Ühendus peakomplektiga katkes."
31 | " kodus"
32 | " mobiilil"
33 | " tööl"
34 | " muudel"
35 | "Häälvalija logimine on sisse lülitatud."
36 | "Häälvalija logimine on välja lülitatud."
37 | "Alustage rääkimist."
38 | "Tulemusi pole, proovige uuesti."
39 | "Kehtetu valik."
40 | "Kohtumiseni."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-fa/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "شمارهگیر صوتی"
20 | "آیا میدانستید که..."
21 | "با فشردن و نگهداشتن کلید تماس سبز رنگ، شمارهگیر صوتی باز میشود."
22 | " مثالها: "" \n\"با جان دو تماس بگیر\" \n\"با خانه جان دو تماس بگیر، …\" \n\"با پست صوتی تماس بگیر\" \n\"شماره 0123 555 (866) را بگیر\" \n\"با شماره 911، 811، … تماس بگیر\" \n\"با شماره 555 444 7333 44+ تماس بگیر\" \n\"دوباره شماره بگیر\" \n\"تقویم را باز کن\" "
23 | "شمارهگیر صوتی"
24 | "شمارهگیر صوتی بلوتوث"
25 | "در حال راهاندازی..."
26 | "در حال گوش کردن..."
27 | "دوباره امتحان کنید."
28 | "مقداردهی اولیه انجام نشد"
29 | "تلفن خود را مجدداً راهاندازی کنید و دوباره امتحان کنید."
30 | "اتصال به هدست قطع شد."
31 | " در خانه"
32 | " در تلفن همراه"
33 | " در محل کار"
34 | " در سایر مکانها"
35 | "گزارشگیری شمارهگیر صوتی فعال شده است."
36 | "گزارشگیری شمارهگیر صوتی غیر فعال است."
37 | "اکنون صحبت کنید."
38 | "نتیجهای یافت نشد، دوباره امتحان کنید."
39 | "انتخاب نامعتبر است."
40 | "خداحافظ."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-fi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Äänipuhelu"
20 | "Tiesitkö..."
21 | "Voit avata Äänipuhelut pitämällä vihreää puhelupainiketta painettuna."
22 | " Esimerkkejä: "" \n\"Soita kohteelle Matti Meikäläinen\" \n\"Soita kohteelle Matti Meikäläinen kotinumeroon, …\" \n\"Soita kohteelle vastaaja\" \n\"Soita numeroon (866) 555 0123\" \n\"Soita numeroon 911, 811, …\" \n\"Soita numeroon +44 7333 444 555\" \n\"Soita uudelleen\" \n\"Avaa kalenteri\" "
23 | "Äänipuhelu"
24 | "Bluetooth Voice Dialer"
25 | "Käynnistyy..."
26 | "Kuunnellaan..."
27 | "Yritä uudelleen."
28 | "Alustus epäonnistui"
29 | "Käynnistä puhelin uudelleen. Yritä sen jälkeen uudelleen."
30 | "Kuulokemikrofoniyhteys katkesi."
31 | " kotinumeroon"
32 | " kännykkään"
33 | " työnumeroon"
34 | " muussa numerossa"
35 | "Äänipuhelujen lokitallennus on käytössä."
36 | "Äänipuhelujen lokitallennus on pois käytöstä."
37 | "Puhu nyt."
38 | "Ei tuloksia, yritä uudelleen."
39 | "Virheellinen valinta."
40 | "Näkemiin."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-fr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Reconnaissance vocale"
20 | "Saviez-vous que..."
21 | "Appuyez sur le bouton vert Appel et maintenez la touche enfoncée pour ouvrir l\'application Reconnaissance vocale."
22 | " Exemples : "" \n\"Appeler Thomas Durand\" \n\"Appeler Thomas Durand à la maison, …\" \n\"Appeler la messagerie vocale\" \n\"Composer le 01 23 45 67 89\" \n\"Composer le 15, 112, …\" \n\"Composer le +33 6 12 34 56 78\" \n\"Recomposer\" \n\"Ouvrir Google Agenda\" "
23 | "Reconnaissance vocale"
24 | "Appels par reconnaissance vocale via le Bluetooth"
25 | "Démarrage…"
26 | "Écoute en cours…"
27 | "Veuillez réessayer."
28 | "Impossible de procéder à l\'initialisation."
29 | "Rallumez votre téléphone, puis réessayez."
30 | "Connexion au casque perdue"
31 | " à la maison"
32 | " sur le téléphone portable"
33 | " au bureau"
34 | " autre"
35 | "La connexion à l\'application Reconnaissance vocale est activée."
36 | "La connexion à l\'application Reconnaissance vocale est désactivée."
37 | "Parlez maintenant."
38 | "Aucun résultat, réessayez."
39 | "Choix incorrect"
40 | "Au revoir"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-hi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "ध्वनि डायलर"
20 | "क्या आप जानते हैं..."
21 | "हरा कॉल बटन दबाने और पकड़कर रखने पर ध्वनि डायलर खुल जाता है."
22 | " उदाहरण: "" \n\"जॉन डो को कॉल करें\" \n\"जॉन डो को घर पर कॉल करें, …\" \n\"ध्वनिमेल को कॉल करें\" \n\"(866) 555 0123 डायल करें\" \n\"911, 811, … डायल करें\" \n\"+44 7333 444 555 डायल करें\" \n\"पुनः डायल करें\" \n\"कैलेंडर खोलें\" "
23 | "ध्वनि डायलर"
24 | "Bluetooth ध्वनि डायलर"
25 | "प्रारंभ हो रहा है..."
26 | "सुन रहा है..."
27 | "पुनः प्रयास करें."
28 | "प्रारंभ नहीं किया जा सका"
29 | "अपना फ़ोन पुन: प्रारंभ करें फिर पुन: प्रयास करें."
30 | "हेडसेट से कनेक्शन टूट गया."
31 | " घर पर"
32 | " मोबाइल पर"
33 | " कार्य पर"
34 | " दूसरे पर"
35 | "Voice Dialer लॉगिंग चालू है."
36 | "Voice Dialer लॉगिंग बंद है."
37 | "अब बोलें."
38 | "कोई परिणाम नहीं, पुनः प्रयास करें."
39 | "अमान्य पसंद."
40 | "अलविदा."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-hr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Glasovno biranje"
20 | "Jeste li znali…"
21 | "Ako pritisnete i držite zelenu tipku za pozivanje otvorit ćete Glasovno biranje."
22 | " Primjeri: "" \n\"Nazovi Ivana Ivića\" \n\"Nazovi Ivana Ivića kod kuće, …\" \n\"Nazovi govornu poštu\" \n\"Biraj (866) 555 0123\" \n\"Biraj 911, 811, …\" \n\"Biraj +44 7333 444 555\" \n\"Ponovno biraj\" \n\"Otvori kalendar\" "
23 | "Glasovno biranje"
24 | "Bluetooth Glasovno biranje"
25 | "Pokretanje..."
26 | "Slušanje..."
27 | "Pokušajte ponovo."
28 | "Pokretanje nije moguće"
29 | "Ponovo pokrenite telefon pa pokušajte ponovo."
30 | "Veza sa slušalicama je izgubljena."
31 | " kod kuće"
32 | " na mobitel"
33 | " na posao"
34 | " drugdje"
35 | "Uključena je prijava za Glasovno biranje."
36 | "Isključena je prijava za Glasovno biranje."
37 | "Govorite sad."
38 | "Nema rezultata, pokušajte ponovo."
39 | "Nevažeći izbor."
40 | "Zbogom."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-hu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Hangtárcsázó"
20 | "Tudta..."
21 | "A zöld Hívás gomb lenyomásával és nyomva tartásával a Hangtárcsázót nyitja meg."
22 | " Például: "" \n\"John Doe hívása\" \n\"John Doe hívása otthon, …\" \n\"Hangposta hívása\" \n\"(866) 555 0123 tárcsázása\" \n\"911, 811, … tárcsázása\" \n\"+44 7333 444 555 tárcsázása\" \n\"Újratárcsázás\" \n\"Naptár megnyitása\" "
23 | "Hangtárcsázó"
24 | "Bluetooth hangtárcsázó"
25 | "Indítás..."
26 | "Figyelés..."
27 | "Próbálkozzon újra."
28 | "Az előkészítés sikertelen"
29 | "Indítsa újra a telefont, majd próbálkozzon újra."
30 | "Megszakadt a kapcsolat a headsettel."
31 | " otthon"
32 | " mobilon"
33 | " munkahelyen"
34 | " máshol"
35 | "A hangtárcsázó naplózása bekapcsolva."
36 | "A hangtárcsázó naplózása kikapcsolva."
37 | "Most beszéljen."
38 | "Nincs találat, próbálja újra."
39 | "Érvénytelen választás."
40 | "Viszontlátásra."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-in/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Aplikasi Telepon via Suara"
20 | "Mungkin Anda tahu..."
21 | "Menekan & menahan tombol Panggil warna hijau akan membuka Aplikasi Telepon via Suara."
22 | " Contoh: "" \n\"Panggil Budi Setiawan\" \n\"Panggil John Doe di rumah, …\" \n\"Panggil kotak pesan\" \n\"Hubungi (866) 555 0123\" \n\"Hubungi 911, 811, …\" \n\"Hubungi +44 7333 444 555\" \n\"Hubungi Kembali\" \n\"Buka Kalender\" "
23 | "Aplikasi Telepon via Suara"
24 | "Aplikasi Telepon via Suara Bluetooth"
25 | "Memulai..."
26 | "Mendengarkan…"
27 | "Coba lagi."
28 | "Tidak dapat memulai"
29 | "Mulai ulang ponsel Anda lalu coba lagi."
30 | "Sambungan ke headset terputus."
31 | " di rumah"
32 | " pada nomor seluler"
33 | " di kantor"
34 | " di lainnya"
35 | "Penyimpanan log diaktifkan untuk Aplikasi Telepon via Suara."
36 | "Penyimpanan log dinonaktifkan untuk Aplikasi Telepon via Suara."
37 | "Bicara sekarang."
38 | "Tidak ada hasil, coba lagi."
39 | "Pilihan tidak valid."
40 | "Sampai Jumpa."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-it/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Compositore vocale"
20 | "Informazioni utili"
21 | "Premi e tieni premuto il tasto verde Chiama per aprire il compositore vocale."
22 | " Esempi: "" \n\"Chiama Mario Rossi\" \n\"Chiama Mario Rossi a casa, …\" \n\"Messaggio in segreteria\" \n\"Componi (866) 555 0123\" \n\"Componi 911, 811, …\" \n\"Componi +44 7333 444 555\" \n\"Ricomponi\" \n\"Apri Calendario\" "
23 | "Compositore vocale"
24 | "Compositore vocale Bluetooth"
25 | "Avvio..."
26 | "In ascolto..."
27 | "Riprova."
28 | "Inizializzazione non riuscita"
29 | "Riavvia il telefono e riprova."
30 | "Conness. ad auricolare persa."
31 | " a casa"
32 | " al cellulare"
33 | " al lavoro"
34 | " ad altro numero"
35 | "La registrazione con Compositore vocale è attiva."
36 | "La registrazione con Compositore vocale non è attiva."
37 | "Parla ora."
38 | "Nessun risultato, riprova."
39 | "Scelta non valida."
40 | "Arrivederci."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-iw/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "חייגן קולי"
20 | "הידעת..."
21 | "לחיצה ממושכת על הלחצן \'שיחה\' הירוק פותחת את החייגן הקולי."
22 | " דוגמאות: "" \n\"התקשר לפלוני אלמוני\" \n\"התקשר לפלוני אלמוני בבית, …\" \n\"התקשר לדואר הקולי\" \n\"חייג (866) 555 0123\" \n\"חייג 911, 811, …\" \n\"חייג +44 7333 444 555\" \n\"בצע חיוג חוזר\" \n\"פתח יומן\" "
23 | "חייגן קולי"
24 | "חייגן קולי של Bluetooth"
25 | "מתחיל..."
26 | "מאזין..."
27 | "נסה שוב."
28 | "לא ניתן לאתחל"
29 | "הפעל מחדש את הטלפון ונסה שוב."
30 | "החיבור לאוזניות אבד."
31 | " בבית"
32 | " בנייד"
33 | " בעבודה"
34 | " במספר אחר"
35 | "ההתחברות באמצעות חייגן קולי מופעלת."
36 | "ההתחברות באמצעות חייגן קולי מושבתת."
37 | "דבר עכשיו."
38 | "אין תוצאות, נסה שוב."
39 | "בחירה לא חוקית."
40 | "להתראות."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "ボイスダイヤル"
20 | "ヒント:"
21 | "緑色の発信ボタンを押したまま&キーを押すとボイスダイヤルが開きます。"
22 | " 例:"\n"「Call John Doe」\n「Call John Doe at home, …」\n「Call voicemail」\n「Dial (866) 555 0123」\n「Dial 911, 811, …」\n「Dial +44 7333 444 555」\n「Redial」\n「Open Calendar」"
23 | "ボイスダイヤル"
24 | "Bluetoothボイスダイヤル"
25 | "起動しています..."
26 | "聞き取り中..."
27 | "もう一度お試しください。"
28 | "初期化できませんでした"
29 | "端末を再起動して、もう一度お試しください。"
30 | "ヘッドセットとの接続が切断されました。"
31 | " at home"
32 | " on mobile"
33 | " at work"
34 | " at other"
35 | "ボイスダイヤルの記録を有効にしました。"
36 | "ボイスダイヤルの記録を無効にしました。"
37 | "お話しください。"
38 | "結果が見つかりません。もう一度お試しください。"
39 | "選択が無効です。"
40 | "終了しています。"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "음성 다이얼"
20 | "유용한 정보..."
21 | "녹색 \'통화\' 버튼을 길게 누르면 음성 다이얼이 시작됩니다."
22 | " 예: "" \n\'김구글\' \n\'김구글 집, …\' \n\'음성사서함\' \n\'(866) 555 0123\' \n\'911, 811, …\' \n\'(02) 123 4567\' \n\'재다이얼\' \n\'캘린더 열기\' "
23 | "음성 다이얼"
24 | "블루투스 음성 다이얼"
25 | "시작 중..."
26 | "청취 중..."
27 | "다시 시도해 보세요."
28 | "초기화하지 못했습니다."
29 | "휴대전화를 다시 시작한 다음 다시 시도해 보세요."
30 | "헤드셋 연결이 끊어졌습니다."
31 | " (집)"
32 | " (휴대전화)"
33 | " (직장)"
34 | " (기타)"
35 | "음성 다이얼 로깅을 사용하도록 설정했습니다."
36 | "음성 다이얼 로깅을 사용 중지했습니다."
37 | "지금 말하세요."
38 | "검색결과가 없습니다. 다시 시도해 주세요."
39 | "선택이 잘못되었습니다."
40 | "종료됩니다."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-lt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Numerio rinkiklis balsu"
20 | "Ar žinojote..."
21 | "Paspaudus ir palaikius žalią mygtuką „Skambinti“, atsidaro numerio rinkiklis balsu."
22 | " Pavyzdžiai: "" \n„Call John Doe“ \n„Call John Doe at home, …“ \n„Call voicemail“ \n„Dial (866) 555 0123“ \n„Dial 911, 811, …“ \n„Dial +44 7333 444 555“ \n„Redial“ \n„Open Calendar“ "
23 | "Numerio rinkiklis balsu"
24 | "„Bluetooth“ numerio rinkiklis balsu"
25 | "Paleidžiama..."
26 | "Klausoma..."
27 | "Bandykite dar kartą."
28 | "Nepavyko inicijuoti"
29 | "Paleiskite telefoną iš naujo ir bandykite dar kartą."
30 | "Prarastas ryšys su ausinėmis."
31 | " namų numeriu"
32 | " mobiliojo telefono numeriu"
33 | " darbo telefonu"
34 | " kitu numeriu"
35 | "Skambučių balsu registravimas įjungtas."
36 | "Skambučių balsu registravimas išjungtas."
37 | "Kalbėkite dabar."
38 | "Nėra rezultatų, bandykite dar kartą."
39 | "Neteisingas pasirinkimas."
40 | "Viso gero."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-lv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Balss numura sastādītājs"
20 | "Vai zinājāt..."
21 | "Nospiežot un turot zaļo zvanīšanas pogu, tiek atvērts Balss numura sastādītājs."
22 | " Piemēri: "" \n“Zvanīt Jānim Bērziņam” \n“Zvanīt Jānim Bērziņam uz mājām, ...” \n“Zvanīt uz balss pastu”·\n“Sastādīt numuru (866) 555 0123” \n“Sastādīt numuru 112, 02, …” \n“Sastādīt numuru +44 7333 444 555” \n“Zvanīt vēlreiz” \n“Atvērt kalendāru” "
23 | "Balss numura sastādītājs"
24 | "Bluetooth balss numuru sastādītājs"
25 | "Notiek palaišana..."
26 | "Notiek klausīšanās..."
27 | "Mēģiniet vēlreiz."
28 | "Nevarēja inicializēt."
29 | "Restartējiet tālruni un pēc tam mēģiniet vēlreiz."
30 | "Savienojums ar austiņām ir zaudēts."
31 | " mājās"
32 | " mobilajā tālrunī"
33 | " darbā"
34 | " citā vietā"
35 | "Balss numura sastādītāja reģistrēšana ir ieslēgta."
36 | "Balss numura sastādītāja reģistrēšana ir izslēgta."
37 | "Runājiet tagad."
38 | "Rezultātu nav, mēģiniet vēlreiz."
39 | "Nederīga izvēle."
40 | "Uz redzēšanos."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-ms-rMY/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Pendail Suara"
20 | "Adakah anda tahu..."
21 | "Menekan terus butang Panggil hijau akan membuka Pendail Suara."
22 | " Contoh: "" \n\"Panggil Johan Dolah\" \n\"Panggil Johan Dolah di rumah, ...\" \n\"Panggil mel suara\" \n\"Dail (603) 5555 0123\" \n\"Dail 911, 811, …\" \n\"Dail +44 7333 444 555\" \n\"Dail semula\" \n\"Buka Kalendar\" "
23 | "Pendail Suara"
24 | "Pendail Suara Bluetooth"
25 | "Memulakan…"
26 | "Mendengar..."
27 | "Cuba lagi."
28 | "Tidak dapat memulakan"
29 | "Hidupkan semula telefon anda kemudian cuba lagi."
30 | "Sambungan kepada set kepala terputus."
31 | " di rumah"
32 | " pada telefon mudah alih"
33 | " di tempat kerja"
34 | " di lain-lain"
35 | "Pengelogan Pendail Suara dihidupkan."
36 | "Pengelogan Pendail Suara dimatikan."
37 | "Sebutkan sekarang."
38 | "Tiada hasil, cuba lagi."
39 | "Pilihan tidak sah."
40 | "Selamat tinggal."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-nb/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Taleringer"
20 | "Visste du at…"
21 | "Taleringeren aktiveres om du holder nede den grønne ringeknappen."
22 | " Eksempler: "" \n«Call John Doe» \n«Call John Doe at home, …» \n«Call voicemail» \n«Dial (866) 555 0123» \n«Dial 911, 811, …» \n«Dial +44 7333 444 555» \n«Redial» \n«Open Calendar» "
23 | "Taleringer"
24 | "Bluetooth talestyrt oppringing"
25 | "Starter opp …"
26 | "Lytter…"
27 | "Prøv igjen."
28 | "Kunne ikke initialisere"
29 | "Start telefonen på nytt og prøv igjen."
30 | "Mistet tilkobling til hodetelefonene."
31 | " hjemme"
32 | " på mobilen"
33 | " på arbeid"
34 | " på annen"
35 | "Logging av talestyrt oppringing er slått på."
36 | "Logging av talestyrt oppringing er slått av."
37 | "Snakk nå."
38 | "Ingen resultater, prøv på nytt."
39 | "Ugyldig valg."
40 | "Adjø."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-nl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Voice Dialer"
20 | "Wist u..."
21 | "Als u de groene belknop ingedrukt houdt, wordt de Voice Dialer geopend."
22 | " Voorbeelden: "" \n\'Bel Jan de Vries\' \n\'Bel Jan de Vries thuis, …\' \n\'Bel voicemail\' \n\'Kies (866) 555 0123\' \n\'Kies 911, 811, …\' \n\'Kies +44 7333 444 555\' \n\'Opnieuw kiezen\' \n\'Agenda openen\' "
23 | "Voice Dialer"
24 | "Bluetooth Voice Dialer"
25 | "Starten…"
26 | "Luisteren..."
27 | "Probeer het opnieuw."
28 | "Kan niet initialiseren"
29 | "Start uw telefoon opnieuw en probeer het nogmaals."
30 | "Verbinding met headset verbroken."
31 | " thuis"
32 | " mobiel"
33 | " werk"
34 | " anders"
35 | "Aanmelden via Voice Dialer is ingeschakeld."
36 | "Aanmelden via Voice Dialer is uitgeschakeld."
37 | "Nu spreken."
38 | "Geen resultaten. Probeer opnieuw."
39 | "Ongeldige keuze."
40 | "Tot ziens."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-pl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Wybieranie głosowe"
20 | "Czy wiesz, że..."
21 | "Naciśnięcie i przytrzymanie zielonego przycisku otwiera aplikację Wybieranie głosowe."
22 | " Przykłady: "" \n„Połącz z Janem Kowalskim” \n„Połącz z Janem Kowalskim w domu, …” \n„Połącz z pocztą głosową” \n„Wybierz (866) 555 0123” \n„Wybierz 911, 811, …” \n„Wybierz +44 7333 444 555” \n„Wybierz ponownie” \n„Otwórz Kalendarz” "
23 | "Wybieranie głosowe"
24 | "Wybieranie głosowe Bluetooth"
25 | "Uruchamianie..."
26 | "Słuchanie..."
27 | "Spróbuj ponownie."
28 | "Nie udało się zainicjować."
29 | "Uruchom ponownie telefon i powtórz próbę."
30 | "Utracono połączenie z zestawem słuchawkowym."
31 | " w domu"
32 | " w telefonie komórkowym"
33 | " w pracy"
34 | " w innym miejscu"
35 | "Rejestrowanie w Wybieraniu głosowym jest włączone."
36 | "Rejestrowanie w Wybieraniu głosowym jest wyłączone."
37 | "Mów teraz."
38 | "Brak wyników. Spróbuj ponownie."
39 | "Nieprawidłowy wybór."
40 | "Do widzenia."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-pt-rPT/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Marcador por voz"
20 | "Sabia que…"
21 | "Ao manter premido o botão Ligar verde abrirá o Marcador por voz."
22 | " Exemplos: "" \n\"Ligar para o José Silva\" \n\"Ligar para o número de casa do José Silva, …\" \n\"Ligar para o correio de voz\" \n\"Marcar (866) 555 0123\" \n\"Marcar 911, 811, …\" \n\"Marcar +44 7333 444 555\" \n\"Remarcar\" \n\"Abrir Calendário\" "
23 | "Marcador por voz"
24 | "Marcação por voz através de Bluetooth"
25 | "A iniciar..."
26 | "A ouvir…"
27 | "Tente novamente."
28 | "Não foi possível inicializar"
29 | "Reinicie o telemóvel e tente novamente."
30 | "A ligação ao auricular perdeu-se."
31 | " para o número de casa"
32 | " para o telemóvel"
33 | " para o número do trabalho"
34 | " para outro número"
35 | "O registo de Marcação por Voz está ativado."
36 | "O registo de Marcação por Voz está desativado."
37 | "Falar agora."
38 | "Sem resultados; tente novamente."
39 | "Escolha inválida."
40 | "Adeus."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-pt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Discador por voz"
20 | "Você sabia..."
21 | "Pressionar e manter pressionado o botão verde de chamada abre o Discador por voz."
22 | " Exemplos: "" \n\"Chamar José da Silva\" \n\"Chamar José da Silva em casa, …\" \n\"Chamar correio de voz\" \n\"Discar (866) 555 0123\" \n\"Discar 911, 811, …\" \n\"Discar +44 7333 444 555\" \n\"Rediscar\" \n\"Abrir Agenda\" "
23 | "Discador por voz"
24 | "Discagem por voz Bluetooth"
25 | "Iniciando..."
26 | "Ouvindo..."
27 | "Tentar novamente."
28 | "Não foi possível inicializar"
29 | "Reinicie o telefone e tente novamente."
30 | "Conexão com o fone de ouvido perdida."
31 | " em casa"
32 | " no celular"
33 | " no trabalho"
34 | " em outro número"
35 | "O registro de discagem por voz está ativado."
36 | "O registro de discagem por voz está desligado."
37 | "Fale agora."
38 | "Sem resultados. Tente novamente."
39 | "Opção inválida."
40 | "Adeus."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-ro/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Apelare vocală"
20 | "Știaţi că..."
21 | "Prin apăsarea şi menţinerea butonului verde de apelare se deschide Apelarea vocală."
22 | " Exemple: "" \n„Apelaţi-l pe Ion Popescu” \n„Apelaţi-l pe Ion Popescu acasă, …” \n„Apelaţi mesageria vocală” \n„Apelaţi 0722334455” \n„Apelaţi 112, 981, …” \n„Apelaţi +44 7333 444 555” \n„Reapelaţi” \n„Deschideţi calendarul” "
23 | "Apelare vocală"
24 | "Apelare vocală Bluetooth"
25 | "Porneşte..."
26 | "Se ascultă..."
27 | "Încercaţi din nou."
28 | "Nu s-a putut iniţializa"
29 | "Reporniţi telefonul şi încercaţi din nou."
30 | "Conexiunea cu casca s-a întrerupt."
31 | " acasă"
32 | " pe mobil"
33 | " la birou"
34 | " pe un alt număr"
35 | "Înregistrarea în jurnal pentru aplicaţia Apelare vocală este activată."
36 | "Înregistrarea în jurnal pentru aplicaţia Apelare vocală este dezactivată."
37 | "Vorbiţi acum."
38 | "Niciun rezultat, încercaţi din nou."
39 | "Opţiune nevalidă."
40 | "La revedere."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-ru/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Голосовой набор"
20 | "Знаете ли вы…"
21 | "Нажмите и удерживайте зеленую кнопку \"Вызов\", чтобы открыть Голосовой набор."
22 | " Примеры: "" \n\"Позвонить Ивану Петрову\" \n\"Позвонить Ивану Петрову домой, …\" \n\"Позвонить в голосовую почту\" \n\"Набрать (866) 555 0123\" \n\"Набрать 911, 811, …\" \n\"Набрать +44 7333 444 555\" \n\"Повторить набор\" \n\"Открыть календарь\" "
23 | "Голосовой набор"
24 | "Голосовой набор Bluetooth"
25 | "Подготовка к работе..."
26 | "Слушаю..."
27 | "Повторите попытку."
28 | "Ошибка инициализации"
29 | "Перезагрузите телефон и повторите попытку."
30 | "Связь с наушниками потеряна."
31 | " , домашний"
32 | " , мобильный"
33 | " , работа"
34 | " , другой номер"
35 | "Журнал Голосового набора включен."
36 | "Журнал Голосового набора выключен."
37 | "Говорите."
38 | "Безрезультатно, повторите попытку."
39 | "Неверный выбор."
40 | "До свидания."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-sk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Hlasové vytáčanie"
20 | "Vedeli ste..."
21 | "Stlačením a podržaním zeleného tlačidla Zavolať spustíte Hlasové vytáčanie."
22 | " Príklady: "" \n„Zavolať Peter Kováč“ \n„Zavolať Peter Kováč domov, ...“ \n„Zavolať hlasová schránka“ \n„Vytočiť 2 22 33 911 55“ \n„Vytočiť 155, 555, ...“ \n„Vytočiť +421 2 22 33 44 55“ \n„Znova vytočiť“ \n„Otvoriť Kalendár“ "
23 | "Hlasové vytáčanie"
24 | "Hlasové vytáčanie Bluetooth"
25 | "Prebieha spúšťanie..."
26 | "Počúvam..."
27 | "Skúsiť znova."
28 | "Nepodarilo sa inicializovať"
29 | "Reštartujte telefón a následne to skúste znova."
30 | "Pripojenie k náhlavnej súprave bolo prerušené."
31 | " domov"
32 | " na mobil"
33 | " do práce"
34 | " na iné"
35 | "Protokol hlasového vytáčania je zapnutý."
36 | "Protokol hlasového vytáčania je vypnutý."
37 | "Hovorte."
38 | "Žiadne výsledky, skúste to znova."
39 | "Neplatná voľba."
40 | "Dovidenia."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-sl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Glasovni klicalnik"
20 | "Ste vedeli ..."
21 | "Glasovni klicalnik odprete tako, da pritisnete in držite zeleni gumb »Pokliči«."
22 | " Primeri: "" \n»Pokliči Janeza Kovača« \n»Pokliči Janeza Kovača domov …« \n»Pokliči tajnico« \n»Pokliči (866) 555 0123« \n»Pokliči 911, 811 …« \n»Pokliči +44 7333 444 555« \n»Pokliči isto številko« \n»Odpri koledar« "
23 | "Glasovni klicalnik"
24 | "Bluetoothov glasovni klicalnik"
25 | "Zagon ..."
26 | "Poslušanje ..."
27 | "Poskusite znova."
28 | "Ni mogoče začeti"
29 | "Znova zaženite telefon in poskusite znova."
30 | "Povezava s slušalkami z mikrofonom je prekinjena."
31 | " doma"
32 | " na mobilnem telefonu"
33 | " v službi"
34 | " drugje"
35 | "Prijava z glasovnim klicalnikom je vklopljena."
36 | "Prijava z glasovnim klicalnikom je izklopljena."
37 | "Začnite govoriti."
38 | "Ni rezultatov, poskusite znova."
39 | "Neveljavna izbira."
40 | "Nasvidenje."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-sr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Бирач гласом"
20 | "Да ли сте знали..."
21 | "Притиском и држањем зеленог дугмета за позив отвара се Бирач гласом."
22 | " Примери: "" \n„Позови Петра Петровића“ \n„Позови Петра Петровића код куће, …“ \n„Позови говорну пошту“ \n„Позови(866) 555 0123“ \n„Позови 911, 811, …“ \n„Позови +44 7333 444 555“ \n„Поново позови“ \n„Oтвори календар“ "
23 | "Бирач гласом"
24 | "Bluetooth бирач гласом"
25 | "Покретање..."
26 | "Слушање..."
27 | "Покушајте поново."
28 | "Покретање није могуће"
29 | "Поново покрените телефон, а затим покушајте опет."
30 | "Прекинута је веза са слушалицама."
31 | " код куће"
32 | " на број мобилног телефона"
33 | " на послу"
34 | " на други"
35 | "Пријављивање Бирача гласом је укључено."
36 | "Пријављивање Бирача гласом је искључено."
37 | "Говорите сада."
38 | "Нема резултата, покушајте поново."
39 | "Неважећи избор."
40 | "Довиђења"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-sv/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Röstaktiverad uppringningsfunktion"
20 | "Visste du…"
21 | "Om du trycker och håller ned den gröna samtalsknappen öppnas den röstaktiverade uppringningsfunktionen."
22 | " Till exempel: "" \n\"Ring John Berg\" \n\"Ring John Berg hem, …\" \n\"Ring röstbrevlåda\" \n\"Ring (08) 12 34 56\" \n\"Ring 112 …\" \n\"Ring +44 7333 444 555\" \n\"Ring igen\" \n\"Öppna kalender\" "
23 | "Röstaktiverad uppringningsfunktion"
24 | "Bluetooth - röstaktiverad uppringningsfunktion"
25 | "Startar ..."
26 | "Lyssnar…"
27 | "Försök igen."
28 | "Initieringen misslyckades"
29 | "Starta om mobilen och försök igen."
30 | "Anslutningen till hörlurarna bröts."
31 | " hem"
32 | " på mobilen"
33 | " på jobbet"
34 | " på annat nummer"
35 | "Röstaktiverad uppringningsfunktion aktiverad."
36 | "Röstaktiverad uppringningsfunktion inaktiverad."
37 | "Tala nu."
38 | "Inga resultat. Försök igen."
39 | "Ogiltigt val."
40 | "Adjö."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-sw/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Piga kwa Kutamka"
20 | "Ulijua kuwa..."
21 | "Kubonyeza & kushikilia kitufe cha kijani cha Kupiga simu hufungua Kipigaji simu ya Sauti."
22 | " Mifano: "" \n\"Pigia simu John Doe\" \n\"Pigia John Doe simu akiwa nyumbani, …\" \n\"Piga simu ya barua ya sauti\" \n\"Piga (866) 555 0123\" \n\"Piga 911, 811, …\" \n\"Piga +44 7333 444 555\" \n\"Piga tena\" \n\"Fungua Kalenda\" "
23 | "Kipiga simu ya Sauti"
24 | "Kipigaji cha Sauti cha Blurtooth"
25 | "Inaanza..."
26 | "Inasikiliza..."
27 | "Jaribu tena."
28 | "Haikuweza kuanzilisha"
29 | "Washa upya simu yako kisha ujaribu tena."
30 | "Muunganisho wa kipaza sauti cha kichwa umepotea."
31 | " nyumbani"
32 | " kwenye simu ya mkononi"
33 | " kazini"
34 | " kwa nyingine"
35 | "Kuweka kumbukumbu ya Kupiga kwa Kutamka kumewashwa."
36 | "Kuweka kumbukumbu ya Kupiga kwa Kutamka kumezimwa."
37 | "Zungumza sasa."
38 | "Hakuna matokeo, jaribu tena."
39 | "Chaguo batili."
40 | "Kwaheri."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-th/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "โทรออกด้วยเสียง"
20 | "คุณรู้ไหมว่า..."
21 | "กดปุ่มโทรออกสีเขียวค้างไว้จะเปิดโปรแกรมโทรออกด้วยเสียง"
22 | " ตัวอย่าง: "" \n\"โทรหานาย ก.\" \n\"โทรหานาย ก.ที่บ้าน …\" \n\"โทรฟังข้อความเสียง\" \n\"โทร (866) 555 0123\" \nโทร 911, 811, …\" \n\"โทร +44 7333 444 555\" \n\"โทรซ้ำ\" \n\"เปิดปฏิทิน\" "
23 | "โทรออกด้วยเสียง"
24 | "โทรออกด้วยเสียงผ่านบลูทูธ"
25 | "กำลังเริ่มต้น..."
26 | "กำลังฟัง..."
27 | "ลองอีกครั้ง"
28 | "ไม่สามารถเริ่มต้น"
29 | "รีสตาร์ทโทรศัพท์ของคุณแล้วลองอีกครั้ง"
30 | "การเชื่อมต่อกับชุดหูฟังขาดหาย"
31 | " ที่บ้าน"
32 | " บนมือถือ"
33 | " ที่ทำงาน"
34 | " ที่อื่น"
35 | "เปิดบันทึกโปรแกรมโทรออกด้วยเสียง"
36 | "ปิดบันทึกโปรแกรมโทรออกด้วยเสียง"
37 | "พูดได้เลย"
38 | "ไม่พบผลลัพธ์ ลองอีกครั้ง"
39 | "ตัวเลือกไม่ถูกต้อง"
40 | "ลาก่อน"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-tl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Voice Dialer"
20 | "Alam mo ba…"
21 | "Ang pagpindot & pagpindot nang matagal sa berdeng pindutang Tawag ay nagbubukas sa Voice Dialer."
22 | " Mga halimbawa: "" \n\"Tawagan si John Doe\" \n\"Tawagan si John Doe sa tahanan, …\" \n\"Tumawag sa voicemail\" \n\"I-dial ang (866) 555 0123\" \n\"I-dial ang 911, 811, …\" \n\"I-dial ang +44 7333 444 555\" \n\"Mag-redial\" \n\"Magbukas ng Kalendaryo\" "
23 | "Voice Dialer"
24 | "Bluetooth Voice Dialer"
25 | "Nagsisimula…"
26 | "Nakikinig…"
27 | "Subukang muli."
28 | "Hindi masimulan"
29 | "I-restart ang iyong telepono at subukang muli."
30 | "Nawala ang koneksyon sa headset."
31 | " sa tahanan"
32 | " sa mobile"
33 | " sa trabaho"
34 | " sa iba"
35 | "Naka-on ang pag-log sa Voice Dialer."
36 | "Naka-off ang pag-log sa Voice Dialer."
37 | "Magsalita na ngayon."
38 | "Walang mga resulta, subukang muli."
39 | "Di-wastong pagpipilian."
40 | "Paalam."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-tr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Sesli Çevirici"
20 | "Biliyor muydunuz...?"
21 | "Yeşil renkli Çağrı düğmesini basılı tutmak Sesli Çevirici\'yi açar."
22 | " Örnekler: "" \n\"Can Demir\'i ara\" \n\"Can Demir\'i evden ara, …\" \n\"Sesli mesaj bırak\" \n\"(212) 555 0123 numarasını ara\" \n\"911, 811, … numaralarını ara\" \n\"+90 7333 444 555 numarasını ara\" \n\"Tekrar Ara\" \n\"Takvimi Aç\" "
23 | "Sesli Çevirici"
24 | "Bluetooth Sesli Çevirici"
25 | "Başlatılıyor..."
26 | "Dinleniyor..."
27 | "Tekrar deneyin."
28 | "Başlatılamadı"
29 | "Telefonunuzu yeniden başlatın ve tekrar deneyin."
30 | "Kulaklık bağlantısı kesildi."
31 | " evden"
32 | " cepten"
33 | " işten"
34 | " başka numaradan"
35 | "Sesli Çevirici günlük kaydı açıldı."
36 | "Sesli Çevirici günlük kaydı kapatıldı."
37 | "Şimdi konuşun."
38 | "Sonuç yok, yeniden deneyin."
39 | "Geçersiz seçim."
40 | "Hoşça kalın."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-uk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Голос. набір"
20 | "Чи відомо вам…"
21 | "При натисн. й утрим. зеленої кнопки \"Набрати\" відкрив. голос. набір."
22 | " Прикл.: "" \n\"Дзв. Ів.Кліщу\" \n\"Дзв. Ів.Кліщу на дом., …\" \n\"Дзв. на гол.пошту\" \n\"Наб. (866) 555 0123\" \n\"Наб. 911, 811, …\" \n\"Наб. +44 7333 444 555\" \n\"Наб. ще\" \n\"Відкр. Календ.\" "
23 | "Голос. набір"
24 | "Голос.набір ч-з Bluetooth"
25 | "Запуск..."
26 | "Прослухов…"
27 | "Повторіть спробу."
28 | "Не вдалося ініціалізувати"
29 | "Перезапустіть свій телефон і повторіть спробу."
30 | "Підключ. до гарнітури втрач."
31 | " на домашн."
32 | " на мобільний"
33 | " на робоч."
34 | " на інший"
35 | "Запис голосового набору в журнал увімкнено."
36 | "Запис голосового набору в журнал вимкнено."
37 | "Диктуйте."
38 | "Нема результ., спроб. ще."
39 | "Недійсний вибір."
40 | "До побач."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-vi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Khẩu lệnh"
20 | "Bạn có biết…"
21 | "Nhấn & giữ nút Gọi màu xanh để mở Khẩu lệnh."
22 | " Ví dụ: "" \n\"Gọi John Doe\" \n\"Gọi John Doe theo số nhà riêng, …\" \n\"Gọi thư thoại\" \n\"Quay số (866) 555 0123\" \n\"Quay số 911, 811, …\" \n\"Quay số +44 7333 444 555\" \n\"Quay số lại\" \n\"Mở Lịch\" "
23 | "Khẩu lệnh"
24 | "Khẩu lệnh qua Bluetooth"
25 | "Đang khởi động…"
26 | "Đang nghe…"
27 | "Thử lại."
28 | "Không thể khởi chạy"
29 | "Hãy khởi động lại điện thoại của bạn, sau đó thử lại."
30 | "Mất kết nối đến tai nghe."
31 | " theo số nhà riêng"
32 | " theo số điện thoại di động"
33 | " theo số cơ quan"
34 | " theo số khác"
35 | "Đã bật tính năng ghi nhật ký Khẩu lệnh."
36 | "Đã tắt tính năng ghi nhật ký Khẩu lệnh."
37 | "Nói ngay."
38 | "Không có kết quả nào, hãy thử lại."
39 | "Lựa chọn không hợp lệ."
40 | "Tạm biệt."
41 |
42 |
--------------------------------------------------------------------------------
/res/values-zh-rCN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "语音拨号器"
20 | "您是否知道..."
21 | "长按绿色的呼叫按钮可打开语音拨号器。"
22 | " 示例:"\n"“打电话给张山”\n“拨打张山的住宅电话”\n“呼叫语音邮件”\n“拨打 (866) 555 0123”\n“拨打 110、120 …”\n“拨打 +44 7333 444 555”\n“重拨”\n“打开日历”"
23 | "语音拨号器"
24 | "蓝牙语音拨号器"
25 | "正在启动..."
26 | "正在接听..."
27 | "请重试。"
28 | "无法初始化"
29 | "请重新启动手机,然后重试。"
30 | "已丢失与耳机的连接。"
31 | " 住宅电话"
32 | " 手机号码"
33 | " 单位电话"
34 | " 其他电话"
35 | "已启用语音拨号器记录。"
36 | "已停用语音拨号器记录。"
37 | "请开始说话。"
38 | "找不到结果,请重试。"
39 | "选择无效。"
40 | "再见。"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-zh-rHK/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "語音撥號"
20 | "您知道嗎?"
21 | "按住綠色 [通話] 按鈕即可開啟「語音撥號」。"
22 | " 例子:"\n"「打電話給王小明」\n「打王小明家裡的電話...」\n「聽留言」\n「撥打 (866) 555 0123」\n「撥打 119、110...」\n「撥打 +44 7333 444 555」\n「重新撥號」\n「開啟日曆」"
23 | "語音撥號"
24 | "藍牙語音撥號"
25 | "正在啟動..."
26 | "正在聆聽..."
27 | "請再試一次。"
28 | "無法初始化"
29 | "重新啟動您的手機,然後再試一次。"
30 | "與耳機連線中斷。"
31 | " 住宅電話"
32 | " 流動電話號碼"
33 | " 在工作中"
34 | " 在其他"
35 | "語音撥號記錄已開啟。"
36 | "語音撥號記錄已關閉。"
37 | "請說話。"
38 | "沒有結果,請再試一次。"
39 | "選項無效。"
40 | "再見。"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-zh-rTW/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "語音撥號"
20 | "您知道…"
21 | "按住綠色撥號鍵,開啟語音撥號。"
22 | " 範例:"\n"「打電話給王小明」\n「打王小明家裡的電話…」\n「聽留言」\n「撥打 (866) 555 0123」\n「撥打 119、110…」\n「撥打 +44 7333 444 555」\n「重新撥號」\n「開啟日曆」"
23 | "語音撥號"
24 | "藍牙語音撥號"
25 | "啟動中…"
26 | "等候語音指令…"
27 | "請再試一次。"
28 | "無法初始化"
29 | "請重新啟動您的手機,然後再試一次。"
30 | "與耳機連線中斷。"
31 | " 住宅電話"
32 | " 行動電話"
33 | " 工作電話"
34 | " 其他電話"
35 | "語音撥號記錄已開啟。"
36 | "語音撥號記錄已關閉。"
37 | "請說話。"
38 | "沒有結果,請再試一次。"
39 | "選項無效。"
40 | "再見。"
41 |
42 |
--------------------------------------------------------------------------------
/res/values-zu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 | "Ukudayela Ngezwi"
20 | "Kade wazi..."
21 | "Ukucindezela & nokubamba inkinobho Yekholi eluhlaza kuvula Ukudayela Ngezwi."
22 | " Izibonelo: "" \n\"Shayela u-John Doe\" \n\"Shayela u-John Doe ekhaya, …\" \n\"Shayela imeyili yezwi\" \n\"Dayela (866) 555 0123\" \n\"Dayela 911, 811, …\" \n\"Dayela +44 7333 444 555\" \n\"Dayela futhi\" \n\"Vula Ikhalenda\" "
23 | "Ukudayela Ngezwi"
24 | "Isidayeli Sezwi se-Bluetooth"
25 | "Iyaqalisa."
26 | "Iyalalela..."
27 | "Zama futhi."
28 | "Yehlulekile ukuqala"
29 | "Qala phansi ifoni yakho bese uyazama futhi."
30 | "Uxhumano lwe-headset lulahlekile."
31 | " ekhaya"
32 | " kwiselula"
33 | " emsebenzini"
34 | " kokunye"
35 | "Ukushaya Ngephimbo kuvuliwe."
36 | "Ukushaya Ngephimbo kuvaliwe."
37 | "Khuluma manje."
38 | "Ayikho imiphumela, zama futhi."
39 | "Inketho engalungile."
40 | "Usale kahle."
41 |
42 |
--------------------------------------------------------------------------------
/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 |
19 | Voice Dialer
20 |
21 |
23 | Did you know\u2026
24 |
25 |
27 |
28 | Pressing & holding the green Call button opens the Voice
29 | Dialer.
30 |
31 |
32 |
34 |
35 | Examples:
36 |
37 | \n\"Call John Doe\"
38 | \n\"Call John Doe at home, \u2026\"
39 | \n\"Call voicemail\"
40 | \n\"Dial (866) 555 0123\"
41 | \n\"Dial 911, 811, \u2026\"
42 | \n\"Dial +44 7333 444 555\"
43 | \n\"Redial\"
44 | \n\"Open Calendar\"
45 |
46 |
47 |
48 |
49 | Voice Dialer
50 |
51 |
52 | Bluetooth Voice Dialer
53 |
54 |
55 | Starting up\u2026
56 |
57 |
58 | Listening\u2026
59 |
60 |
61 | Try again.
62 |
63 |
64 |
66 | Couldn\'t initialize
67 |
68 |
70 |
71 | Restart your phone then try again.
72 |
73 |
74 |
75 |
76 | Connection to headset lost.
77 |
78 |
79 |
82 | " at home"
83 |
84 |
87 | " on mobile"
88 |
89 |
92 | " at work"
93 |
94 |
97 | " at other"
98 |
99 |
101 | Voice Dialer logging is turned on.
102 |
103 |
105 | Voice Dialer logging is turned off.
106 |
107 |
109 | Speak now.
110 |
111 |
113 | No results, try again.
114 |
115 |
117 | Invalid choice.
118 |
119 |
121 | Goodbye.
122 |
123 |
124 |
--------------------------------------------------------------------------------
/src/com/android/voicedialer/PhoneTypeChoiceRecognizerEngine.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 | package com.android.voicedialer;
17 |
18 | import android.util.Log;
19 | import android.content.Intent;
20 | import android.speech.srec.Recognizer;
21 |
22 | import java.io.IOException;
23 | import java.util.ArrayList;
24 |
25 | public class PhoneTypeChoiceRecognizerEngine extends RecognizerEngine {
26 | /**
27 | * Constructor.
28 | */
29 | public PhoneTypeChoiceRecognizerEngine() {
30 |
31 | }
32 |
33 | protected void setupGrammar() throws IOException, InterruptedException {
34 | if (mSrecGrammar == null) {
35 | if (false) Log.d(TAG, "start new Grammar");
36 | mSrecGrammar = mSrec.new Grammar(SREC_DIR + "/grammars/phone_type_choice.g2g");
37 | mSrecGrammar.setupRecognizer();
38 | }
39 | }
40 |
41 | /**
42 | * Called when recognition succeeds. It receives a list
43 | * of results, builds a corresponding list of Intents, and
44 | * passes them to the {@link RecognizerClient}, which selects and
45 | * performs a corresponding action.
46 | * @param recognizerClient the client that will be sent the results
47 | */
48 | protected void onRecognitionSuccess(RecognizerClient recognizerClient) throws InterruptedException {
49 | if (false) Log.d(TAG, "onRecognitionSuccess " + mSrec.getResultCount());
50 |
51 | if (mLogger != null) mLogger.logNbestHeader();
52 |
53 | ArrayList intents = new ArrayList();
54 |
55 | for (int result = 0; result < mSrec.getResultCount() &&
56 | intents.size() < RESULT_LIMIT; result++) {
57 |
58 | // parse the semanticMeaning string and build an Intent
59 | String conf = mSrec.getResult(result, Recognizer.KEY_CONFIDENCE);
60 | String literal = mSrec.getResult(result, Recognizer.KEY_LITERAL);
61 | String semantic = mSrec.getResult(result, Recognizer.KEY_MEANING);
62 | String msg = "conf=" + conf + " lit=" + literal + " sem=" + semantic;
63 | if (false) Log.d(TAG, msg);
64 | }
65 |
66 | // we only pay attention to the first result.
67 | if (mSrec.getResultCount() > 0) {
68 | // parse the semanticMeaning string and build an Intent
69 | String conf = mSrec.getResult(0, Recognizer.KEY_CONFIDENCE);
70 | String literal = mSrec.getResult(0, Recognizer.KEY_LITERAL);
71 | String semantic = mSrec.getResult(0, Recognizer.KEY_MEANING);
72 | String msg = "conf=" + conf + " lit=" + literal + " sem=" + semantic;
73 | if (false) Log.d(TAG, msg);
74 | if (mLogger != null) mLogger.logLine(msg);
75 |
76 | if (("H".equalsIgnoreCase(semantic)) ||
77 | ("M".equalsIgnoreCase(semantic)) ||
78 | ("W".equalsIgnoreCase(semantic)) ||
79 | ("O".equalsIgnoreCase(semantic)) ||
80 | ("R".equalsIgnoreCase(semantic)) ||
81 | ("X".equalsIgnoreCase(semantic))) {
82 | if (false) Log.d(TAG, " got valid response");
83 | Intent intent = new Intent(RecognizerEngine.ACTION_RECOGNIZER_RESULT, null);
84 | intent.putExtra(RecognizerEngine.SENTENCE_EXTRA, literal);
85 | intent.putExtra(RecognizerEngine.SEMANTIC_EXTRA, semantic);
86 | addIntent(intents, intent);
87 | } else {
88 | // Anything besides yes or no is a failure.
89 | }
90 | }
91 |
92 | // log if requested
93 | if (mLogger != null) mLogger.logIntents(intents);
94 |
95 | // bail out if cancelled
96 | if (Thread.interrupted()) throw new InterruptedException();
97 |
98 | if (intents.size() == 0) {
99 | if (false) Log.d(TAG, " no intents");
100 | recognizerClient.onRecognitionFailure("No Intents generated");
101 | }
102 | else {
103 | if (false) Log.d(TAG, " success");
104 | recognizerClient.onRecognitionSuccess(
105 | intents.toArray(new Intent[intents.size()]));
106 | }
107 | }
108 | }
109 |
--------------------------------------------------------------------------------
/src/com/android/voicedialer/RecognizerClient.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.voicedialer;
18 |
19 | import android.content.Intent;
20 |
21 | import java.io.InputStream;
22 |
23 | /**
24 | * This is an interface for clients of the RecognizerEngine.
25 | * A user should implement this interface, and then pass that implementation
26 | * into a RecognizerEngine. The RecognizerEngine will call the
27 | * appropriate function when the recognition completes.
28 | */
29 |
30 | interface RecognizerClient {
31 |
32 | public void onRecognitionSuccess(final Intent[] intents);
33 |
34 | public void onRecognitionFailure(String msg);
35 |
36 | public void onRecognitionError(String err);
37 |
38 | public void onMicrophoneStart(InputStream mic);
39 | }
40 |
--------------------------------------------------------------------------------
/src/com/android/voicedialer/RecognizerEngine.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2007 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.voicedialer;
18 |
19 | import android.app.Activity;
20 | import android.content.Intent;
21 | import android.speech.srec.MicrophoneInputStream;
22 | import android.speech.srec.Recognizer;
23 | import android.speech.srec.WaveHeader;
24 | import android.util.Log;
25 | import java.io.File;
26 | import java.io.FileInputStream;
27 | import java.io.IOException;
28 | import java.io.InputStream;
29 | import java.util.ArrayList;
30 |
31 | /**
32 | * This class is a framework for recognizing speech. It must be extended to use.
33 | * The child class must timplement setupGrammar and onRecognitionSuccess.
34 | * A usage cycle is as follows:
35 | *
36 | * - Create with a reference to the {@link VoiceDialerActivity}.
37 | *
- Signal the user to start speaking with the Vibrator or beep.
38 | *
- Start audio input by creating a {@link MicrophoneInputStream}.
39 | *
- Create and configure a {@link Recognizer}.
40 | *
- Set up the grammar using setupGrammar.
41 | *
- Start the {@link Recognizer} running using data already being
42 | * collected by the microphone.
43 | *
- Wait for the {@link Recognizer} to complete.
44 | *
- Process the results using onRecognitionSuccess, which will pass
45 | * a list of intents to the {@RecogizerClient}.
46 | *
- Shut down and clean up.
47 | *
48 | * Notes:
49 | *
50 | * - Audio many be read from a file.
51 | *
- A directory tree of audio files may be stepped through.
52 | *
- A contact list may be read from a file.
53 | *
- A {@link RecognizerLogger} may generate a set of log files from
54 | * a recognition session.
55 | *
- A static instance of this class is held and reused by the
56 | * {@link VoiceDialerActivity}, which saves setup time.
57 | *
58 | */
59 | abstract public class RecognizerEngine {
60 |
61 | protected static final String TAG = "RecognizerEngine";
62 |
63 | protected static final String ACTION_RECOGNIZER_RESULT =
64 | "com.android.voicedialer.ACTION_RECOGNIZER_RESULT";
65 | public static final String SENTENCE_EXTRA = "sentence";
66 | public static final String SEMANTIC_EXTRA = "semantic";
67 |
68 | protected final String SREC_DIR = Recognizer.getConfigDir(null);
69 |
70 | protected static final String OPEN_ENTRIES = "openentries.txt";
71 |
72 | protected static final int RESULT_LIMIT = 5;
73 |
74 | protected Activity mActivity;
75 | protected Recognizer mSrec;
76 | protected Recognizer.Grammar mSrecGrammar;
77 | protected RecognizerLogger mLogger;
78 | protected int mSampleRate;
79 |
80 | /**
81 | * Constructor.
82 | */
83 | public RecognizerEngine() {
84 | mSampleRate = 0;
85 | }
86 |
87 | abstract protected void setupGrammar() throws IOException, InterruptedException;
88 |
89 | abstract protected void onRecognitionSuccess(RecognizerClient recognizerClient)
90 | throws InterruptedException;
91 |
92 | /**
93 | * Start the recognition process.
94 | *
95 | *
96 | * - Create and start the microphone.
97 | *
- Create a Recognizer.
98 | *
- set up the grammar (implementation is in child class)
99 | *
- Start the Recognizer.
100 | *
- Feed the Recognizer audio until it provides a result.
101 | *
- Build a list of Intents corresponding to the results. (implementation
102 | * is in child class)
103 | *
- Stop the microphone.
104 | *
- Stop the Recognizer.
105 | *
106 | *
107 | * @param recognizerClient client to be given the results
108 | * @param activity the Activity this recognition is being run from.
109 | * @param micFile optional audio input from this file, or directory tree.
110 | * @param sampleRate the same rate coming from the mic or micFile
111 | */
112 | public void recognize(RecognizerClient recognizerClient, Activity activity,
113 | File micFile, int sampleRate) {
114 | InputStream mic = null;
115 | boolean recognizerStarted = false;
116 | try {
117 | mActivity = activity;
118 | // set up logger
119 | mLogger = null;
120 | if (RecognizerLogger.isEnabled(mActivity)) {
121 | mLogger = new RecognizerLogger(mActivity);
122 | }
123 |
124 | if (mSampleRate != sampleRate) {
125 | // sample rate has changed since we last used this recognizerEngine.
126 | // destroy the grammar and regenerate.
127 | if (mSrecGrammar != null) {
128 | mSrecGrammar.destroy();
129 | }
130 | mSrecGrammar = null;
131 | mSampleRate = sampleRate;
132 | }
133 |
134 | // create a new recognizer
135 | if (false) Log.d(TAG, "start new Recognizer");
136 | if (mSrec == null) {
137 | String parFilePath = SREC_DIR + "/baseline11k.par";
138 | if (sampleRate == 8000) {
139 | parFilePath = SREC_DIR + "/baseline8k.par";
140 | }
141 | mSrec = new Recognizer(parFilePath);
142 | }
143 |
144 | // start audio input
145 | if (micFile != null) {
146 | if (false) Log.d(TAG, "using mic file");
147 | mic = new FileInputStream(micFile);
148 | WaveHeader hdr = new WaveHeader();
149 | hdr.read(mic);
150 | } else {
151 | if (false) Log.d(TAG, "start new MicrophoneInputStream");
152 | mic = new MicrophoneInputStream(sampleRate, sampleRate * 15);
153 | }
154 |
155 | // notify UI
156 | recognizerClient.onMicrophoneStart(mic);
157 |
158 | // log audio if requested
159 | if (mLogger != null) mic = mLogger.logInputStream(mic, sampleRate);
160 |
161 | setupGrammar();
162 |
163 | // start the recognition process
164 | if (false) Log.d(TAG, "start mSrec.start");
165 | mSrec.start();
166 | recognizerStarted = true;
167 |
168 | // recognize
169 | while (true) {
170 | if (Thread.interrupted()) throw new InterruptedException();
171 | int event = mSrec.advance();
172 | if (event != Recognizer.EVENT_INCOMPLETE &&
173 | event != Recognizer.EVENT_NEED_MORE_AUDIO) {
174 | Log.d(TAG, "start advance()=" +
175 | Recognizer.eventToString(event) +
176 | " avail " + mic.available());
177 | }
178 | switch (event) {
179 | case Recognizer.EVENT_INCOMPLETE:
180 | case Recognizer.EVENT_STARTED:
181 | case Recognizer.EVENT_START_OF_VOICING:
182 | case Recognizer.EVENT_END_OF_VOICING:
183 | continue;
184 | case Recognizer.EVENT_RECOGNITION_RESULT:
185 | onRecognitionSuccess(recognizerClient);
186 | break;
187 | case Recognizer.EVENT_NEED_MORE_AUDIO:
188 | mSrec.putAudio(mic);
189 | continue;
190 | default:
191 | Log.d(TAG, "unknown event " + event);
192 | recognizerClient.onRecognitionFailure(Recognizer.eventToString(event));
193 | break;
194 | }
195 | break;
196 | }
197 |
198 | } catch (InterruptedException e) {
199 | if (false) Log.d(TAG, "start interrupted " + e);
200 | recognizerClient.onRecognitionError(e.toString());
201 | } catch (IOException e) {
202 | if (false) Log.d(TAG, "start new Srec failed " + e);
203 | recognizerClient.onRecognitionError(e.toString());
204 | } catch (Exception e) {
205 | if (false) Log.d(TAG, "exception " + e);
206 | recognizerClient.onRecognitionError(e.toString());
207 | } finally {
208 | if (false) Log.d(TAG, "start mSrec.stop");
209 | if (mSrec != null && recognizerStarted) mSrec.stop();
210 |
211 | // stop microphone
212 | try {
213 | if (mic != null) mic.close();
214 | }
215 | catch (IOException ex) {
216 | if (false) Log.d(TAG, "start - mic.close failed - " + ex);
217 | }
218 | mic = null;
219 |
220 | // close logger
221 | try {
222 | if (mLogger != null) mLogger.close();
223 | }
224 | catch (IOException ex) {
225 | if (false) Log.d(TAG, "start - mLoggger.close failed - " + ex);
226 | }
227 | mLogger = null;
228 | }
229 | if (false) Log.d(TAG, "start bye");
230 | }
231 |
232 | protected static void addIntent(ArrayList intents, Intent intent) {
233 | for (Intent in : intents) {
234 | if (in.getAction() != null &&
235 | in.getAction().equals(intent.getAction()) &&
236 | in.getData() != null &&
237 | in.getData().equals(intent.getData())) {
238 | return;
239 | }
240 | }
241 | intent.setFlags(intent.getFlags() | Intent.FLAG_ACTIVITY_NEW_TASK);
242 | intents.add(intent);
243 | }
244 | }
245 |
--------------------------------------------------------------------------------
/src/com/android/voicedialer/RecognizerLogger.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2009 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.voicedialer;
18 |
19 | import android.content.Context;
20 | import android.content.Intent;
21 | import android.os.Build;
22 | import android.speech.srec.WaveHeader;
23 | import android.text.format.DateFormat;
24 | import android.util.Log;
25 |
26 | import java.io.BufferedWriter;
27 | import java.io.ByteArrayOutputStream;
28 | import java.io.File;
29 | import java.io.FileFilter;
30 | import java.io.FileOutputStream;
31 | import java.io.FileWriter;
32 | import java.io.IOException;
33 | import java.io.InputStream;
34 | import java.io.OutputStream;
35 | import java.util.ArrayList;
36 | import java.util.Arrays;
37 | import java.util.List;
38 |
39 | /**
40 | * This class logs the inputs and results of a recognition session to
41 | * the files listed below, which reside in
42 | * /data/data/com.android.voicedialer/app_logdir.
43 | * The files have the date encoded in the name so that they will sort in
44 | * time order. The newest RecognizerLogger.MAX_FILES are kept,
45 | * and the rest deleted to limit space used in the file system.
46 | *
47 | * - datename.wav - what the microphone heard.
48 | *
- datename.log - contact list, results, errors, etc.
49 | *
50 | */
51 | public class RecognizerLogger {
52 |
53 | private static final String TAG = "RecognizerLogger";
54 |
55 | private static final String LOGDIR = "logdir";
56 | private static final String ENABLED = "enabled";
57 |
58 | private static final int MAX_FILES = 20;
59 |
60 | private final String mDatedPath;
61 | private final BufferedWriter mWriter;
62 |
63 | /**
64 | * Determine if logging is enabled. If the
65 | * @param context needed to reference the logging directory.
66 | * @return true if logging is enabled, determined by the 'enabled' file.
67 | */
68 | public static boolean isEnabled(Context context) {
69 | File dir = context.getDir(LOGDIR, 0);
70 | File enabled = new File(dir, ENABLED);
71 | return enabled.exists();
72 | }
73 |
74 | /**
75 | * Enable logging.
76 | * @param context needed to reference the logging directory.
77 | */
78 | public static void enable(Context context) {
79 | try {
80 | File dir = context.getDir(LOGDIR, 0);
81 | File enabled = new File(dir, ENABLED);
82 | enabled.createNewFile();
83 | }
84 | catch (IOException e) {
85 | Log.e(TAG, "enableLogging " + e);
86 | }
87 | }
88 |
89 | /**
90 | * Disable logging.
91 | * @param context needed to reference the logging directory.
92 | */
93 | public static void disable(Context context) {
94 | try {
95 | File dir = context.getDir(LOGDIR, 0);
96 | File enabled = new File(dir, ENABLED);
97 | enabled.delete();
98 | }
99 | catch (SecurityException e) {
100 | Log.e(TAG, "disableLogging " + e);
101 | }
102 | }
103 |
104 | /**
105 | * Constructor
106 | * @param dataDir directory to contain the log files.
107 | */
108 | public RecognizerLogger(Context context) throws IOException {
109 | if (false) Log.d(TAG, "RecognizerLogger");
110 |
111 | // generate new root filename
112 | File dir = context.getDir(LOGDIR, 0);
113 | mDatedPath = dir.toString() + File.separator + "log_" +
114 | DateFormat.format("yyyy_MM_dd_kk_mm_ss",
115 | System.currentTimeMillis());
116 |
117 | // delete oldest files
118 | deleteOldest(".wav");
119 | deleteOldest(".log");
120 |
121 | // generate new text output log file
122 | mWriter = new BufferedWriter(new FileWriter(mDatedPath + ".log"), 8192);
123 | mWriter.write(Build.FINGERPRINT);
124 | mWriter.newLine();
125 | }
126 |
127 | /**
128 | * Write a line into the text log file.
129 | */
130 | public void logLine(String msg) {
131 | try {
132 | mWriter.write(msg);
133 | mWriter.newLine();
134 | }
135 | catch (IOException e) {
136 | Log.e(TAG, "logLine exception: " + e);
137 | }
138 | }
139 |
140 | /**
141 | * Write a header for the NBest lines into the text log file.
142 | */
143 | public void logNbestHeader() {
144 | logLine("Nbest *****************");
145 | }
146 |
147 | /**
148 | * Write the list of contacts into the text log file.
149 | * @param contacts
150 | */
151 | public void logContacts(List contacts) {
152 | logLine("Contacts *****************");
153 | for (VoiceContact vc : contacts) logLine(vc.toString());
154 | try {
155 | mWriter.flush();
156 | }
157 | catch (IOException e) {
158 | Log.e(TAG, "logContacts exception: " + e);
159 | }
160 | }
161 |
162 | /**
163 | * Write a list of Intents into the text log file.
164 | * @param intents
165 | */
166 | public void logIntents(ArrayList intents) {
167 | logLine("Intents *********************");
168 | StringBuffer sb = new StringBuffer();
169 | for (Intent intent : intents) {
170 | logLine(intent.toString() + " " + RecognizerEngine.SENTENCE_EXTRA + "=" +
171 | intent.getStringExtra(RecognizerEngine.SENTENCE_EXTRA));
172 | }
173 | try {
174 | mWriter.flush();
175 | }
176 | catch (IOException e) {
177 | Log.e(TAG, "logIntents exception: " + e);
178 | }
179 | }
180 |
181 | /**
182 | * Close the text log file.
183 | * @throws IOException
184 | */
185 | public void close() throws IOException {
186 | mWriter.close();
187 | }
188 |
189 | /**
190 | * Delete oldest files with a given suffix, if more than MAX_FILES.
191 | * @param suffix delete oldest files with this suffix.
192 | */
193 | private void deleteOldest(final String suffix) {
194 | FileFilter ff = new FileFilter() {
195 | public boolean accept(File f) {
196 | String name = f.getName();
197 | return name.startsWith("log_") && name.endsWith(suffix);
198 | }
199 | };
200 | File[] files = (new File(mDatedPath)).getParentFile().listFiles(ff);
201 | Arrays.sort(files);
202 |
203 | for (int i = 0; i < files.length - MAX_FILES; i++) {
204 | files[i].delete();
205 | }
206 | }
207 |
208 | /**
209 | * InputStream wrapper which will log the contents to a WAV file.
210 | * @param inputStream
211 | * @param sampleRate
212 | * @return
213 | */
214 | public InputStream logInputStream(final InputStream inputStream, final int sampleRate) {
215 | final ByteArrayOutputStream baos = new ByteArrayOutputStream(sampleRate * 2 * 20);
216 |
217 | return new InputStream() {
218 |
219 | public int available() throws IOException {
220 | return inputStream.available();
221 | }
222 |
223 | public int read(byte[] b, int offset, int length) throws IOException {
224 | int rtn = inputStream.read(b, offset, length);
225 | if (rtn > 0) baos.write(b, offset, rtn);
226 | return rtn;
227 | }
228 |
229 | public int read(byte[] b) throws IOException {
230 | int rtn = inputStream.read(b);
231 | if (rtn > 0) baos.write(b, 0, rtn);
232 | return rtn;
233 | }
234 |
235 | public int read() throws IOException {
236 | int rtn = inputStream.read();
237 | if (rtn > 0) baos.write(rtn);
238 | return rtn;
239 | }
240 |
241 | public long skip(long n) throws IOException {
242 | throw new UnsupportedOperationException();
243 | }
244 |
245 | public void close() throws IOException {
246 | try {
247 | OutputStream out = new FileOutputStream(mDatedPath + ".wav");
248 | try {
249 | byte[] pcm = baos.toByteArray();
250 | WaveHeader hdr = new WaveHeader(WaveHeader.FORMAT_PCM,
251 | (short)1, sampleRate, (short)16, pcm.length);
252 | hdr.write(out);
253 | out.write(pcm);
254 | }
255 | finally {
256 | out.close();
257 | }
258 | }
259 | finally {
260 | inputStream.close();
261 | baos.close();
262 | }
263 | }
264 | };
265 | }
266 |
267 | }
268 |
--------------------------------------------------------------------------------
/src/com/android/voicedialer/VoiceDialerReceiver.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2008 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.voicedialer;
18 |
19 |
20 | import android.content.Context;
21 | import android.content.Intent;
22 | import android.content.BroadcastReceiver;
23 | import com.android.internal.telephony.TelephonyIntents;
24 | import android.util.Log;
25 | import android.widget.Toast;
26 |
27 | public class VoiceDialerReceiver extends BroadcastReceiver {
28 | private static final String TAG = "VoiceDialerReceiver";
29 |
30 | @Override
31 | public void onReceive(Context context, Intent intent) {
32 | if (false) Log.d(TAG, "onReceive " + intent);
33 |
34 | // fetch up useful stuff
35 | String action = intent.getAction();
36 | String host = intent.getData() != null ? intent.getData().getHost() : null;
37 |
38 | // force recompilation of g2g on boot
39 | if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {
40 | CommandRecognizerEngine.deleteCachedGrammarFiles(context);
41 | }
42 |
43 | // force recompilation if apps change, for 'OPEN' command
44 | else if (Intent.ACTION_PACKAGE_ADDED.equals(action) ||
45 | Intent.ACTION_PACKAGE_CHANGED.equals(action) ||
46 | Intent.ACTION_PACKAGE_REMOVED.equals(action) ||
47 | Intent.ACTION_EXTERNAL_APPLICATIONS_AVAILABLE.equals(action) ||
48 | Intent.ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE.equals(action)) {
49 | CommandRecognizerEngine.deleteCachedGrammarFiles(context);
50 | }
51 |
52 | // Voice Dialer Logging Enabled, *#*#8351#*#*
53 | else if (TelephonyIntents.SECRET_CODE_ACTION.equals(action) && "8351".equals(host)) {
54 | RecognizerLogger.enable(context);
55 | Toast.makeText(context, R.string.logging_enabled, Toast.LENGTH_LONG).show();
56 | }
57 |
58 | // Voice Dialer Logging Disabled, *#*#8350#*#*
59 | else if (TelephonyIntents.SECRET_CODE_ACTION.equals(action) && "8350".equals(host)) {
60 | RecognizerLogger.disable(context);
61 | Toast.makeText(context, R.string.logging_disabled, Toast.LENGTH_LONG).show();
62 | }
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/src/com/android/voicedialer/VoiceDialerTester.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2007 Google Inc.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.voicedialer;
18 |
19 | import android.content.Intent;
20 | import android.util.Log;
21 | import java.io.File;
22 | import java.io.FileFilter;
23 | import java.util.Arrays;
24 | import java.util.HashSet;
25 | import java.util.Set;
26 | import java.util.Vector;
27 |
28 | /**
29 | * This class represents a person who may be called via the VoiceDialer app.
30 | * The person has a name and a list of phones (home, mobile, work).
31 | */
32 | public class VoiceDialerTester {
33 | private static final String TAG = "VoiceDialerTester";
34 |
35 | private final WavFile[] mWavFiles;
36 | private final File[] mWavDirs;
37 |
38 | // these indicate the current test
39 | private int mWavFile = -1; // -1 so it will step to 0 on first iteration
40 |
41 | private static class WavFile {
42 | final public File mFile;
43 | public int mRank;
44 | public int mTotal;
45 | public String mMessage;
46 |
47 | public WavFile(File file) {
48 | mFile = file;
49 | }
50 | }
51 |
52 | /**
53 | * Sweep directory of directories, listing all WAV files.
54 | */
55 | public VoiceDialerTester(File dir) {
56 | if (false) {
57 | Log.d(TAG, "VoiceDialerTester " + dir);
58 | }
59 |
60 | // keep a list of directories visited
61 | Vector wavDirs = new Vector();
62 | wavDirs.add(dir);
63 |
64 | // scan the directory tree
65 | Vector wavFiles = new Vector();
66 | for (int i = 0; i < wavDirs.size(); i++) {
67 | File d = wavDirs.get(i);
68 | for (File f : d.listFiles()) {
69 | if (f.isFile() && f.getName().endsWith(".wav")) {
70 | wavFiles.add(f);
71 | }
72 | else if (f.isDirectory()) {
73 | wavDirs.add(f);
74 | }
75 | }
76 | }
77 |
78 | // produce a sorted list of WavFiles
79 | File[] fa = wavFiles.toArray(new File[wavFiles.size()]);
80 | Arrays.sort(fa);
81 | mWavFiles = new WavFile[fa.length];
82 | for (int i = 0; i < mWavFiles.length; i++) {
83 | mWavFiles[i] = new WavFile(fa[i]);
84 | }
85 |
86 | // produce a sorted list of directories
87 | mWavDirs = wavDirs.toArray(new File[wavDirs.size()]);
88 | Arrays.sort(mWavDirs);
89 | }
90 |
91 | public File getWavFile() {
92 | return mWavFiles[mWavFile].mFile;
93 | }
94 |
95 | /**
96 | * Called by VoiceDialerActivity when a recognizer error occurs.
97 | */
98 | public void onRecognitionError(String msg) {
99 | WavFile wf = mWavFiles[mWavFile];
100 | wf.mRank = -1;
101 | wf.mTotal = -1;
102 | wf.mMessage = msg;
103 | }
104 |
105 | /**
106 | * Called by VoiceDialerActivity when a recognizer failure occurs.
107 | * @param msg Message to display.
108 | */
109 | public void onRecognitionFailure(String msg) {
110 | WavFile wf = mWavFiles[mWavFile];
111 | wf.mRank = 0;
112 | wf.mTotal = 0;
113 | wf.mMessage = msg;
114 | }
115 |
116 | /**
117 | * Called by VoiceDialerActivity when the recognizer succeeds.
118 | * @param intents Array of Intents corresponding to recognized sentences.
119 | */
120 | public void onRecognitionSuccess(Intent[] intents) {
121 | WavFile wf = mWavFiles[mWavFile];
122 | wf.mTotal = intents.length;
123 | String utter = wf.mFile.getName().toLowerCase().replace('_', ' ');
124 | utter = utter.substring(0, utter.indexOf('.')).trim();
125 | for (int i = 0; i < intents.length; i++) {
126 | String sentence =
127 | intents[i].getStringExtra(RecognizerEngine.SENTENCE_EXTRA).
128 | toLowerCase().trim();
129 | // note the first in case there are no matches
130 | if (i == 0) {
131 | wf.mMessage = sentence;
132 | if (intents.length > 1) wf.mMessage += ", etc";
133 | }
134 | // is this a match
135 | if (utter.equals(sentence)) {
136 | wf.mRank = i + 1;
137 | wf.mMessage = null;
138 | break;
139 | }
140 | }
141 | }
142 |
143 | /**
144 | * Called to step to the next WAV file in the test set.
145 | * @return true if successful, false if no more test files.
146 | */
147 | public boolean stepToNextTest() {
148 | mWavFile++;
149 | return mWavFile < mWavFiles.length;
150 | }
151 |
152 | private static final String REPORT_FMT = "%6s %6s %6s %6s %6s %6s %6s %s";
153 | private static final String REPORT_HDR = String.format(REPORT_FMT,
154 | "1/1", "1/N", "M/N", "0/N", "Fail", "Error", "Total", "");
155 |
156 | /**
157 | * Called when the test is complete to dump a summary.
158 | */
159 | public void report() {
160 | // report for each file
161 | Log.d(TAG, "List of all utterances tested");
162 | for (WavFile wf : mWavFiles) {
163 | Log.d(TAG, wf.mRank + "/" + wf.mTotal + " " + wf.mFile +
164 | (wf.mMessage != null ? " " + wf.mMessage : ""));
165 | }
166 |
167 | // summary reports by file name
168 | reportSummaryForEachFileName();
169 |
170 | // summary reports by directory name
171 | reportSummaryForEachDir();
172 |
173 | // summary report for all files
174 | Log.d(TAG, "Summary of all utterances");
175 | Log.d(TAG, REPORT_HDR);
176 | reportSummary("Total", null);
177 | }
178 |
179 | private void reportSummaryForEachFileName() {
180 | Set set = new HashSet();
181 | for (WavFile wf : mWavFiles) {
182 | set.add(wf.mFile.getName());
183 | }
184 | String[] names = set.toArray(new String[set.size()]);
185 | Arrays.sort(names);
186 |
187 | Log.d(TAG, "Summary of utternaces by filename");
188 | Log.d(TAG, REPORT_HDR);
189 | for (final String fn : names) {
190 | reportSummary(fn,
191 | new FileFilter() {
192 | public boolean accept(File file) {
193 | return fn.equals(file.getName());
194 | }
195 | });
196 | }
197 | }
198 |
199 | private void reportSummaryForEachDir() {
200 | Set set = new HashSet();
201 | for (WavFile wf : mWavFiles) {
202 | set.add(wf.mFile.getParent());
203 | }
204 | String[] names = set.toArray(new String[set.size()]);
205 | Arrays.sort(names);
206 |
207 | Log.d(TAG, "Summary of utterances by directory");
208 | Log.d(TAG, REPORT_HDR);
209 | for (File dir : mWavDirs) {
210 | final String dn = dir.getPath();
211 | final String dn2 = dn + "/";
212 | reportSummary(dn,
213 | new FileFilter() {
214 | public boolean accept(File file) {
215 | return file.getPath().startsWith(dn2);
216 | }
217 | });
218 | }
219 | }
220 |
221 | private void reportSummary(String label, FileFilter filter) {
222 | if (!false) return;
223 |
224 | // log cumulative stats
225 | int total = 0;
226 | int count11 = 0;
227 | int count1N = 0;
228 | int countMN = 0;
229 | int count0N = 0;
230 | int countFail = 0;
231 | int countErrors = 0;
232 |
233 | for (WavFile wf : mWavFiles) {
234 | if (filter == null || filter.accept(wf.mFile)) {
235 | total++;
236 | if (wf.mRank == 1 && wf.mTotal == 1) count11++;
237 | if (wf.mRank == 1 && wf.mTotal >= 1) count1N++;
238 | if (wf.mRank >= 1 && wf.mTotal >= 1) countMN++;
239 | if (wf.mRank == 0 && wf.mTotal >= 1) count0N++;
240 | if (wf.mRank == 0 && wf.mTotal == 0) countFail++;
241 | if (wf.mRank == -1 && wf.mTotal == -1) countErrors++;
242 | }
243 | }
244 |
245 | String line = String.format(REPORT_FMT,
246 | countString(count11, total),
247 | countString(count1N, total),
248 | countString(countMN, total),
249 | countString(count0N, total),
250 | countString(countFail, total),
251 | countString(countErrors, total),
252 | "" + total,
253 | label);
254 | Log.d(TAG, line);
255 | }
256 |
257 | private static String countString(int count, int total) {
258 | return total > 0 ? "" + (100 * count / total) + "%" : "";
259 | }
260 |
261 | }
262 |
--------------------------------------------------------------------------------
/tests/Android.mk:
--------------------------------------------------------------------------------
1 | LOCAL_PATH:= $(call my-dir)
2 | include $(CLEAR_VARS)
3 |
4 | # We only want this apk build for tests.
5 | LOCAL_MODULE_TAGS := tests
6 |
7 | LOCAL_JAVA_LIBRARIES := android.test.runner
8 |
9 | # Include all test java files.
10 | LOCAL_SRC_FILES := $(call all-java-files-under, src)
11 |
12 | LOCAL_PACKAGE_NAME := VoiceDialerTests
13 |
14 | LOCAL_INSTRUMENTATION_FOR := VoiceDialer
15 |
16 | include $(BUILD_PACKAGE)
17 |
--------------------------------------------------------------------------------
/tests/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
19 |
20 |
21 |
22 |
23 |
24 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/tests/src/com/android/voicedialer/VoiceDialerLaunchPerformance.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2010 The Android Open Source Project
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.android.voicedialer;
18 |
19 | import android.app.Activity;
20 | import android.os.Bundle;
21 | import android.test.LaunchPerformanceBase;
22 |
23 | /**
24 | * Instrumentation class for DeskClock launch performance testing.
25 | */
26 | public class VoiceDialerLaunchPerformance extends LaunchPerformanceBase {
27 |
28 | @Override
29 | public void onCreate(Bundle arguments) {
30 | super.onCreate(arguments);
31 |
32 | mIntent.setClass(getTargetContext(), VoiceDialerActivity.class);
33 | start();
34 | }
35 |
36 | /**
37 | * Calls LaunchApp and finish.
38 | */
39 | @Override
40 | public void onStart() {
41 | super.onStart();
42 | LaunchApp();
43 | finish(Activity.RESULT_OK, mResults);
44 | }
45 | }
46 |
--------------------------------------------------------------------------------