diff --git a/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java b/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java index ac0fff620..8b781d660 100644 --- a/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java +++ b/android/app/src/main/java/app/organicmaps/widget/menu/NavMenu.java @@ -3,6 +3,7 @@ package app.organicmaps.widget.menu; import android.location.Location; import android.util.Pair; import android.view.View; +import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; @@ -10,6 +11,7 @@ import app.organicmaps.MwmApplication; import app.organicmaps.R; import app.organicmaps.sdk.routing.RoutingInfo; import app.organicmaps.sdk.sound.TtsPlayer; +import app.organicmaps.sdk.util.Config; import app.organicmaps.sdk.util.StringUtils; import app.organicmaps.util.Graphics; import app.organicmaps.util.ThemeUtils; @@ -125,6 +127,8 @@ public class NavMenu private void onTtsClicked() { + if (!TtsPlayer.isReady()) + Toast.makeText(mActivity, R.string.pref_tts_no_system_tts_short, Toast.LENGTH_SHORT).show(); TtsPlayer.setEnabled(!TtsPlayer.isEnabled()); refreshTts(); } diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index eba896155..a138b279e 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -941,4 +941,5 @@ Share Track Delete %s? + No text-to-speech engine found, check the app settings diff --git a/android/sdk/src/main/java/app/organicmaps/sdk/sound/TtsPlayer.java b/android/sdk/src/main/java/app/organicmaps/sdk/sound/TtsPlayer.java index 2be401958..1f4327de4 100644 --- a/android/sdk/src/main/java/app/organicmaps/sdk/sound/TtsPlayer.java +++ b/android/sdk/src/main/java/app/organicmaps/sdk/sound/TtsPlayer.java @@ -220,7 +220,7 @@ public enum TtsPlayer } } - private static boolean isReady() + public static boolean isReady() { return (INSTANCE.mTts != null && !INSTANCE.mUnavailable && !INSTANCE.mInitializing); }