osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.6k stars 1.01k forks source link

Doesn't display Correctly on Ford Everest 2019 (Sync 3, Android Auto) #19406

Closed dbareis closed 5 months ago

dbareis commented 5 months ago

Description

I think OsmAnd thinks the screen is much bigger than it is and only displays part of it.

Steps to reproduce

Connect to car. I tried directly via USB and indirectly via AAWireless app, both have this problem.

Actual result

Weird display, no left, right or top panels. "Compass" circle on top of screen and not near bottom over current position.

Expected result

Look similar to the phone when in landscape mode, that is has left, right or top panels. "Compass" circle on top of screen and not near bottom over current position.

Your Environment (required)

Device : dm3q
Brand : samsung
Manufacturer : samsung
Model : SM-S918B
Product : dm3qxxx
Build : UP1A.231005.007.S918BXXS3BXBD
Version : 14
App Version : OsmAnd
Apk Version : 4.6.13 4613 
Crash-Logs: YES
---
Exception occurred in thread Thread[main,5,main] : 
java.lang.RuntimeException: java.lang.NullPointerException: null upcall object in OsmAnd::MapRendererSetupOptions::IFrameUpdateRequestCallback::operator () 
    at androidx.car.app.utils.RemoteUtils.lambda$dispatchCallFromHost$0(RemoteUtils.java:155)
    at androidx.car.app.utils.RemoteUtils$$ExternalSyntheticLambda1.run(Unknown Source:6)
    at androidx.car.app.utils.ThreadUtils.runOnMain(ThreadUtils.java:39)
    at androidx.car.app.utils.RemoteUtils.dispatchCallFromHost(RemoteUtils.java:147)
    at androidx.car.app.utils.RemoteUtils.lambda$dispatchCallFromHost$1(RemoteUtils.java:186)
    at androidx.car.app.utils.RemoteUtils$$ExternalSyntheticLambda2.run(Unknown Source:8)
    at android.os.Handler.handleCallback(Handler.java:958)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:230)
    at android.os.Looper.loop(Looper.java:319)
    at android.app.ActivityThread.main(ActivityThread.java:8893)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:608)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
Caused by: java.lang.NullPointerException: null upcall object in OsmAnd::MapRendererSetupOptions::IFrameUpdateRequestCallback::operator () 
    at net.osmand.core.jni.OsmAndCoreJNI.IMapRenderer_resetMapLayerProvider__SWIG_1(Native Method)
    at net.osmand.core.jni.IMapRenderer.resetMapLayerProvider(IMapRenderer.java:459)
    at net.osmand.core.android.MapRendererView.resetMapLayerProvider(MapRendererView.java:582)
    at net.osmand.core.android.MapRendererContext.resetRasterAndSymbolsProvider(MapRendererContext.java:352)
    at net.osmand.plus.views.layers.MapVectorLayer.resetLayerProvider(MapVectorLayer.java:103)
    at net.osmand.plus.views.layers.MapVectorLayer.cleanupResources(MapVectorLayer.java:45)
    at net.osmand.plus.views.layers.base.OsmandMapLayer.onMapRendererChange(OsmandMapLayer.java:182)
    at net.osmand.plus.views.OsmandMapTileView.setMapRenderer(OsmandMapTileView.java:1837)
    at net.osmand.plus.auto.SurfaceRenderer.setupOffscreenRenderer(SurfaceRenderer.java:327)
    at net.osmand.plus.auto.SurfaceRenderer.setMapView(SurfaceRenderer.java:307)
    at net.osmand.plus.auto.NavigationSession.setMapView(NavigationSession.java:110)
    at net.osmand.plus.views.OsmandMap.setupRenderingView(OsmandMap.java:130)
    at net.osmand.plus.views.OsmandMapTileView.setupRenderingView(OsmandMapTileView.java:388)
    at net.osmand.plus.auto.SurfaceRenderer$1.onSurfaceAvailable(SurfaceRenderer.java:89)
    at androidx.car.app.utils.RemoteUtils$SurfaceCallbackStub.lambda$onSurfaceAvailable$0$androidx-car-app-utils-RemoteUtils$SurfaceCallbackStub(RemoteUtils.java:285)
    at androidx.car.app.utils.RemoteUtils$SurfaceCallbackStub$$ExternalSyntheticLambda7.dispatch(Unknown Source:4)
    at androidx.car.app.utils.RemoteUtils.lambda$dispatchCallFromHost$0(RemoteUtils.java:150)
    ... 13 more

![My Samsung Phone in landscape (not connected to AA)

yuriiurshuliak commented 5 months ago

Could you please check if other applications exhibit similar display problems when connected to the car screen?

dmpr0 commented 5 months ago

All navigation apps on Android Auto have the same screen layout, with the main navigation widget on the left side and buttons on the right. That's why OsmAnd on Android Auto or Apple CarPlay are different from the layout used on a regular device.