prevented crashing when trying to use an incompatible voice input service/assistant
This commit is contained in:
parent
f4ec96b9c8
commit
0058928709
15 changed files with 27 additions and 4 deletions
|
|
@ -11,6 +11,7 @@ import io.github.sspanak.tt9.R;
|
||||||
public class VoiceInputError {
|
public class VoiceInputError {
|
||||||
public final static int ERROR_NOT_AVAILABLE = 101;
|
public final static int ERROR_NOT_AVAILABLE = 101;
|
||||||
public final static int ERROR_INVALID_LANGUAGE = 102;
|
public final static int ERROR_INVALID_LANGUAGE = 102;
|
||||||
|
public final static int ERROR_CANNOT_BIND_TO_VOICE_SERVICE = 103;
|
||||||
|
|
||||||
public final int code;
|
public final int code;
|
||||||
public final String message;
|
public final String message;
|
||||||
|
|
@ -50,6 +51,8 @@ public class VoiceInputError {
|
||||||
@NonNull
|
@NonNull
|
||||||
private static String codeToString(Context context, int code) {
|
private static String codeToString(Context context, int code) {
|
||||||
return switch (code) {
|
return switch (code) {
|
||||||
|
case ERROR_CANNOT_BIND_TO_VOICE_SERVICE
|
||||||
|
-> context.getString(R.string.voice_input_error_incompatible_voice_service);
|
||||||
case SpeechRecognizer.ERROR_INSUFFICIENT_PERMISSIONS
|
case SpeechRecognizer.ERROR_INSUFFICIENT_PERMISSIONS
|
||||||
-> context.getString(R.string.voice_input_error_no_permissions);
|
-> context.getString(R.string.voice_input_error_no_permissions);
|
||||||
case SpeechRecognizer.ERROR_LANGUAGE_NOT_SUPPORTED
|
case SpeechRecognizer.ERROR_LANGUAGE_NOT_SUPPORTED
|
||||||
|
|
@ -116,6 +119,7 @@ public class VoiceInputError {
|
||||||
case SpeechRecognizer.ERROR_SPEECH_TIMEOUT -> "No speech detected.";
|
case SpeechRecognizer.ERROR_SPEECH_TIMEOUT -> "No speech detected.";
|
||||||
case ERROR_NOT_AVAILABLE -> "Voice input is not available.";
|
case ERROR_NOT_AVAILABLE -> "Voice input is not available.";
|
||||||
case ERROR_INVALID_LANGUAGE -> "Invalid language for voice input.";
|
case ERROR_INVALID_LANGUAGE -> "Invalid language for voice input.";
|
||||||
|
case ERROR_CANNOT_BIND_TO_VOICE_SERVICE -> "Cannot bind to the current voice input service.";
|
||||||
default -> null;
|
default -> null;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -93,8 +93,14 @@ public class VoiceInputOps {
|
||||||
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
|
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
|
||||||
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, locale);
|
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, locale);
|
||||||
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, toString());
|
intent.putExtra(RecognizerIntent.EXTRA_PROMPT, toString());
|
||||||
speechRecognizer.startListening(intent);
|
|
||||||
Logger.d(getClass().getSimpleName(), "SpeechRecognizer started for locale: " + locale);
|
try {
|
||||||
|
speechRecognizer.startListening(intent);
|
||||||
|
Logger.d(getClass().getSimpleName(), "SpeechRecognizer started for locale: " + locale);
|
||||||
|
} catch (SecurityException e) {
|
||||||
|
Logger.e(getClass().getSimpleName(), "SpeechRecognizer start failed due to a SecurityException. " + e.getMessage());
|
||||||
|
onError(new VoiceInputError(ims, VoiceInputError.ERROR_CANNOT_BIND_TO_VOICE_SERVICE));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -155,6 +155,7 @@
|
||||||
<string name="key_volume_mute">Заглушаване на звук</string>
|
<string name="key_volume_mute">Заглушаване на звук</string>
|
||||||
<string name="voice_input_listening">Говорете</string>
|
<string name="voice_input_listening">Говорете</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Трябва да разрешите достъпа до микрофона, за да използвате гласовото въвеждане.</string>
|
<string name="voice_input_mic_permission_is_needed">Трябва да разрешите достъпа до микрофона, за да използвате гласовото въвеждане.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Несъвместим гласов асистент</string>
|
||||||
<string name="voice_input_error_generic">Неуспешно гласово въвеждане</string>
|
<string name="voice_input_error_generic">Неуспешно гласово въвеждане</string>
|
||||||
<string name="voice_input_error_no_permissions">Няма достъп до микрофона</string>
|
<string name="voice_input_error_no_permissions">Няма достъп до микрофона</string>
|
||||||
<string name="voice_input_error_language_not_supported">Езикът не се поддържа</string>
|
<string name="voice_input_error_language_not_supported">Езикът не се поддържа</string>
|
||||||
|
|
|
||||||
|
|
@ -144,6 +144,7 @@
|
||||||
<string name="key_volume_mute">Stummschalttaste</string>
|
<string name="key_volume_mute">Stummschalttaste</string>
|
||||||
<string name="voice_input_listening">Sprechen</string>
|
<string name="voice_input_listening">Sprechen</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Sie müssen dem Mikrofon die Erlaubnis erteilen, die Spracheingabe zu verwenden.</string>
|
<string name="voice_input_mic_permission_is_needed">Sie müssen dem Mikrofon die Erlaubnis erteilen, die Spracheingabe zu verwenden.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Inkompatibler Sprachassistent</string>
|
||||||
<string name="voice_input_error_generic">Fehler bei der Spracheingabe</string>
|
<string name="voice_input_error_generic">Fehler bei der Spracheingabe</string>
|
||||||
<string name="voice_input_error_no_permissions">Keine Mikrofonberechtigung</string>
|
<string name="voice_input_error_no_permissions">Keine Mikrofonberechtigung</string>
|
||||||
<string name="voice_input_error_language_not_supported">Sprache nicht unterstützt</string>
|
<string name="voice_input_error_language_not_supported">Sprache nicht unterstützt</string>
|
||||||
|
|
|
||||||
|
|
@ -155,6 +155,7 @@
|
||||||
<string name="key_volume_mute">Botón de silencio</string>
|
<string name="key_volume_mute">Botón de silencio</string>
|
||||||
<string name="voice_input_listening">Hable</string>
|
<string name="voice_input_listening">Hable</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Debe otorgar permiso al micrófono para usar la entrada de voz.</string>
|
<string name="voice_input_mic_permission_is_needed">Debe otorgar permiso al micrófono para usar la entrada de voz.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Asistente de voz incompatible</string>
|
||||||
<string name="voice_input_error_generic">Error de entrada de voz</string>
|
<string name="voice_input_error_generic">Error de entrada de voz</string>
|
||||||
<string name="voice_input_error_no_permissions">Sin permiso para el micrófono</string>
|
<string name="voice_input_error_no_permissions">Sin permiso para el micrófono</string>
|
||||||
<string name="voice_input_error_language_not_supported">Idioma no compatible</string>
|
<string name="voice_input_error_language_not_supported">Idioma no compatible</string>
|
||||||
|
|
|
||||||
|
|
@ -153,6 +153,7 @@
|
||||||
<string name="key_volume_mute">Muet</string>
|
<string name="key_volume_mute">Muet</string>
|
||||||
<string name="voice_input_listening">Parlez</string>
|
<string name="voice_input_listening">Parlez</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Vous devez accorder l\'autorisation au microphone pour utiliser la saisie vocale.</string>
|
<string name="voice_input_mic_permission_is_needed">Vous devez accorder l\'autorisation au microphone pour utiliser la saisie vocale.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Assistant vocal incompatible</string>
|
||||||
<string name="voice_input_error_generic">Erreur de saisie vocale</string>
|
<string name="voice_input_error_generic">Erreur de saisie vocale</string>
|
||||||
<string name="voice_input_error_no_permissions">Pas d\'autorisation pour le microphone</string>
|
<string name="voice_input_error_no_permissions">Pas d\'autorisation pour le microphone</string>
|
||||||
<string name="voice_input_error_language_not_supported">Langue non prise en charge</string>
|
<string name="voice_input_error_language_not_supported">Langue non prise en charge</string>
|
||||||
|
|
|
||||||
|
|
@ -145,6 +145,7 @@
|
||||||
<string name="key_volume_mute">Muto</string>
|
<string name="key_volume_mute">Muto</string>
|
||||||
<string name="voice_input_listening">Parli</string>
|
<string name="voice_input_listening">Parli</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Devi concedere l\'autorizzazione al microfono per utilizzare l\'input vocale.</string>
|
<string name="voice_input_mic_permission_is_needed">Devi concedere l\'autorizzazione al microfono per utilizzare l\'input vocale.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Assistente vocale incompatibile</string>
|
||||||
<string name="voice_input_error_generic">Errore di input vocale</string>
|
<string name="voice_input_error_generic">Errore di input vocale</string>
|
||||||
<string name="voice_input_error_no_permissions">Nessuna autorizzazione per il microfono</string>
|
<string name="voice_input_error_no_permissions">Nessuna autorizzazione per il microfono</string>
|
||||||
<string name="voice_input_error_language_not_supported">Lingua non supportata</string>
|
<string name="voice_input_error_language_not_supported">Lingua non supportata</string>
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,7 @@
|
||||||
<string name="key_volume_mute">כפתור השתק</string>
|
<string name="key_volume_mute">כפתור השתק</string>
|
||||||
<string name="voice_input_listening">האזנה</string>
|
<string name="voice_input_listening">האזנה</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">עליך להעניק למיקרופון הרשאה להשתמש בקלט קולי.</string>
|
<string name="voice_input_mic_permission_is_needed">עליך להעניק למיקרופון הרשאה להשתמש בקלט קולי.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">עוזר קולי לא תואם</string>
|
||||||
<string name="voice_input_error_generic">שגיאת קלט קולי</string>
|
<string name="voice_input_error_generic">שגיאת קלט קולי</string>
|
||||||
<string name="voice_input_error_no_permissions">אין הרשאת מיקרופון</string>
|
<string name="voice_input_error_no_permissions">אין הרשאת מיקרופון</string>
|
||||||
<string name="voice_input_error_language_not_supported">השפה אינה נתמכת</string>
|
<string name="voice_input_error_language_not_supported">השפה אינה נתמכת</string>
|
||||||
|
|
|
||||||
|
|
@ -164,6 +164,7 @@
|
||||||
<string name="key_volume_mute">Nutildymo mygt.</string>
|
<string name="key_volume_mute">Nutildymo mygt.</string>
|
||||||
<string name="voice_input_listening">Kalbėkite</string>
|
<string name="voice_input_listening">Kalbėkite</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Turite suteikti mikrofonui leidimą naudoti balso įvestį.</string>
|
<string name="voice_input_mic_permission_is_needed">Turite suteikti mikrofonui leidimą naudoti balso įvestį.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Nesuderinamas balso asistentas</string>
|
||||||
<string name="voice_input_error_generic">Balso įvesties klaida</string>
|
<string name="voice_input_error_generic">Balso įvesties klaida</string>
|
||||||
<string name="voice_input_error_no_permissions">Nėra mikrofono leidimo</string>
|
<string name="voice_input_error_no_permissions">Nėra mikrofono leidimo</string>
|
||||||
<string name="voice_input_error_language_not_supported">Kalba nepalaikoma</string>
|
<string name="voice_input_error_language_not_supported">Kalba nepalaikoma</string>
|
||||||
|
|
|
||||||
|
|
@ -144,6 +144,7 @@
|
||||||
<string name="key_volume_mute">Stilteknop</string>
|
<string name="key_volume_mute">Stilteknop</string>
|
||||||
<string name="voice_input_listening">Spreek</string>
|
<string name="voice_input_listening">Spreek</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">U moet de microfoon toestemming geven om spraakopvoer te gebruiken.</string>
|
<string name="voice_input_mic_permission_is_needed">U moet de microfoon toestemming geven om spraakopvoer te gebruiken.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Onverenigbare spraakassistent</string>
|
||||||
<string name="voice_input_error_generic">Fout bij spraakopvoer</string>
|
<string name="voice_input_error_generic">Fout bij spraakopvoer</string>
|
||||||
<string name="voice_input_error_no_permissions">Geen microfoontoestemming</string>
|
<string name="voice_input_error_no_permissions">Geen microfoontoestemming</string>
|
||||||
<string name="voice_input_error_language_not_supported">Taal niet ondersteund</string>
|
<string name="voice_input_error_language_not_supported">Taal niet ondersteund</string>
|
||||||
|
|
|
||||||
|
|
@ -157,6 +157,7 @@
|
||||||
<string name="key_volume_mute">Mudo</string>
|
<string name="key_volume_mute">Mudo</string>
|
||||||
<string name="voice_input_listening">Fale</string>
|
<string name="voice_input_listening">Fale</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Você deve conceder permissão ao microfone para usar a entrada de voz.</string>
|
<string name="voice_input_mic_permission_is_needed">Você deve conceder permissão ao microfone para usar a entrada de voz.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Assistente de voz incompatível</string>
|
||||||
<string name="voice_input_error_generic">Erro de entrada de voz</string>
|
<string name="voice_input_error_generic">Erro de entrada de voz</string>
|
||||||
<string name="voice_input_error_no_permissions">Sem permissão para o microfone</string>
|
<string name="voice_input_error_no_permissions">Sem permissão para o microfone</string>
|
||||||
<string name="voice_input_error_language_not_supported">Idioma não suportado</string>
|
<string name="voice_input_error_language_not_supported">Idioma não suportado</string>
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
<string name="add_word_blank">Невозможно добавить слово.</string>
|
<string name="add_word_blank">Невозможно добавить слово.</string>
|
||||||
<string name="add_word_exist">Слово «%1$s» уже есть в словаре.</string>
|
<string name="add_word_exist">Слово «%1$s» уже есть в словаре.</string>
|
||||||
<string name="add_word_invalid_language_x">Невозможно добавить слово. Неизвестный язык: \"%1$d\".</string>
|
<string name="add_word_invalid_language_x">Невозможно добавить слово. Неизвестный язык: \"%1$d\".</string>
|
||||||
<string name="add_word_success">« %1$s » добавлено</string>
|
<string name="add_word_success">«%1$s» добавлено</string>
|
||||||
<string name="add_word_title">Добавить слово</string>
|
<string name="add_word_title">Добавить слово</string>
|
||||||
<string name="commands_select_command">Выбрать команду</string>
|
<string name="commands_select_command">Выбрать команду</string>
|
||||||
<string name="pref_category_about">О приложении</string>
|
<string name="pref_category_about">О приложении</string>
|
||||||
|
|
@ -155,6 +155,7 @@
|
||||||
<string name="key_volume_mute">Выключения звука</string>
|
<string name="key_volume_mute">Выключения звука</string>
|
||||||
<string name="voice_input_listening">Говорите</string>
|
<string name="voice_input_listening">Говорите</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Вы должны предоставить микрофону разрешение на использование голосового ввода.</string>
|
<string name="voice_input_mic_permission_is_needed">Вы должны предоставить микрофону разрешение на использование голосового ввода.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Несовместимый голосовой ассистент</string>
|
||||||
<string name="voice_input_error_generic">Ошибка голосового ввода</string>
|
<string name="voice_input_error_generic">Ошибка голосового ввода</string>
|
||||||
<string name="voice_input_error_no_permissions">Нет разрешения на использование микрофона</string>
|
<string name="voice_input_error_no_permissions">Нет разрешения на использование микрофона</string>
|
||||||
<string name="voice_input_error_language_not_supported">Язык не поддерживается</string>
|
<string name="voice_input_error_language_not_supported">Язык не поддерживается</string>
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,7 @@
|
||||||
<string name="key_volume_mute">Sessiz tuşu</string>
|
<string name="key_volume_mute">Sessiz tuşu</string>
|
||||||
<string name="voice_input_listening">Konuşun</string>
|
<string name="voice_input_listening">Konuşun</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Sesli giriş kullanmak için mikrofona izin vermelisiniz.</string>
|
<string name="voice_input_mic_permission_is_needed">Sesli giriş kullanmak için mikrofona izin vermelisiniz.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Uyumsuz sesli asistan</string>
|
||||||
<string name="voice_input_error_generic">Sesli giriş hatası</string>
|
<string name="voice_input_error_generic">Sesli giriş hatası</string>
|
||||||
<string name="voice_input_error_no_permissions">Mikrofon izni yok</string>
|
<string name="voice_input_error_no_permissions">Mikrofon izni yok</string>
|
||||||
<string name="voice_input_error_language_not_supported">Dil desteklenmiyor</string>
|
<string name="voice_input_error_language_not_supported">Dil desteklenmiyor</string>
|
||||||
|
|
|
||||||
|
|
@ -166,6 +166,7 @@
|
||||||
<string name="key_volume_mute">Вимкнення звуку</string>
|
<string name="key_volume_mute">Вимкнення звуку</string>
|
||||||
<string name="voice_input_listening">Диктуйте</string>
|
<string name="voice_input_listening">Диктуйте</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">Ви повинні надати мікрофону дозвіл на використання голосового введення.</string>
|
<string name="voice_input_mic_permission_is_needed">Ви повинні надати мікрофону дозвіл на використання голосового введення.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Несумісний голосовий асистент</string>
|
||||||
<string name="voice_input_error_generic">Помилка голосового введення</string>
|
<string name="voice_input_error_generic">Помилка голосового введення</string>
|
||||||
<string name="voice_input_error_no_permissions">Немає дозволу на використання мікрофона</string>
|
<string name="voice_input_error_no_permissions">Немає дозволу на використання мікрофона</string>
|
||||||
<string name="voice_input_error_language_not_supported">Мова не підтримується</string>
|
<string name="voice_input_error_language_not_supported">Мова не підтримується</string>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<resources>
|
<resources>
|
||||||
<string translatable="false" name="dictionary_url">https://raw.githubusercontent.com/sspanak/tt9/%1$s/downloads/%2$s</string>
|
<string name="dictionary_url" translatable="false">https://raw.githubusercontent.com/sspanak/tt9/%1$s/downloads/%2$s</string>
|
||||||
<string name="app_name" translatable="false">Traditional T9</string>
|
<string name="app_name" translatable="false">Traditional T9</string>
|
||||||
<string name="app_name_short" translatable="false">TT9</string>
|
<string name="app_name_short" translatable="false">TT9</string>
|
||||||
<string name="app_settings">TT9 Settings</string>
|
<string name="app_settings">TT9 Settings</string>
|
||||||
|
|
@ -235,6 +235,7 @@
|
||||||
<string name="voice_input_listening">Speak</string>
|
<string name="voice_input_listening">Speak</string>
|
||||||
<string name="voice_input_stopping">Turning off the microphone…</string>
|
<string name="voice_input_stopping">Turning off the microphone…</string>
|
||||||
<string name="voice_input_mic_permission_is_needed">You must allow the microphone permission to use voice input.</string>
|
<string name="voice_input_mic_permission_is_needed">You must allow the microphone permission to use voice input.</string>
|
||||||
|
<string name="voice_input_error_incompatible_voice_service">Incompatible voice assistant</string>
|
||||||
<string name="voice_input_error_generic">Voice input error</string>
|
<string name="voice_input_error_generic">Voice input error</string>
|
||||||
<string name="voice_input_error_no_permissions">No microphone permission</string>
|
<string name="voice_input_error_no_permissions">No microphone permission</string>
|
||||||
<string name="voice_input_error_language_not_supported">Language not supported</string>
|
<string name="voice_input_error_language_not_supported">Language not supported</string>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue