Skip to content

MapUpdater crashes on HMS/microG when calling UiSettings.setCompassEnabled() on a null delegate #804

@cempo

Description

@cempo

android-maps-compose crashes on some devices (Samsung, Xiaomi, Oppo) that use HMS/microG-backed map delegates, even when the app does not configure the compass at all.

val uiSettings by remember {
    mutableStateOf(
        MapUiSettings(
            zoomControlsEnabled = false,
            myLocationButtonEnabled = false
        )
    )
}

Crash Log

Fatal Exception: java.lang.NullPointerException: Attempt to invoke interface method
'void com.huawei.hms.maps.internal.IUiSettingsDelegate.setCompassEnabled(boolean)'
on a null object reference
       at com.huawei.hms.maps.UiSettings.setCompassEnabled(:2)
       at org.microg.gms.maps.hms.UiSettingsImpl.setCompassEnabled(UiSettings.kt:88)
       at com.google.android.gms.maps.internal.IUiSettingsDelegate$Stub.onTransact(IUiSettingsDelegate.java:140)
       at org.microg.gms.maps.hms.UiSettingsImpl.onTransact(UiSettings.kt:174)
       at android.os.Binder.transact(Binder.java:1071)
       at com.google.android.gms.internal.maps.zza.zzc(:2)
       at com.google.android.gms.maps.internal.zzca.setCompassEnabled(zzca.java:4)
       at com.google.android.gms.maps.UiSettings.setCompassEnabled(UiSettings.java:1)
       at com.google.maps.android.compose.MapUpdaterKt$MapUpdater$1$2$16.invoke(MapUpdater.kt:146)
       at com.google.maps.android.compose.MapUpdaterKt$MapUpdater$1$2$16.invoke(MapUpdater.kt:146)

Library:
com.google.maps.android:maps-compose:6.10.0

Play Services / Maps:
com.google.android.gms:play-services-maps:19.2.0

Affected Devices (real users):

  • Samsung Galaxy A71 — Android 12
  • Xiaomi Redmi Note 8 — Android 10
  • Oppo A93 5G — Android 12

Metadata

Metadata

Assignees

No one assigned

    Labels

    triage meI really want to be triaged.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions