We're seeing quite a few crashes of users trying to scan on devices that don't have a camera:
https://sentry.prod.mozaws.net/operations/firefox/issues/9258014/
https://sentry.prod.mozaws.net/operations/firefox/issues/9260856/
On the SearchFragment, we hide the QR scanner based on Context.hasCamera, which we should do here as well.
Looking at those crashes, it seems most of these devices are TV Boxes, Media Players or even TVs.
https://sentry.prod.mozaws.net/operations/firefox/issues/9258014/tags/device/
We should absolutely not show the "Sign in with your camera" button when there is no camera. But also take the above in consideration when we prioritize this for a migration fix.
Hi @Mugurell, since we didn't finish hershey planning, this is an issue to add to the Hershey sprint, but it's not showing up on Jira 馃槄 so tagging you here.
As a different approach we could have the app declaring that it requires camera, so it won't appear in Playstore for devices without camera. But on set-top boxes the app is probably sideloaded...
If there are many people interested into using Firefox on this kind of devices maybe we should look into providing a different UX to better suit their needs?
@Mugurell Verified on Nightly 8/4 and there are a few other places from where you can open the Turn on sync page and you still get the Sign in with your camera option:
Wow, thanks Oana!
Looked in code for other entries but didn't see these .. 馃
I'll push a new commit for them.
As an eng note: It would've been awesome to have the camera check in TurnOnSyncFragment (which is normally started in all these places) and that to automatically start pairing with email. But this means the transitions from one screen to another would be visible by users who might consider them visual artifacts.
So in all places we have to decide beforehand what options we'll present the user with.
Hi all,
I've verified on the 9/1 Nightly, on the emulator all the "sign-in" scenarios with camera option:
and I can confirm that there is no "Sign-in with your camera" option available/displayed.