here-android-sdk-examples
here-android-sdk-examples copied to clipboard
Black screen in navigation when opening for first time.
We are testing on Samsung A30 which is running on android 10. When opening the navigation screen for the first time we are getting a black screen, and the navigation works for some time with the back screen in the foreground and then the app got to crash. On opening the screen next time we didn't get the black screen doesn't. Here are some log found:
Process: com.techindustan.example, PID: 13133
java.lang.NullPointerException: Attempt to read from field 'java.util.concurrent.Semaphore com.nokia.maps.e0.a' on a null object reference
at com.nokia.maps.e0.b(BaseTextureView.java:1)
at com.nokia.maps.e0$d.a(BaseTextureView.java:8)
at com.nokia.maps.e0$b.onSurfaceTextureSizeChanged(BaseTextureView.java:3)
at android.view.TextureView.onSizeChanged(TextureView.java:377)
at android.view.View.sizeChange(View.java:23959)
at android.view.View.setFrame(View.java:23892)
at android.view.View.layout(View.java:23751)
at com.here.android.mpa.mapping.MapView.onLayout(MapView.java:6)
at android.view.View.layout(View.java:23754)
at android.view.ViewGroup.layout(ViewGroup.java:7277)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1103)
at android.view.View.layout(View.java:23754)
at android.view.ViewGroup.layout(ViewGroup.java:7277)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23754)
at android.view.ViewGroup.layout(ViewGroup.java:7277)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:23754)
at android.view.ViewGroup.layout(ViewGroup.java:7277)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at android.view.View.layout(View.java:23754)
at android.view.ViewGroup.layout(ViewGroup.java:7277)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1829)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1673)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1582)
at android.view.View.layout(View.java:23754)
at android.view.ViewGroup.layout(ViewGroup.java:7277)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332)
at android.widget.FrameLayout.onLayout(FrameLayout.java:270)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:1058)
at android.view.View.layout(View.java:23754)
at android.view.ViewGroup.layout(ViewGroup.java:7277)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3652)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3112)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2169)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8933)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:996)
at android.view.Choreographer.doCallbacks(Choreographer.java:794)
at android.view.Choreographer.doFrame(Choreographer.java:729)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981)
at android.os.Handler.handleCallback(Handler.java:883)
at android.os.Handler.dispatchMessage(Handler.java:100)
at android.os.Looper.loop(Looper.java:237)
at android.app.ActivityThread.main(ActivityThread.java:7811)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1068)
Hi @binod-techindustan Which SDK version is being used?
@starand SDK version is3.13.3.105
@binod-techindustan Are there any other error messages in the logcat? Can you reproduce the same issue on any of our github sample?
@Merlin1stHere I haven't try the sample project yet. Let me try the sample project and will update the result.
@Merlin1stHere I have tried turn by turn sample navigation example, it didn't get Black screen issues. In the Github sample code, there are minimal features but in our project, there are two many listeners and map updates. I am not able to found out the exact cause of this issue. It's occurring in Android 9 too.
@binod-techindustan But I have to reproduce the issue to fix it. Can you update the version of the SDK you are using? Actual version is 3.14.
Ok @Merlin1stHere let me update it first.
@Merlin1stHere still the same crash
java.lang.NullPointerException: Attempt to read from field 'java.util.concurrent.Semaphore com.nokia.maps.e0.a' on a null object reference
at com.nokia.maps.e0.b(BaseTextureView.java:1)
at com.nokia.maps.e0$d.a(BaseTextureView.java:8)
at com.nokia.maps.e0$b.onSurfaceTextureSizeChanged(BaseTextureView.java:3)
at android.view.TextureView.onSizeChanged(TextureView.java:421)
at android.view.View.sizeChange(View.java:21325)
at android.view.View.setFrame(View.java:21286)
at android.view.View.layout(View.java:21138)
at com.here.android.mpa.mapping.MapView.onLayout(MapView.java:6)
at android.view.View.layout(View.java:21143)
at android.view.ViewGroup.layout(ViewGroup.java:6388)
at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1083)
at android.view.View.layout(View.java:21143)
at android.view.ViewGroup.layout(ViewGroup.java:6388)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:21143)
at android.view.ViewGroup.layout(ViewGroup.java:6388)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1828)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
at android.view.View.layout(View.java:21143)
at android.view.ViewGroup.layout(ViewGroup.java:6388)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:21143)
at android.view.ViewGroup.layout(ViewGroup.java:6388)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1828)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1656)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1565)
at android.view.View.layout(View.java:21143)
at android.view.ViewGroup.layout(ViewGroup.java:6388)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:902)
at android.view.View.layout(View.java:21143)
at android.view.ViewGroup.layout(ViewGroup.java:6388)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3350)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2791)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1806)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8222)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:992)
at android.view.Choreographer.doCallbacks(Choreographer.java:804)
at android.view.Choreographer.doFrame(Choreographer.java:736)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:978)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:226)
at android.app.ActivityThread.main(ActivityThread.java:7209)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:942)
@binod-techindustan I need steps to reproduce this issue. You can cut functions one at a time from your application to find out what is going wrong.
@Merlin1stHere this is hard to find out it occurs rarely.
@Merlin1stHere by looking at the exception can you please guess where on the map it got crash.
@binod-techindustan Were you able to reproduce this crash?
by looking at the exception can you please guess where on the map it got crash.
If you asking whether we can determine geo location - then answer is no, it is not possible.