react-native-background-geolocation icon indicating copy to clipboard operation
react-native-background-geolocation copied to clipboard

Attempt to invoke virtual method 'com.google.android.gms.maps.Projection'

Open andreaMoyotl opened this issue 3 years ago • 3 comments

Your Environment

  • Plugin version: ^4.4.4
  • Platform: Android
  • OS version: Android
  • Device manufacturer / model: BLU G8
  • React Native version (react-native -v): react-native-cli: 2.0.1
 react-native: 0.67.3
  • Plugin config
{
    autoSync: true,
    debug: false,
    desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_HIGH,
    disableElasticity: false,
    distanceFilter: 30,
    enableHeadless: true,
    fastestLocationUpdateInterval: 10000,
    foregroundService: true,
    geofenceProximityRadius: 1000,
    heartbeatInterval: 60,
    logLevel: BackgroundGeolocation.LOG_LEVEL_OFF,
    logMaxDays: 0,
    method: 'POST',
    preventSuspend: true,
    stopDetectionDelay: 1000,
    stopOnTerminate: false,
    stopTimeout: 5,
    triggerActivities: 'in_vehicle, on_bicycle, running, walking, on_foot',
    url: "https://my-services.the-system.test",
    persist: true,
    persistMode: BackgroundGeolocation.PERSIST_MODE_LOCATION,
}

Expected Behavior

Plugin should not crash.

Actual Behavior

Plugin does crash, the tracking is restarted, the locations are recorded in the database, but the stored locations are NOT sent to the config.url.

Context

Debug logs

Logs ``` java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.maps.Projection com.google.android.gms.maps.GoogleMap.getProjection()' on a null object reference at com.airbnb.android.react.maps.AirMapView.dispatchTouchEvent(AirMapView.java:1014) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at com.swmansion.gesturehandler.react.RNGestureHandlerRootView.dispatchTouchEvent(RNGestureHandlerRootView.kt:39) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at com.swmansion.gesturehandler.react.RNGestureHandlerRootView.dispatchTouchEvent(RNGestureHandlerRootView.kt:39) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at com.swmansion.gesturehandler.react.RNGestureHandlerRootView.dispatchTouchEvent(RNGestureHandlerRootView.kt:39) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at com.swmansion.gesturehandler.react.RNGestureHandlerRootView.dispatchTouchEvent(RNGestureHandlerRootView.kt:39) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3040) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2663) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:467) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1830) at android.app.Activity.dispatchTouchEvent(Activity.java:4869) at androidx.appcompat.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:69) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:425) at android.view.View.dispatchPointerEvent(View.java:12796) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:5134) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4937) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4454) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4507) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4473) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4613) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4481) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4670) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4454) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4507) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4473) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4481) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4454) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:7120) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:7089) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7050) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:7224) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:201) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:326) at android.os.Looper.loop(Looper.java:160) at android.app.ActivityThread.main(ActivityThread.java:6880) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:504) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) ```

andreaMoyotl avatar May 16 '22 15:05 andreaMoyotl

I don't see any thing from this module in your stack

Looks like airbnb has something going on in their code?

java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.android.gms.maps.Projection 
com.google.android.gms.maps.GoogleMap.getProjection()' on a null object reference at 
com.airbnb.android.react.maps.AirMapView.dispatchTouchEvent(AirMapView.java:1014) at

Appropriate venue and related issues: https://github.com/react-native-maps/react-native-maps/issues?q=is%3Aissue+NullPointerException+Projection

mikehardy avatar May 16 '22 15:05 mikehardy

This plugin will never reference a Google maps api.

com.google.android.gms.maps

christocracy avatar May 16 '22 16:05 christocracy

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. You may also mark this issue as a "discussion" and I will leave this open.

stale[bot] avatar Sep 21 '22 03:09 stale[bot]