From 9ecf12a7ba408b98adfb373deda2ef6fc3b2fb5d Mon Sep 17 00:00:00 2001 From: Maxime Naturel Date: Tue, 15 Mar 2022 14:59:41 +0100 Subject: [PATCH] Using extensions for Boolean? type --- .../vector/app/features/location/LocationSharingViewModel.kt | 3 ++- .../vector/app/features/location/LocationSharingViewState.kt | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/location/LocationSharingViewModel.kt b/vector/src/main/java/im/vector/app/features/location/LocationSharingViewModel.kt index 0356566b16..25bc482412 100644 --- a/vector/src/main/java/im/vector/app/features/location/LocationSharingViewModel.kt +++ b/vector/src/main/java/im/vector/app/features/location/LocationSharingViewModel.kt @@ -35,6 +35,7 @@ import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.sample import kotlinx.coroutines.launch +import org.matrix.android.sdk.api.extensions.orFalse import org.matrix.android.sdk.api.session.Session import org.matrix.android.sdk.api.util.toMatrixItem @@ -74,7 +75,7 @@ class LocationSharingViewModel @AssistedInject constructor( } private fun updatePin(isUserPin: Boolean? = true) { - if (isUserPin == true) { + if (isUserPin.orFalse()) { locationPinProvider.create(userId = session.myUserId) { updatePinDrawableInState(it) } diff --git a/vector/src/main/java/im/vector/app/features/location/LocationSharingViewState.kt b/vector/src/main/java/im/vector/app/features/location/LocationSharingViewState.kt index e661ff0cc0..ee5ba402e2 100644 --- a/vector/src/main/java/im/vector/app/features/location/LocationSharingViewState.kt +++ b/vector/src/main/java/im/vector/app/features/location/LocationSharingViewState.kt @@ -20,6 +20,7 @@ import android.graphics.drawable.Drawable import androidx.annotation.StringRes import com.airbnb.mvrx.MavericksState import im.vector.app.R +import org.matrix.android.sdk.api.extensions.orTrue import org.matrix.android.sdk.api.util.MatrixItem enum class LocationSharingMode(@StringRes val titleRes: Int) { @@ -47,5 +48,6 @@ fun LocationSharingViewState.toMapState() = MapState( userLocationData = lastKnownUserLocation, pinId = DEFAULT_PIN_ID, pinDrawable = null, - showPin = areTargetAndUserLocationEqual == false + // show the map pin only when target location and user location are not equal + showPin = areTargetAndUserLocationEqual.orTrue().not() )