Skip to content

[Bug]: 10.1.40 Android build fails on RN 0.76 due to lifecycle compatibility issues in v26 LifecycleCompat.kt #3909

@fractalscape13

Description

@fractalscape13

Mapbox Implementation

Mapbox

Mapbox Version

10.19.0

React Native Version

0.76.9

Platform

Android

@rnmapbox/maps version

10.1.40

Standalone component to reproduce

import React from 'react';
import {
  MapView,
  ShapeSource,
  LineLayer,
  Camera,
} from '@rnmapbox/maps';

const aLine = {
  type: 'LineString',
  coordinates: [
    [-74.00597, 40.71427],
    [-74.00697, 40.71527],
  ],
};

class BugReportExample extends React.Component {
  render() {
    return (
      <MapView style={{flex: 1}}>
        <Camera centerCoordinate={[-74.00597, 40.71427]} zoomLevel={14} />
        <ShapeSource id="idStreetLayer" shape={aLine}>
          <LineLayer id="idStreetLayer" />
        </ShapeSource>
      </MapView>
    );
  }
}

Observed behavior and steps to reproduce

The v26 LifecycleCompat file uses newer lifecycle APIs not available in RN 0.76

Error: Unresolved reference: setViewTreeLifecycleOwner

The fix is to use the older ViewTreeLifecycleOwner.set() API and getLifecycle() method

Expected behavior

No response

Notes / preliminary analysis

Able to build Android with this patch

@rnmapbox+maps+10.1.40.patch

Additional links and references

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug 🪲Something isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions