diff --git a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpacePresenter.kt b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpacePresenter.kt index 1d5e614113..a331aefccd 100644 --- a/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpacePresenter.kt +++ b/features/space/impl/src/main/kotlin/io/element/android/features/space/impl/leave/LeaveSpacePresenter.kt @@ -88,7 +88,7 @@ class LeaveSpacePresenter( } LaunchedEffect(selectedRoomIds, leaveSpaceRooms) { selectableSpaceRooms = leaveSpaceRooms.map { - it?.others.orEmpty().map { room -> + it.others.map { room -> SelectableSpaceRoom( spaceRoom = room.spaceRoom, isLastAdmin = room.isLastAdmin, diff --git a/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/AsyncData.kt b/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/AsyncData.kt index 5dcf1f933a..118addf1fe 100644 --- a/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/AsyncData.kt +++ b/libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/AsyncData.kt @@ -163,14 +163,14 @@ suspend inline fun runUpdatingState( } inline fun AsyncData.map( - transform: (T?) -> R, + transform: (T) -> R, ): AsyncData { return when (this) { is AsyncData.Failure -> AsyncData.Failure( error = error, - prevData = transform(prevData) + prevData = prevData?.let { transform(prevData) } ) - is AsyncData.Loading -> AsyncData.Loading(transform(prevData)) + is AsyncData.Loading -> AsyncData.Loading(prevData?.let { transform(prevData) }) is AsyncData.Success -> AsyncData.Success(transform(data)) AsyncData.Uninitialized -> AsyncData.Uninitialized }