Nexus 5X, PureNexus 6.0.1 ROM
MicroG: Latest F-Droid release
When I install Uber and pinch-zoom on the map (Google Maps API not-sure 1 or 2), the zoom always happens from the top-left corner, not the center of the screen (or pinch?).
I was able to reproduce a similar issue in another app and will further investigate it.
Same problem here on my Redmi note 3 pro + aospextender.

Can reproduce that as well.
Any idea why this happens?
Same for me with LineageOs on titan (Motorola G2)
Can confirm this problem too. Using microG 12.12.2017, Aicp 7.1.2 (build somewhere from start of December)
I've had this issue for a very long time, both with OmniRom 7.1 and now LineageOS 15.1 (microg release 15.1-20180306-microG-bullhead). Nexus 5X. MicroG 0.2.4-108-g464d45d. Uber version 4.200.10002.
I also confirm: it happens with OmniRom 8.1.0; microG is 0.2.4.111-gf1cdb48 installed via Magisk as NanoDroid module (v16.5.20180402).
The problem also happened when I used crDroid (the last Nougat version they released).
(copying debug information from issue #690)

Here is my logcat:
01-16 23:42:23.986 5069 5081 D GmsChimeraSpoof: query: content://com.google.android.gms.chimera/api_force_staging/com.google.android.gms.maps_dynamite
01-16 23:42:23.987 13192 13276 W DynamiteModule: Failed to retrieve remote module version.
01-16 23:42:24.000 13192 13276 I com.ubercab: The ClassLoaderContext is a special shared library.
01-16 23:42:24.056 13192 13250 D ProviderInstallerImpl: yep, i should do something with Security here...
01-16 23:42:24.056 13192 13276 D GmsDynamiteLoaderImpl: unimplemented Method: getModuleVersion for com.google.android.gms.maps_dynamite
01-16 23:42:24.056 13192 13276 W DynamiteModule: Local module descriptor class for com.google.android.gms.maps_dynamite not found.
01-16 23:42:24.056 13192 13276 I DynamiteModule: Considering local module com.google.android.gms.maps_dynamite:0 and remote module com.google.android.gms.maps_dynamite:0
01-16 23:42:24.057 13192 13276 E dpj : Failed to load maps module, use legacy
01-16 23:42:24.057 13192 13276 E dpj : dbq: No acceptable module found. Local version is 0 and remote version is 0.
01-16 23:42:24.057 13192 13276 E dpj : at com.google.android.gms.dynamite.DynamiteModule.a(Unknown Source:299)
01-16 23:42:24.057 13192 13276 E dpj : at dpj.c(Unknown Source:4)
01-16 23:42:24.057 13192 13276 E dpj : at dpj.b(Unknown Source:7)
01-16 23:42:24.057 13192 13276 E dpj : at dpj.a(Unknown Source:23)
01-16 23:42:24.057 13192 13276 E dpj : at dom.a(Unknown Source:15)
01-16 23:42:24.057 13192 13276 E dpj : at fiz.a(SourceFile:53)
01-16 23:42:24.057 13192 13276 E dpj : at nxm.a(SourceFile:254)
01-16 23:42:24.057 13192 13276 E dpj : at nxv.a(SourceFile:49)
01-16 23:42:24.057 13192 13276 E dpj : at nxv.a(SourceFile:38)
01-16 23:42:24.057 13192 13276 E dpj : at nxv.a(SourceFile:32)
01-16 23:42:24.057 13192 13276 E dpj : at nxv.get(SourceFile:11)
01-16 23:42:24.057 13192 13276 E dpj : at axjn.get(SourceFile:47)
01-16 23:42:24.057 13192 13276 E dpj : at nwt.b(SourceFile:42)
01-16 23:42:24.057 13192 13276 E dpj : at nwt.lambda$UtazosJRibLXmokCc3d60c0Wko4(Unknown Source:0)
01-16 23:42:24.057 13192 13276 E dpj : at -$$Lambda$nwt$UtazosJRibLXmokCc3d60c0Wko4.run(Unknown Source:2)
01-16 23:42:24.057 13192 13276 E dpj : at java.lang.Thread.run(Thread.java:764)
Can confirm this also happening to me.
Previously used microg for some time with impressively stability, aside from this one frustrating issue. It's the one thing which would hold me back from using microg again, really hopeful to see some progress on it at some point!
This is related to #635 due to the line ProviderInstallerImpl: yep, i should do something with Security here...
From this comment, someone said that "some older version" of lyft might work:
Does anyone know if there is a sufficiently old version of the uber app that would work? ... or is this something else entirely?
The problem is worse than in the OP (and as showed by some other screenshots). The map does not work at all. The cars stay stuck wherever they are on the map when dragging through it, making it impossible to tell where the driver is relative to the pickup. Additionally, the map itself glitches when dragging. I tested this with both the v1 and v2 Google Map APIs.
I will add that this issue also happens with UberEats, but it's in my opinion much worse because UberEats doesn't have a web interface at all (as far as I know), whereas for Uber there's the alternative of m.uber.com which works reasonably well.
Posted a $20 bounty as well: https://www.bountysource.com/issues/35661658-uber-map-zooms-from-top-left-corner
Users may be interesten in Uber lite, which does work!
Users may be interesten in Uber lite, which does work!
Interesting, I had not heard of this before. It seems to be quite limited (can only pay in cash; I imagine there's no UberPOOL), but thanks a lot for the suggestion. Also not available in the US or any OECD countries.
I use Uber light regularly, paying with credit card.
May be you need to set up payment methods in the main app or site first.
I hadn't noticed. At least they have plans to make it available.
i use http://m.uber.com
It looks like it's fixed!!!
I upgraded to version 0.2.7.17455 of MiroG services core, and opened Uber (the full app, not the light one). Zooming works perfectly!
A HUGE THANKS to the devs for their hard work!!!
i have not used microg in a while and cannot test if it's fixed. Maybe a maintainer can close the issue if necessary.
@mar-v-in I'm not sure if it's enough to close the bug (only I tested, and it works for me now)
Since the author of the issue cannot test it, maybe we should wait a report from 2 or 3 users and then close it.
I can confirm that Uber now works for me too
However now when I press 'Request Uber' it crashes with the following:
06-09 22:31:12.014 4739 4739 W System.err: io.reactivex.exceptions.OnErrorNotImplementedException: Inferred subscribe point: aeom.accept(:1063747)
06-09 22:31:12.014 4739 4739 W System.err: at com.ubercab.rx2.java.stackelementtagging.TaggingObserver.onError(:276671)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.a(:135985)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.e(:136002)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(:136060)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.android.schedulers.AsyncHandlerScheduler$ScheduledRunnable.run(:285788)
06-09 22:31:12.014 4739 4739 W System.err: at android.os.Handler.handleCallback(Handler.java:790)
06-09 22:31:12.014 4739 4739 W System.err: at android.os.Handler.dispatchMessage(Handler.java:99)
06-09 22:31:12.014 4739 4739 W System.err: at android.os.Looper.loop(Looper.java:164)
06-09 22:31:12.014 4739 4739 W System.err: at android.app.ActivityThread.main(ActivityThread.java:6494)
06-09 22:31:12.014 4739 4739 W System.err: at java.lang.reflect.Method.invoke(Native Method)
06-09 22:31:12.014 4739 4739 W System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:440)
06-09 22:31:12.014 4739 4739 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
06-09 22:31:12.014 4739 4739 W System.err: Caused by: com.mapbox.mapboxsdk.exceptions.CalledFromWorkerThreadException: Map interactions should happen on the UI thread. Method invoked from wrong thread is pixelForLatLng.
06-09 22:31:12.014 4739 4739 W System.err: at com.mapbox.mapboxsdk.maps.NativeMapView.checkState(NativeMapView.java:113)
06-09 22:31:12.014 4739 4739 W System.err: at com.mapbox.mapboxsdk.maps.NativeMapView.pixelForLatLng(NativeMapView.java:659)
06-09 22:31:12.014 4739 4739 W System.err: at com.mapbox.mapboxsdk.maps.Projection.toScreenLocation(Projection.java:257)
06-09 22:31:12.014 4739 4739 W System.err: at org.microg.gms.maps.mapbox.ProjectionImpl.toScreenLocation(Projection.kt:37)
06-09 22:31:12.014 4739 4739 W System.err: at com.google.android.gms.maps.internal.IProjectionDelegate$Stub.onTransact(IProjectionDelegate.java:72)
06-09 22:31:12.014 4739 4739 W System.err: at android.os.Binder.transact(Binder.java:627)
06-09 22:31:12.014 4739 4739 W System.err: at dvv.a(Unknown Source:7)
06-09 22:31:12.014 4739 4739 W System.err: at ecl.a(Unknown Source:8)
06-09 22:31:12.014 4739 4739 W System.err: at ebr.a(Unknown Source:2)
06-09 22:31:12.014 4739 4739 W System.err: at hif.toScreenLocation(:122401)
06-09 22:31:12.014 4739 4739 W System.err: at aeop.apply(:1063766)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.internal.operators.observable.ObservableMap$MapObserver.onNext(:135727)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.e(:136007)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(:136060)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.internal.schedulers.ScheduledRunnable.run(:140477)
06-09 22:31:12.014 4739 4739 W System.err: at io.reactivex.internal.schedulers.ScheduledRunnable.call(:140460)
06-09 22:31:12.015 4739 4739 W System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
06-09 22:31:12.015 4739 4739 W System.err: at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
06-09 22:31:12.015 4739 4739 W System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
06-09 22:31:12.015 4739 4739 W System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
06-09 22:31:12.015 4739 4739 W System.err: at -$$Lambda$gvu$VCSYyzcX1Z4p8g4sB0tJFRQC-4I.run(Unknown Source:7)
06-09 22:31:12.015 4739 4739 W System.err: at java.lang.Thread.run(Thread.java:764)
It successfuly requests an uber though, and shows that driver is on their way after restarting the app. Shoudl I open a separate issue about this?
Uber works, though as I don't live in an area where Uber is available and I don't plan on riding a taxi any time soon I can't test the cab calling functionality.
@Torvin yep, you should open a separate thread about it. Seems more like Uber using undefined GMS behavior though. @mar-v-in should probably allow interactions from a worker thread and at least try to queue/gracefully handle race conditions.
@oldosfan @mar-v-in Thanks, done: #832
Since there is a bounty on this issue, it would be nice to have a confirmation from @lucassz so then @mar-v-in can claim the bounty.
I'm leaving this open waiting a reply from the one that posted the bounty.
@ale5000-git Will try this later today and report back!
Works for me, thanks a lot!
@lucassz do all apps with embedded maps work now? (Lyft, Lime/Bird/etc, Yelp, etc...)
So it is fixed, thanks.
@mar-v-in
I have the same issue as in #832 with Uber, but fortunately it doesn't harm the usability of the app. @Riamse I tried Lyft but ran into the issue in #689.
Most helpful comment
@ale5000-git Will try this later today and report back!