Remove BaseNavigator, it's actually not ideal when looking for usage.
This commit is contained in:
@@ -5,11 +5,8 @@
|
||||
* Please see LICENSE files in the repository root for full details.
|
||||
*/
|
||||
|
||||
package io.element.android.libraries.architecture.navigation
|
||||
package io.element.android.features.preferences.impl.user.editprofile
|
||||
|
||||
/**
|
||||
* Base navigator interface to be implemented by nodes to handle navigation actions from presenters.
|
||||
*/
|
||||
fun interface BaseNavigator {
|
||||
interface EditUserProfileNavigator {
|
||||
fun close()
|
||||
}
|
||||
@@ -19,7 +19,6 @@ import io.element.android.annotations.ContributesNode
|
||||
import io.element.android.libraries.architecture.NodeInputs
|
||||
import io.element.android.libraries.architecture.callback
|
||||
import io.element.android.libraries.architecture.inputs
|
||||
import io.element.android.libraries.architecture.navigation.BaseNavigator
|
||||
import io.element.android.libraries.di.SessionScope
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
|
||||
@@ -30,7 +29,7 @@ class EditUserProfileNode(
|
||||
@Assisted plugins: List<Plugin>,
|
||||
presenterFactory: EditUserProfilePresenter.Factory,
|
||||
) : Node(buildContext, plugins = plugins),
|
||||
BaseNavigator {
|
||||
EditUserProfileNavigator {
|
||||
data class Inputs(
|
||||
val matrixUser: MatrixUser
|
||||
) : NodeInputs
|
||||
|
||||
@@ -26,7 +26,6 @@ import dev.zacsweers.metro.AssistedInject
|
||||
import io.element.android.libraries.androidutils.file.TemporaryUriDeleter
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.Presenter
|
||||
import io.element.android.libraries.architecture.navigation.BaseNavigator
|
||||
import io.element.android.libraries.architecture.runCatchingUpdatingState
|
||||
import io.element.android.libraries.core.extensions.runCatchingExceptions
|
||||
import io.element.android.libraries.core.mimetype.MimeTypes
|
||||
@@ -46,7 +45,7 @@ import timber.log.Timber
|
||||
@AssistedInject
|
||||
class EditUserProfilePresenter(
|
||||
@Assisted private val matrixUser: MatrixUser,
|
||||
@Assisted private val navigator: BaseNavigator,
|
||||
@Assisted private val navigator: EditUserProfileNavigator,
|
||||
private val matrixClient: MatrixClient,
|
||||
private val mediaPickerProvider: PickerProvider,
|
||||
private val mediaPreProcessor: MediaPreProcessor,
|
||||
@@ -61,7 +60,7 @@ class EditUserProfilePresenter(
|
||||
interface Factory {
|
||||
fun create(
|
||||
matrixUser: MatrixUser,
|
||||
navigator: BaseNavigator,
|
||||
navigator: EditUserProfileNavigator,
|
||||
): EditUserProfilePresenter
|
||||
}
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ import android.net.Uri
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import io.element.android.libraries.androidutils.file.TemporaryUriDeleter
|
||||
import io.element.android.libraries.architecture.AsyncAction
|
||||
import io.element.android.libraries.architecture.navigation.BaseNavigator
|
||||
import io.element.android.libraries.matrix.api.MatrixClient
|
||||
import io.element.android.libraries.matrix.api.user.MatrixUser
|
||||
import io.element.android.libraries.matrix.test.AN_AVATAR_URL
|
||||
@@ -31,7 +30,6 @@ import io.element.android.tests.testutils.WarmUpRule
|
||||
import io.element.android.tests.testutils.consumeItemsUntilPredicate
|
||||
import io.element.android.tests.testutils.consumeItemsUntilTimeout
|
||||
import io.element.android.tests.testutils.fake.FakeTemporaryUriDeleter
|
||||
import io.element.android.tests.testutils.lambda.lambdaError
|
||||
import io.element.android.tests.testutils.lambda.lambdaRecorder
|
||||
import io.element.android.tests.testutils.lambda.value
|
||||
import io.element.android.tests.testutils.test
|
||||
@@ -79,7 +77,7 @@ class EditUserProfilePresenterTest {
|
||||
|
||||
private fun createEditUserProfilePresenter(
|
||||
matrixClient: MatrixClient = FakeMatrixClient(),
|
||||
navigator: BaseNavigator = BaseNavigator { lambdaError() },
|
||||
navigator: EditUserProfileNavigator = FakeEditUserProfileNavigator(),
|
||||
matrixUser: MatrixUser = aMatrixUser(),
|
||||
permissionsPresenter: PermissionsPresenter = FakePermissionsPresenter(),
|
||||
temporaryUriDeleter: TemporaryUriDeleter = FakeTemporaryUriDeleter(),
|
||||
@@ -122,7 +120,7 @@ class EditUserProfilePresenterTest {
|
||||
val closeLambda = lambdaRecorder<Unit> {}
|
||||
val presenter = createEditUserProfilePresenter(
|
||||
matrixUser = user,
|
||||
navigator = BaseNavigator { closeLambda() },
|
||||
navigator = FakeEditUserProfileNavigator(closeLambda),
|
||||
)
|
||||
presenter.test {
|
||||
val initialState = awaitItem()
|
||||
@@ -137,7 +135,7 @@ class EditUserProfilePresenterTest {
|
||||
val closeLambda = lambdaRecorder<Unit> {}
|
||||
val presenter = createEditUserProfilePresenter(
|
||||
matrixUser = user,
|
||||
navigator = BaseNavigator { closeLambda() },
|
||||
navigator = FakeEditUserProfileNavigator(closeLambda),
|
||||
)
|
||||
presenter.test {
|
||||
val initialState = awaitItem()
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* Copyright (c) 2025 Element Creations 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.features.preferences.impl.user.editprofile
|
||||
|
||||
import io.element.android.tests.testutils.lambda.lambdaError
|
||||
|
||||
class FakeEditUserProfileNavigator(
|
||||
val closeLambda: () -> Unit = { lambdaError() }
|
||||
) : EditUserProfileNavigator {
|
||||
override fun close() = closeLambda()
|
||||
}
|
||||
Reference in New Issue
Block a user