Closed
Bug 845270
Opened 13 years ago
Closed 7 years ago
Firefox for Android cannot be installed on non-touchscreen hardware
Categories
(Firefox for Android Graveyard :: General, enhancement)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: chris.ace, Unassigned)
References
Details
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20100101 Firefox/17.0
Build ID: 20130215125822
Steps to reproduce:
Go to Play Store on a device not having a touchscreen or to play.google.com with a Google Account that is associated to a device that has no touchscreen.
Actual results:
Message "App is not compatible with GoogleTV device" both for Firefox nd Firefox Beta.
This is probably due to:
<uses-feature android:name="android.hardware.touchscreen" android:required="true">
GoogleTV obviously provides no toch screen, but Firefox seems to require it although alternative native input methods can be used to control it.
Expected results:
Should show up as installable.
Severity: normal → enhancement
OS: Mac OS X → Android
Hardware: x86 → ARM
Comment 1•13 years ago
|
||
What alternative native input methods can be used to pan and zoom? Firefox has custom panning/scrolling code which is only triggered by touch events, so non-touch devices have no way of doing this.
We have some work in progress to make Firefox navigation more friendly to non-touch devices (specifically the Ouya) in bug 831781, but that hasn't landed yet.
I can't see any special input methods being used for Google TV Apps. You basically have a (remote controlled) mouse cursor that translates clicks to a touch event ("Some devices may emulate a subset of touchscreen features using the mouse or D-Pad. "). Additionally (instead of touchscreen gestures) there are "D-pad up/down/left/right motions".
I really think for basic usage all that needs to be done is adding
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
in the manifest. Can't we try that for the beta channel and then see if additional work for input control is required for specific devices or not?
Also see:
https://developers.google.com/tv/android/docs/gtv_migrating
https://developers.google.com/tv/android/docs/gtv_displayguide#Input
https://developers.google.com/tv/android/docs/gtv_demo_samples
Comment 3•13 years ago
|
||
This sounds very much like the Ouya, and I'm pretty sure panning/zooming will not be usable on it. IIRC the Android manifest only affects play store availability, so you should be able to download and install Firefox directly from our FTP site at http://ftp.mozilla.org/pub/mozilla.org/mobile/releases/19.0/android/en-US/fennec-19.0.en-US.android-arm.apk and see how it works. You'll probably have to allow non-market sources from the android settings, and can use whatever browser it ships with to download the APK. Or if you have the Android SDK installed just use adb to install it.
If I'm wrong and it doesn't let you install because of the manifest, I can create a test build with that line removed and make it available for you to install. We won't make this sort of a change to the beta channel as it has a large and mostly-unknown impact.
Updated•13 years ago
|
Status: UNCONFIRMED → NEW
Ever confirmed: true
You were right about being able to install from the apk directly, so the "uses-feature" seems to be relevant for Play only, BUT:
it seems the touch usage is not the biggest problem, it doesn't even start.
I'll file a new bug for the start crash and make this dependent, so nothing to follow-up here right now.
Comment 6•8 years ago
|
||
Same problem exists on Chrome OS devices with support for Android apps (Firefox can be installed from Google Play only on those with a touchscreen, the rest gets "App not compatible" message on Google Play).
Install block itself is caused by lack of "android:required=false" in "<uses-feature android:name="android.hardware.touchscreen"/>" entry of AndroidManifest.xml.
In case you would like to add better support for mouse and keyboard, there is an article which explains how it can be done in custom code that handles touchscreen events: https://developer.android.com/topic/arc/input-compatibility
As for the why would you install Firefox on Chrome OS device, in my case it's testing or handling compatibility issues (there are some websites that have issues on Chrome while work properly on Firefox) :)
Comment 8•7 years ago
|
||
Everything I've read indicates this should be a dead easy fix with no negative effects on anything else. Why hasn't it been implemented? Any ideas?
Comment 9•7 years ago
|
||
(In reply to Judah Richardson from comment #8)
> Everything I've read indicates this should be a dead easy fix with no
> negative effects on anything else. Why hasn't it been implemented? Any ideas?
Did you read the comments earlier in this bug? In particular comment 1 where I said "Firefox has custom panning/scrolling code which is only triggered by touch events, so non-touch devices have no way of doing this."
If you really want it, you can download the APK from our website http://archive.mozilla.org/pub/mobile/releases/ and install it directly.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
Comment 10•7 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #9)
> If you really want it, you can download the APK from our website
> http://archive.mozilla.org/pub/mobile/releases/ and install it directly.
1) How would that affect the existing Nightly installation?
2) That's a security risk in the Android ecosystem world, as it bypasses Play Store protections
3) Related to #1 above: IIRC the last time I transitioned between sideloaded Nightly and Play Store Nightly it KOed my Firefox Account functionality on Android https://mail.mozilla.org/pipermail/android-mobile-nightly-testers/2016-December/000203.html Apparently either Android or Firefox Nightly doesn't remove the previous Firefox Account instance properly and so when the new one is installed Sync just stops working altogether.
Comment 11•7 years ago
|
||
Note that this bug is specifically about installing Firefox on non-touch hardware. So if you already have Firefox via the Play Store or by some other means on your device, then this bug is not relevant to you. Or to put it another way, your points (1) and (3) are irrelevant to this bug.
For point (2), yes, for some level of paranoia, downloading random APKs from the internet and installing them is not a good idea. But it depends on what you're afraid of - are you afraid that Firefox itself contains malicious code, or that the APK you're downloading has been hijacked/replaced by malicious actors (who in this scenario would need to have taken over our archive server)? If the former, then getting the APK from the Play Store isn't going to help you. If the latter, then your other option is to download the source code and build it yourself. It's relatively easy to do, just takes an hour or thereabouts depending on your hardware.
Comment 12•7 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #11)
> Note that this bug is specifically about installing Firefox on non-touch
> hardware.
Well I'm here because my original bug report https://bugzilla.mozilla.org/show_bug.cgi?id=1500832 got merged into this one. You may not be aware of that, so there it is. I'm trying to get Nightly to work on Samsung DeX, which is a non-touch UI that runs atop (alongside?) a touch OS. Chrome Canary works just fine there.
Does that make more sense?
Comment 13•7 years ago
|
||
I wasn't aware of that, thanks for pointing that out. It probably shouldn't have gotten duped here, since you are in fact already able to install the app on your device. In that case, downloading the APK separately and installing it won't make any difference, you will just get the same results as with the Play Store version.
According to https://bugzilla.mozilla.org/show_bug.cgi?id=1420550#c3 you might be able to get it to work by enabling developer mode on your device. Or you can do a local build and take out the line from the manifest that is preventing it from starting.
Either way, for us to fix this "natively" we'd need to have our UX people take a look at the user experience in this configuration and decide if it's good enough to ship or not, and if not, make the necessary fixes. Feel free to try it out and let us know what the experience is like (I don't have one of these devices so I can't test it myself).
Comment 14•7 years ago
|
||
(In reply to Kartikaya Gupta (email:kats@mozilla.com) from comment #13)
> I wasn't aware of that, thanks for pointing that out. It probably shouldn't
> have gotten duped here, since you are in fact already able to install the
> app on your device. In that case, downloading the APK separately and
> installing it won't make any difference, you will just get the same results
> as with the Play Store version.
>
> According to https://bugzilla.mozilla.org/show_bug.cgi?id=1420550#c3 you
> might be able to get it to work by enabling developer mode on your device.
> Or you can do a local build and take out the line from the manifest that is
> preventing it from starting.
>
> Either way, for us to fix this "natively" we'd need to have our UX people
> take a look at the user experience in this configuration and decide if it's
> good enough to ship or not, and if not, make the necessary fixes. Feel free
> to try it out and let us know what the experience is like (I don't have one
> of these devices so I can't test it myself).
Already have dev mode enabled in DeX, no luck.
Comment 15•7 years ago
|
||
Update: I forgot you have to restart DeX to apply the developer change. Firefox Nightly works in it now. Thanks!
| Assignee | ||
Updated•5 years ago
|
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•