-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Bug]: Voice input icon should be shown only when corresponding services are available #5698
Comments
I have question, i.e., what is the case or device that doesn't have speech to text feature? |
Just try uninstalling / disabling Google's speech-to-text app and other similar apps from your device. Your device would no longer have any of those services. |
I got it, thanks :) I guess these two ways can be helpful:-
|
@rohit9625 How about changing the color of the icon (may be to a Gray) if service is not available, unclicking the icon we can show the Toast to indicate the status of service. |
That's a great idea :) Let's see @sivaraam's thoughts also. |
For now the important thing is probably: How to find out in advance whether service is available or not. |
Hey @nicolas-raoul, I ran this code (https://stackoverflow.com/a/32596376) I was able to get the engines available Here are the results These are the same I got on going to settings of my phone |
I think it might be ideal to just hide the icon altogether when no speech-to-text services are available. I don't see any point with bothering the user about it when their device doesn't have speech-to-text services. If I'm right, the Wikipedia app does the same.
This is good. If it's helpful, this seems like the snippet that the Wikipedia app uses in order to recognize if speech-to-text services are available. We could consider using the same too. if it seems better 🙂 |
We have two options here: 1. Reactively update the
|
I think that checking service availability only once is fine. If the user enables the service, the user must restart the app. So it won't be resource-intensive. I am in favor of not showing anything if the service is not available. |
Okay, just to make sure we're on the same page, this is how it's gonna be ->
Now, for lazy initialization, I can write it in java, since our application class CommonsApplication is in java. But we can use kotlin's So, if there's no reason not to, can I migrate application class to kotlin first? Let me know if my solution is okay. @nicolas-raoul P.S: I'm sorry if you find it bothering that I'm asking too many question. I try my best not to and figure out stuff on my own :) |
Great idea! :-)
No need to consider this case, other than not crashing. Users can understand that if they disable it, it becomes unusable even if the icon is still present.
Sure! Would you mind making it a different pull request? Thanks! |
I wasn't sure whether this has been tested and merged, can someone confirm? Thanks, Chris. |
@chrisdebian You can see the green "Open" label at the right of the referenced pull request, it means it is not merged. :-) |
Thanks, I wasn't sure whether that meant it was merged :-). Can this be merged? Just trying to understand what needs to be done, next. Thanks, Chris |
Summary
It's great to see the voice input option in the description and caption elements. There is a possibility that there are no speech-to-text services available on the device. Right now we seem to show the speech-to-text icon even in that case. We should identify this case and avoid showing the icon.
Steps to reproduce
Expected behaviour
We don't show the speech-to-text icon at all as the same is not available on the device.
Actual behaviour
We show the speech-to-text icon but tapping on the same has no effect.
Device name
OnePlus Nord
Android version
Android 12
Commons app version
main
Device logs
No response
Screen-shots
No response
Would you like to work on the issue?
Prefer not
The text was updated successfully, but these errors were encountered: