diff --git a/common/src/main/res/values-ru/strings.xml b/common/src/main/res/values-ru/strings.xml
index b9b0da37a..a61fcdbc2 100644
--- a/common/src/main/res/values-ru/strings.xml
+++ b/common/src/main/res/values-ru/strings.xml
@@ -459,4 +459,5 @@
Жёлтые на чёрном фоне
Соотношение сторон пикселя
Тёмно-серая (монохромная)
+ Пожалуйста, отключите доступ к микрофону для приложения, чтобы этот распознаватель работал правильно.
\ No newline at end of file
diff --git a/common/src/main/res/values-uk/strings.xml b/common/src/main/res/values-uk/strings.xml
index 14b13c40c..2699e51d0 100644
--- a/common/src/main/res/values-uk/strings.xml
+++ b/common/src/main/res/values-uk/strings.xml
@@ -459,4 +459,5 @@
Жовті на чорному фоні
Співвідношення сторін пікселя
Темно-сіра (монохромна)
+ Будь ласка, вимкніть доступ до мікрофона для програми, щоб цей розпізнавач працював належним чином.
\ No newline at end of file
diff --git a/common/src/main/res/values/strings.xml b/common/src/main/res/values/strings.xml
index 775b1035a..5a13d514f 100644
--- a/common/src/main/res/values/strings.xml
+++ b/common/src/main/res/values/strings.xml
@@ -467,4 +467,5 @@
Yellow on black background
Pixel ratio
Dark Grey (monochrome)
+ Please, disable microphone access for the app in order this recognizer to work properly.
diff --git a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/search/tags/vineyard/SearchTagsFragmentBase.java b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/search/tags/vineyard/SearchTagsFragmentBase.java
index 05793ba5d..6973cfd4b 100644
--- a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/search/tags/vineyard/SearchTagsFragmentBase.java
+++ b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/search/tags/vineyard/SearchTagsFragmentBase.java
@@ -16,12 +16,14 @@ import androidx.leanback.widget.ListRowPresenter;
import androidx.leanback.widget.ObjectAdapter;
import androidx.leanback.widget.RowPresenter.ViewHolder;
import androidx.leanback.widget.SpeechRecognitionCallback;
+import com.liskovsoft.sharedutils.helpers.MessageHelpers;
import com.liskovsoft.sharedutils.helpers.PermissionHelpers;
import com.liskovsoft.sharedutils.mylogger.Log;
import com.liskovsoft.smartyoutubetv2.common.app.models.search.SearchTagsProvider;
import com.liskovsoft.smartyoutubetv2.common.app.models.search.vineyard.Tag;
import com.liskovsoft.smartyoutubetv2.common.app.views.SearchView;
import com.liskovsoft.smartyoutubetv2.common.prefs.SearchData;
+import com.liskovsoft.smartyoutubetv2.tv.R;
import com.liskovsoft.smartyoutubetv2.tv.adapter.vineyard.PaginationAdapter;
import com.liskovsoft.smartyoutubetv2.tv.adapter.vineyard.TagAdapter;
import com.liskovsoft.smartyoutubetv2.tv.presenter.CustomListRowPresenter;
@@ -148,6 +150,7 @@ public abstract class SearchTagsFragmentBase extends SearchSupportFragment
switch (SearchData.instance(getContext()).getSpeechRecognizerType()) {
case SearchData.SPEECH_RECOGNIZER_SYSTEM:
+ // Do nothing unless we have old api.
// Internal recognizer needs API >= 23. See: androidx.leanback.widget.SearchBar.startRecognition()
if (Build.VERSION.SDK_INT < 23) {
setSpeechRecognitionCallback(mDefaultCallback);
@@ -251,6 +254,10 @@ public abstract class SearchTagsFragmentBase extends SearchSupportFragment
@SuppressWarnings("deprecation")
private final SpeechRecognitionCallback mDefaultCallback = () -> {
if (isAdded()) {
+ if (PermissionHelpers.hasMicPermissions(getContext())) {
+ MessageHelpers.showMessage(getContext(), R.string.disable_mic_permission);
+ }
+
try {
startActivityForResult(getRecognizerIntent(), REQUEST_SPEECH);
} catch (ActivityNotFoundException e) {