Skip to content

MultiplePermissionsState: kotlin.NotImplementedError: An operation is not implemented #248

@hawklike

Description

@hawklike

Version

Calf 0.6.1
Kotlin 2.0.21
Compose 1.7.0

Implementation

@Composable
private fun LocationPermissionsLauncher(actions: CharacterDetailActions) {
    val locationPermission = rememberMultiplePermissionsState(
        listOf(Permission.CoarseLocation, Permission.FineLocation)
    )

    val isLocationGranted = locationPermission.allPermissionsGranted
    LaunchedEffect(isLocationGranted) {
        if (!isLocationGranted) {
            locationPermission.launchMultiplePermissionRequest()
        } else {
            actions.onMyLocationEnabled()
        }
    }
}

Output

Android ✅
iOS ❌

Stacktrace iOS

Uncaught Kotlin exception: kotlin.NotImplementedError: An operation is not implemented.
at 0 facade 0x10ea88bf7 kfun:kotlin.Throwable#(kotlin.String?){} + 119 (/opt/buildAgent/work/ed783494cd2364bc/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Throwable.kt:28:44)
at 1 facade 0x10ea81e9f kfun:kotlin.Error#(kotlin.String?){} + 115 (/opt/buildAgent/work/ed783494cd2364bc/kotlin/kotlin-native/runtime/src/main/kotlin/kotlin/Exceptions.kt:12:51)
at 2 facade 0x10ebc4c2f kfun:kotlin.NotImplementedError#(kotlin.String){} + 115 (/opt/buildAgent/work/ed783494cd2364bc/kotlin/libraries/stdlib/src/kotlin/util/Standard.kt:15:90)
at 3 facade 0x10ebc4d47 kfun:kotlin.NotImplementedError#(kotlin.String?;kotlin.Int;kotlin.native.internal.DefaultConstructorMarker?){} + 259 (/opt/buildAgent/work/ed783494cd2364bc/kotlin/libraries/stdlib/src/kotlin/util/Standard.kt:15:33)
at 4 facade 0x10fad640f kfun:com.mohamedrejeb.calf.permissions#rememberMutableMultiplePermissionsState(kotlin.collections.List<com.mohamedrejeb.calf.permissions.Permission>;kotlin.Function1<kotlin.collections.Map<com.mohamedrejeb.calf.permissions.Permission,kotlin.Boolean>,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}com.mohamedrejeb.calf.permissions.MultiplePermissionsState + 403 (/Users/runner/work/Calf/Calf/calf-permissions/src/iosMain/kotlin/com.mohamedrejeb.calf/permissions/MutableMultiplePermissionsState.ios.kt:18:1)
at 5 facade 0x10fad42c7 kfun:com.mohamedrejeb.calf.permissions#rememberMultiplePermissionsState(kotlin.collections.List<com.mohamedrejeb.calf.permissions.Permission>;kotlin.Function1<kotlin.collections.Map<com.mohamedrejeb.calf.permissions.Permission,kotlin.Boolean>,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}com.mohamedrejeb.calf.permissions.MultiplePermissionsState + 1231 (/Users/runner/work/Calf/Calf/calf-permissions/src/commonMain/kotlin/com.mohamedrejeb.calf/permissions/MultiplePermissionsState.kt:29:9)
at 6 facade 0x10deef6d3 kfun:cz.ackee.rickmorty.cmp.shared.feature.character.presentation.detail.LocationPermissionsLauncher#internal + 1151 (/Users/jan.steuer/Work/android/rick-morty-cmp/shared/feature/src/commonMain/kotlin/cz/ackee/rickmorty/cmp/shared/feature/character/presentation/detail/CharacterDetailScreen.kt:139:30)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions