Skip to content

Commit 5669abd

Browse files
authored
fix: prevent NullPointerException in MapUpdater on HMS/microG devices (#858)
1 parent 8994e12 commit 5669abd

File tree

1 file changed

+10
-10
lines changed
  • maps-compose/src/main/java/com/google/maps/android/compose

1 file changed

+10
-10
lines changed

maps-compose/src/main/java/com/google/maps/android/compose/MapUpdater.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -143,16 +143,16 @@ internal inline fun MapUpdater(mapUpdaterState: MapUpdaterState) = with(mapUpdat
143143
}
144144
}
145145

146-
set(mapUiSettings.compassEnabled) { map.uiSettings.isCompassEnabled = it }
147-
set(mapUiSettings.indoorLevelPickerEnabled) { map.uiSettings.isIndoorLevelPickerEnabled = it }
148-
set(mapUiSettings.mapToolbarEnabled) { map.uiSettings.isMapToolbarEnabled = it }
149-
set(mapUiSettings.myLocationButtonEnabled) { map.uiSettings.isMyLocationButtonEnabled = it }
150-
set(mapUiSettings.rotationGesturesEnabled) { map.uiSettings.isRotateGesturesEnabled = it }
151-
set(mapUiSettings.scrollGesturesEnabled) { map.uiSettings.isScrollGesturesEnabled = it }
152-
set(mapUiSettings.scrollGesturesEnabledDuringRotateOrZoom) { map.uiSettings.isScrollGesturesEnabledDuringRotateOrZoom = it }
153-
set(mapUiSettings.tiltGesturesEnabled) { map.uiSettings.isTiltGesturesEnabled = it }
154-
set(mapUiSettings.zoomControlsEnabled) { map.uiSettings.isZoomControlsEnabled = it }
155-
set(mapUiSettings.zoomGesturesEnabled) { map.uiSettings.isZoomGesturesEnabled = it }
146+
set(mapUiSettings.compassEnabled) { try { map.uiSettings.isCompassEnabled = it } catch (e: Exception) { /* HMS/microG safe, see #804 */ } }
147+
set(mapUiSettings.indoorLevelPickerEnabled) { try { map.uiSettings.isIndoorLevelPickerEnabled = it } catch (e: Exception) {} }
148+
set(mapUiSettings.mapToolbarEnabled) { try { map.uiSettings.isMapToolbarEnabled = it } catch (e: Exception) {} }
149+
set(mapUiSettings.myLocationButtonEnabled) { try { map.uiSettings.isMyLocationButtonEnabled = it } catch (e: Exception) {} }
150+
set(mapUiSettings.rotationGesturesEnabled) { try { map.uiSettings.isRotateGesturesEnabled = it } catch (e: Exception) {} }
151+
set(mapUiSettings.scrollGesturesEnabled) { try { map.uiSettings.isScrollGesturesEnabled = it } catch (e: Exception) {} }
152+
set(mapUiSettings.scrollGesturesEnabledDuringRotateOrZoom) { try { map.uiSettings.isScrollGesturesEnabledDuringRotateOrZoom = it } catch (e: Exception) {} }
153+
set(mapUiSettings.tiltGesturesEnabled) { try { map.uiSettings.isTiltGesturesEnabled = it } catch (e: Exception) {} }
154+
set(mapUiSettings.zoomControlsEnabled) { try { map.uiSettings.isZoomControlsEnabled = it } catch (e: Exception) {} }
155+
set(mapUiSettings.zoomGesturesEnabled) { try { map.uiSettings.isZoomGesturesEnabled = it } catch (e: Exception) {} }
156156

157157
update(cameraPositionState) { this.cameraPositionState = it }
158158
}

0 commit comments

Comments
 (0)