From 70cbf3c090fc206e74bb41723a146f0f2e4dfde0 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 29 Oct 2025 09:00:07 +0100 Subject: [PATCH] Improve code on ShareNode --- .../kotlin/io/element/android/appnav/LoggedInFlowNode.kt | 5 ++--- .../io/element/android/features/share/impl/ShareNode.kt | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt index 22328d3980..da09add2dc 100644 --- a/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt +++ b/appnav/src/main/kotlin/io/element/android/appnav/LoggedInFlowNode.kt @@ -469,9 +469,8 @@ class LoggedInFlowNode( .callback(object : ShareEntryPoint.Callback { override fun onDone(roomIds: List) { navigateUp() - if (roomIds.size == 1) { - val targetRoomId = roomIds.first() - backstack.push(NavTarget.Room(targetRoomId.toRoomIdOrAlias())) + roomIds.singleOrNull()?.let { roomId -> + backstack.push(NavTarget.Room(roomId.toRoomIdOrAlias())) } } }) diff --git a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareNode.kt b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareNode.kt index e268419920..12d2f5bff5 100644 --- a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareNode.kt +++ b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareNode.kt @@ -61,7 +61,7 @@ class ShareNode( } override fun onCancel() { - navigateUp() + onShareDone(emptyList()) } } @@ -82,12 +82,12 @@ class ShareNode( val state = presenter.present() ShareView( state = state, - onShareSuccess = ::onShareSuccess, + onShareSuccess = ::onShareDone, ) } } - private fun onShareSuccess(roomIds: List) { + private fun onShareDone(roomIds: List) { callbacks.forEach { it.onDone(roomIds) } } }