(initially reported as feedback on v1.12: Feedback for v1.12.3 - #126 by mossroy)
French transportation app “TCL” (installed through AppLounge) crashes since the upgrade of /e/ OS to v1.12
Symptom: the app crashes with following adb logcat excerpt, when it tries to find my location:
07-03 18:27:26.674 1665 1665 D AndroidRuntime: Shutting down VM
07-03 18:27:26.674 1665 1665 E AndroidRuntime: FATAL EXCEPTION: main
07-03 18:27:26.674 1665 1665 E AndroidRuntime: Process: com.micropole.android.tcl_mobile, PID: 1665
07-03 18:27:26.674 1665 1665 E AndroidRuntime: java.lang.NullPointerException: Listener must not be null
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.common.internal.Preconditions.checkNotNull(com.google.android.gms:play-services-basement@@18.0.0:2)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.common.api.internal.ListenerHolders.createListenerKey(com.google.android.gms:play-services-base@@18.0.1:1)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.location.FusedLocationProviderClient.removeLocationUpdates(Unknown Source:6)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.airbnb.android.react.maps.FusedLocationSource.deactivate(FusedLocationSource.java:70)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.maps.zzs.deactivate(com.google.android.gms:play-services-maps@@17.0.1:1)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.maps.internal.zzj.zza(com.google.android.gms:play-services-maps@@17.0.1:1)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.internal.maps.zzb.onTransact(com.google.android.gms:play-services-maps@@17.0.1:3)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at android.os.Binder.transact(Binder.java:1064)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.maps.internal.ILocationSourceDelegate$Stub$Proxy.deactivate(ILocationSourceDelegate.java:121)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at org.microg.gms.maps.mapbox.SourceLocationEngine.removeLocationUpdates(SourceLocationEngine.kt:41)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at org.microg.gms.maps.mapbox.GoogleMapImpl.updateLocationEngineListener(GoogleMap.kt:423)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at org.microg.gms.maps.mapbox.GoogleMapImpl.setLocationSource(GoogleMap.kt:436)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.maps.internal.IGoogleMapDelegate$Stub.onTransact(IGoogleMapDelegate.java:474)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at org.microg.gms.maps.mapbox.GoogleMapImpl.onTransact(GoogleMap.kt:876)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at android.os.Binder.transact(Binder.java:1064)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.internal.maps.zza.zzc(com.google.android.gms:play-services-maps@@17.0.1:2)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.maps.internal.zzg.setLocationSource(com.google.android.gms:play-services-maps@@17.0.1:3)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.google.android.gms.maps.GoogleMap.setLocationSource(com.google.android.gms:play-services-maps@@17.0.1:2)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.airbnb.android.react.maps.AirMapView$15.onHostResume(AirMapView.java:400)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.facebook.react.bridge.ReactContext$1.run(ReactContext.java:224)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:938)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:27)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7870)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
07-03 18:27:26.674 1665 1665 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
I reproduce the same issue after removing the app data. I have it on 2 different devices: a Fairphone 3 (FP3) and a Samsung S5 (SM-G900F)
It might be a bug of the app itself, but the fact that it affects geolocation (and that it was working well with /e/ OS v1.11) makes me suspect a regression due to microG upgrade, with its geolocation refactoring.
Workaround: remove app data, and do not use geolocation
Should I open a gitlab ticket? In which gitlab project?
Regain your privacy! Adopt /e/ the unGoogled mobile OS and online services