Fix small code smell (#7058)

* RolesAndPermissionsNode does not need to implement RolesAndPermissionsNavigator and simplify the code.

* Remove default implementation in `RoomMemberListNavigator`

* Remove dead code.

* Fix test compilation issue
This commit is contained in:
Benoit Marty
2026-06-19 15:33:01 +02:00
committed by GitHub
parent e370b33771
commit d4aa49f3d3
7 changed files with 20 additions and 37 deletions
@@ -26,12 +26,8 @@ class RolesAndPermissionsNode(
@Assisted buildContext: BuildContext, @Assisted buildContext: BuildContext,
@Assisted plugins: List<Plugin>, @Assisted plugins: List<Plugin>,
private val presenter: RolesAndPermissionsPresenter, private val presenter: RolesAndPermissionsPresenter,
) : Node(buildContext, plugins = plugins), RolesAndPermissionsNavigator { ) : Node(buildContext, plugins = plugins) {
interface Callback : Plugin, RolesAndPermissionsNavigator { interface Callback : Plugin, RolesAndPermissionsNavigator {
override fun openAdminList()
override fun openModeratorList()
override fun openEditPermissions()
override fun onBackClick() {} override fun onBackClick() {}
} }
@@ -56,8 +52,8 @@ class RolesAndPermissionsNode(
} }
interface RolesAndPermissionsNavigator { interface RolesAndPermissionsNavigator {
fun onBackClick() {} fun onBackClick()
fun openAdminList() {} fun openAdminList()
fun openModeratorList() {} fun openModeratorList()
fun openEditPermissions() {} fun openEditPermissions()
} }
@@ -191,7 +191,12 @@ internal fun RolesAndPermissionsViewPreview(@PreviewParameter(RolesAndPermission
ElementPreview { ElementPreview {
RolesAndPermissionsView( RolesAndPermissionsView(
state = state, state = state,
rolesAndPermissionsNavigator = object : RolesAndPermissionsNavigator {}, rolesAndPermissionsNavigator = object : RolesAndPermissionsNavigator {
override fun onBackClick() {}
override fun openAdminList() {}
override fun openModeratorList() {}
override fun openEditPermissions() {}
},
) )
} }
} }
@@ -95,7 +95,7 @@ class RoomMemberListNode(
} }
interface RoomMemberListNavigator { interface RoomMemberListNavigator {
fun exitRoomMemberList() {} fun exitRoomMemberList()
fun openRoomMemberDetails(roomMemberId: UserId) {} fun openRoomMemberDetails(roomMemberId: UserId)
fun openInviteMembers() {} fun openInviteMembers()
} }
@@ -50,6 +50,7 @@ import io.element.android.libraries.designsystem.theme.components.SegmentedButto
import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.Text
import io.element.android.libraries.designsystem.theme.components.TextButton import io.element.android.libraries.designsystem.theme.components.TextButton
import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.designsystem.theme.components.TopAppBar
import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.encryption.identity.IdentityState import io.element.android.libraries.matrix.api.encryption.identity.IdentityState
import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.getBestName import io.element.android.libraries.matrix.api.room.getBestName
@@ -355,6 +356,10 @@ private fun RoomMemberListTopBar(
internal fun RoomMemberListViewPreview(@PreviewParameter(RoomMemberListStateProvider::class) state: RoomMemberListState) = ElementPreview { internal fun RoomMemberListViewPreview(@PreviewParameter(RoomMemberListStateProvider::class) state: RoomMemberListState) = ElementPreview {
RoomMemberListView( RoomMemberListView(
state = state, state = state,
navigator = object : RoomMemberListNavigator {}, navigator = object : RoomMemberListNavigator {
override fun exitRoomMemberList() {}
override fun openRoomMemberDetails(roomMemberId: UserId) {}
override fun openInviteMembers() {}
},
) )
} }
@@ -1,20 +0,0 @@
/*
* Copyright (c) 2025 Element Creations Ltd.
* Copyright 2023-2025 New Vector Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
* Please see LICENSE files in the repository root for full details.
*/
package io.element.android.libraries.pushproviders.unifiedpush
import dev.zacsweers.metro.AppScope
import dev.zacsweers.metro.ContributesBinding
interface GuardServiceStarter {
fun start() {}
fun stop() {}
}
@ContributesBinding(AppScope::class)
class NoopGuardServiceStarter : GuardServiceStarter
@@ -31,7 +31,6 @@ private val loggerTag = LoggerTag("VectorUnifiedPushMessagingReceiver", LoggerTa
class VectorUnifiedPushMessagingReceiver : MessagingReceiver() { class VectorUnifiedPushMessagingReceiver : MessagingReceiver() {
@Inject lateinit var pushParser: UnifiedPushParser @Inject lateinit var pushParser: UnifiedPushParser
@Inject lateinit var pushHandler: PushHandler @Inject lateinit var pushHandler: PushHandler
@Inject lateinit var guardServiceStarter: GuardServiceStarter
@Inject lateinit var unifiedPushStore: UnifiedPushStore @Inject lateinit var unifiedPushStore: UnifiedPushStore
@Inject lateinit var unifiedPushGatewayResolver: UnifiedPushGatewayResolver @Inject lateinit var unifiedPushGatewayResolver: UnifiedPushGatewayResolver
@Inject lateinit var unifiedPushGatewayUrlResolver: UnifiedPushGatewayUrlResolver @Inject lateinit var unifiedPushGatewayUrlResolver: UnifiedPushGatewayUrlResolver
@@ -112,7 +111,6 @@ class VectorUnifiedPushMessagingReceiver : MessagingReceiver() {
) )
) )
} }
guardServiceStarter.stop()
} }
/** /**
@@ -266,7 +266,6 @@ class VectorUnifiedPushMessagingReceiverTest : RobolectricTest() {
return VectorUnifiedPushMessagingReceiver().apply { return VectorUnifiedPushMessagingReceiver().apply {
this.pushParser = unifiedPushParser this.pushParser = unifiedPushParser
this.pushHandler = pushHandler this.pushHandler = pushHandler
this.guardServiceStarter = NoopGuardServiceStarter()
this.unifiedPushStore = unifiedPushStore this.unifiedPushStore = unifiedPushStore
this.unifiedPushGatewayResolver = unifiedPushGatewayResolver this.unifiedPushGatewayResolver = unifiedPushGatewayResolver
this.unifiedPushGatewayUrlResolver = unifiedPushGatewayUrlResolver this.unifiedPushGatewayUrlResolver = unifiedPushGatewayUrlResolver