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) {