diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 524af1b314..0f5ba569ff 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -198,6 +198,7 @@ knit { dependencies { allLibraries() allFeatures() + implementation(projects.libraries.matrix.impl) implementation(projects.tests.uitests) implementation(projects.anvilannotations) anvil(projects.anvilcodegen) @@ -220,5 +221,5 @@ dependencies { testImplementation(libs.molecule.runtime) testImplementation(libs.test.truth) testImplementation(libs.test.turbine) - testImplementation(projects.libraries.matrixtest) + testImplementation(projects.libraries.matrix.test) } diff --git a/app/src/main/kotlin/io/element/android/x/di/AppBindings.kt b/app/src/main/kotlin/io/element/android/x/di/AppBindings.kt index 94b93b8fd5..f6b4bf93b5 100644 --- a/app/src/main/kotlin/io/element/android/x/di/AppBindings.kt +++ b/app/src/main/kotlin/io/element/android/x/di/AppBindings.kt @@ -18,7 +18,7 @@ package io.element.android.x.di import com.squareup.anvil.annotations.ContributesTo import io.element.android.libraries.di.AppScope -import io.element.android.libraries.matrix.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService import io.element.android.x.root.RootPresenter @ContributesTo(AppScope::class) diff --git a/app/src/main/kotlin/io/element/android/x/di/MatrixClientsHolder.kt b/app/src/main/kotlin/io/element/android/x/di/MatrixClientsHolder.kt index 24ec04cbce..fe5cfbb580 100644 --- a/app/src/main/kotlin/io/element/android/x/di/MatrixClientsHolder.kt +++ b/app/src/main/kotlin/io/element/android/x/di/MatrixClientsHolder.kt @@ -19,10 +19,10 @@ package io.element.android.x.di import android.os.Bundle import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.SingleIn -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.auth.MatrixAuthenticationService -import io.element.android.libraries.matrix.core.SessionId -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.core.UserId import kotlinx.coroutines.runBlocking import timber.log.Timber import java.util.concurrent.ConcurrentHashMap diff --git a/app/src/main/kotlin/io/element/android/x/di/RoomComponent.kt b/app/src/main/kotlin/io/element/android/x/di/RoomComponent.kt index c60eba1575..cbfca52216 100644 --- a/app/src/main/kotlin/io/element/android/x/di/RoomComponent.kt +++ b/app/src/main/kotlin/io/element/android/x/di/RoomComponent.kt @@ -24,7 +24,7 @@ import io.element.android.libraries.architecture.NodeFactoriesBindings import io.element.android.libraries.di.RoomScope import io.element.android.libraries.di.SessionScope import io.element.android.libraries.di.SingleIn -import io.element.android.libraries.matrix.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.MatrixRoom @SingleIn(RoomScope::class) @MergeSubcomponent(RoomScope::class) diff --git a/app/src/main/kotlin/io/element/android/x/di/SessionComponent.kt b/app/src/main/kotlin/io/element/android/x/di/SessionComponent.kt index be558f6f63..63ae2fe879 100644 --- a/app/src/main/kotlin/io/element/android/x/di/SessionComponent.kt +++ b/app/src/main/kotlin/io/element/android/x/di/SessionComponent.kt @@ -24,7 +24,7 @@ import io.element.android.libraries.architecture.NodeFactoriesBindings import io.element.android.libraries.di.AppScope import io.element.android.libraries.di.SessionScope import io.element.android.libraries.di.SingleIn -import io.element.android.libraries.matrix.MatrixClient +import io.element.android.libraries.matrix.api.MatrixClient @SingleIn(SessionScope::class) @MergeSubcomponent(SessionScope::class) diff --git a/app/src/main/kotlin/io/element/android/x/initializer/MatrixInitializer.kt b/app/src/main/kotlin/io/element/android/x/initializer/MatrixInitializer.kt index 9af7738fa8..5eebc88756 100644 --- a/app/src/main/kotlin/io/element/android/x/initializer/MatrixInitializer.kt +++ b/app/src/main/kotlin/io/element/android/x/initializer/MatrixInitializer.kt @@ -18,8 +18,8 @@ package io.element.android.x.initializer import android.content.Context import androidx.startup.Initializer -import io.element.android.libraries.matrix.tracing.TracingConfigurations -import io.element.android.libraries.matrix.tracing.setupTracing +import io.element.android.libraries.matrix.impl.tracing.setupTracing +import io.element.android.libraries.matrix.api.tracing.TracingConfigurations import io.element.android.x.BuildConfig class MatrixInitializer : Initializer { diff --git a/app/src/main/kotlin/io/element/android/x/node/LoggedInFlowNode.kt b/app/src/main/kotlin/io/element/android/x/node/LoggedInFlowNode.kt index 10e00d30ef..695d3bfaa7 100644 --- a/app/src/main/kotlin/io/element/android/x/node/LoggedInFlowNode.kt +++ b/app/src/main/kotlin/io/element/android/x/node/LoggedInFlowNode.kt @@ -38,9 +38,9 @@ import io.element.android.libraries.architecture.bindings import io.element.android.libraries.architecture.createNode import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.di.DaggerComponentOwner -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.core.SessionId +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.SessionId import io.element.android.libraries.matrix.ui.di.MatrixUIBindings import io.element.android.x.di.SessionComponent import kotlinx.parcelize.Parcelize diff --git a/app/src/main/kotlin/io/element/android/x/node/RoomFlowNode.kt b/app/src/main/kotlin/io/element/android/x/node/RoomFlowNode.kt index bae60841d6..831e0fc75a 100644 --- a/app/src/main/kotlin/io/element/android/x/node/RoomFlowNode.kt +++ b/app/src/main/kotlin/io/element/android/x/node/RoomFlowNode.kt @@ -29,7 +29,7 @@ import io.element.android.features.messages.MessagesNode import io.element.android.libraries.architecture.bindings import io.element.android.libraries.architecture.createNode import io.element.android.libraries.di.DaggerComponentOwner -import io.element.android.libraries.matrix.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.x.di.RoomComponent import kotlinx.parcelize.Parcelize import timber.log.Timber diff --git a/app/src/main/kotlin/io/element/android/x/node/RootFlowNode.kt b/app/src/main/kotlin/io/element/android/x/node/RootFlowNode.kt index b989077b48..f278948cff 100644 --- a/app/src/main/kotlin/io/element/android/x/node/RootFlowNode.kt +++ b/app/src/main/kotlin/io/element/android/x/node/RootFlowNode.kt @@ -37,9 +37,9 @@ import io.element.android.libraries.architecture.animation.rememberDefaultTransi import io.element.android.libraries.architecture.createNode import io.element.android.libraries.designsystem.theme.components.CircularProgressIndicator import io.element.android.libraries.di.DaggerComponentOwner -import io.element.android.libraries.matrix.auth.MatrixAuthenticationService -import io.element.android.libraries.matrix.core.SessionId -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.x.di.MatrixClientsHolder import io.element.android.x.root.RootPresenter import io.element.android.x.root.RootView diff --git a/app/src/test/kotlin/io/element/android/x/root/FakeBugReporter.kt b/app/src/test/kotlin/io/element/android/x/root/FakeBugReporter.kt index c6f7000cdf..46df2bfcac 100644 --- a/app/src/test/kotlin/io/element/android/x/root/FakeBugReporter.kt +++ b/app/src/test/kotlin/io/element/android/x/root/FakeBugReporter.kt @@ -19,7 +19,7 @@ package io.element.android.x.root import io.element.android.features.rageshake.reporter.BugReporter import io.element.android.features.rageshake.reporter.BugReporterListener import io.element.android.features.rageshake.reporter.ReportType -import io.element.android.libraries.matrixtest.A_FAILURE_REASON +import io.element.android.libraries.matrix.test.A_FAILURE_REASON import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.delay import kotlinx.coroutines.launch diff --git a/features/login/build.gradle.kts b/features/login/build.gradle.kts index f4f8ca4844..f2a60f2fa3 100644 --- a/features/login/build.gradle.kts +++ b/features/login/build.gradle.kts @@ -36,7 +36,7 @@ dependencies { anvil(projects.anvilcodegen) implementation(projects.libraries.core) implementation(projects.libraries.architecture) - implementation(projects.libraries.matrix) + implementation(projects.libraries.matrix.api) implementation(projects.libraries.designsystem) implementation(projects.libraries.elementresources) implementation(projects.libraries.testtags) @@ -48,7 +48,7 @@ dependencies { testImplementation(libs.molecule.runtime) testImplementation(libs.test.truth) testImplementation(libs.test.turbine) - testImplementation(projects.libraries.matrixtest) + testImplementation(projects.libraries.matrix.test) androidTestImplementation(libs.test.junitext) } diff --git a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerPresenter.kt b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerPresenter.kt index 038d2ecea1..9957df1d2e 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerPresenter.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/changeserver/ChangeServerPresenter.kt @@ -25,7 +25,7 @@ import androidx.compose.runtime.saveable.rememberSaveable import io.element.android.libraries.architecture.Async import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.execute -import io.element.android.libraries.matrix.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import javax.inject.Inject diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootPresenter.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootPresenter.kt index d51dc5b5f8..2605230747 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootPresenter.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootPresenter.kt @@ -24,7 +24,7 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.data.tryOrNull -import io.element.android.libraries.matrix.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import javax.inject.Inject diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt index a4619c1ebe..1dfcf8d5ed 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootScreen.kt @@ -58,7 +58,7 @@ import io.element.android.libraries.designsystem.theme.components.Icon import io.element.android.libraries.designsystem.theme.components.IconButton import io.element.android.libraries.designsystem.theme.components.OutlinedTextField import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.testtags.TestTags import io.element.android.libraries.testtags.testTag import io.element.android.libraries.ui.strings.R as StringR diff --git a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt index 27af06b11e..48b1fb49b9 100644 --- a/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt +++ b/features/login/src/main/kotlin/io/element/android/features/login/root/LoginRootState.kt @@ -17,7 +17,7 @@ package io.element.android.features.login.root import android.os.Parcelable -import io.element.android.libraries.matrix.core.SessionId +import io.element.android.libraries.matrix.api.core.SessionId import kotlinx.parcelize.Parcelize data class LoginRootState( diff --git a/features/login/src/test/kotlin/io/element/android/features/login/changeserver/ChangeServerPresenterTest.kt b/features/login/src/test/kotlin/io/element/android/features/login/changeserver/ChangeServerPresenterTest.kt index b22c03dc35..391db25f6a 100644 --- a/features/login/src/test/kotlin/io/element/android/features/login/changeserver/ChangeServerPresenterTest.kt +++ b/features/login/src/test/kotlin/io/element/android/features/login/changeserver/ChangeServerPresenterTest.kt @@ -23,8 +23,8 @@ import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.architecture.Async -import io.element.android.libraries.matrixtest.A_HOMESERVER -import io.element.android.libraries.matrixtest.auth.FakeAuthenticationService +import io.element.android.libraries.matrix.test.A_HOMESERVER +import io.element.android.libraries.matrix.test.auth.FakeAuthenticationService import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Test diff --git a/features/login/src/test/kotlin/io/element/android/features/login/root/LoginRootPresenterTest.kt b/features/login/src/test/kotlin/io/element/android/features/login/root/LoginRootPresenterTest.kt index d3e18acb0e..4aa8eb7476 100644 --- a/features/login/src/test/kotlin/io/element/android/features/login/root/LoginRootPresenterTest.kt +++ b/features/login/src/test/kotlin/io/element/android/features/login/root/LoginRootPresenterTest.kt @@ -22,13 +22,13 @@ import app.cash.molecule.RecompositionClock import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat -import io.element.android.libraries.matrixtest.A_HOMESERVER -import io.element.android.libraries.matrixtest.A_HOMESERVER_2 -import io.element.android.libraries.matrixtest.A_PASSWORD -import io.element.android.libraries.matrixtest.A_SESSION_ID -import io.element.android.libraries.matrixtest.A_THROWABLE -import io.element.android.libraries.matrixtest.A_USER_NAME -import io.element.android.libraries.matrixtest.auth.FakeAuthenticationService +import io.element.android.libraries.matrix.test.A_HOMESERVER +import io.element.android.libraries.matrix.test.A_HOMESERVER_2 +import io.element.android.libraries.matrix.test.A_PASSWORD +import io.element.android.libraries.matrix.test.A_SESSION_ID +import io.element.android.libraries.matrix.test.A_THROWABLE +import io.element.android.libraries.matrix.test.A_USER_NAME +import io.element.android.libraries.matrix.test.auth.FakeAuthenticationService import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Test diff --git a/features/logout/build.gradle.kts b/features/logout/build.gradle.kts index 2935965b80..dfb74b8170 100644 --- a/features/logout/build.gradle.kts +++ b/features/logout/build.gradle.kts @@ -35,7 +35,7 @@ dependencies { anvil(projects.anvilcodegen) implementation(projects.libraries.architecture) implementation(projects.libraries.core) - implementation(projects.libraries.matrix) + implementation(projects.libraries.matrix.api) implementation(projects.libraries.designsystem) implementation(projects.libraries.elementresources) implementation(projects.libraries.uiStrings) @@ -46,7 +46,7 @@ dependencies { testImplementation(libs.molecule.runtime) testImplementation(libs.test.truth) testImplementation(libs.test.turbine) - testImplementation(projects.libraries.matrixtest) + testImplementation(projects.libraries.matrix.test) androidTestImplementation(libs.test.junitext) } diff --git a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferencePresenter.kt b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferencePresenter.kt index 3aa626f1fa..441e603791 100644 --- a/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferencePresenter.kt +++ b/features/logout/src/main/kotlin/io/element/android/features/logout/LogoutPreferencePresenter.kt @@ -24,7 +24,7 @@ import androidx.compose.runtime.rememberCoroutineScope import io.element.android.libraries.architecture.Async import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.architecture.execute -import io.element.android.libraries.matrix.MatrixClient +import io.element.android.libraries.matrix.api.MatrixClient import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch import javax.inject.Inject diff --git a/features/logout/src/test/kotlin/io/element/android/features/logout/LogoutPreferencePresenterTest.kt b/features/logout/src/test/kotlin/io/element/android/features/logout/LogoutPreferencePresenterTest.kt index f00ede65db..8e8f45e4de 100644 --- a/features/logout/src/test/kotlin/io/element/android/features/logout/LogoutPreferencePresenterTest.kt +++ b/features/logout/src/test/kotlin/io/element/android/features/logout/LogoutPreferencePresenterTest.kt @@ -23,10 +23,9 @@ import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.architecture.Async -import io.element.android.libraries.matrixtest.A_SESSION_ID -import io.element.android.libraries.matrixtest.A_THROWABLE -import io.element.android.libraries.matrixtest.A_USER_ID -import io.element.android.libraries.matrixtest.FakeMatrixClient +import io.element.android.libraries.matrix.test.A_SESSION_ID +import io.element.android.libraries.matrix.test.A_THROWABLE +import io.element.android.libraries.matrix.test.FakeMatrixClient import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Test diff --git a/features/messages/build.gradle.kts b/features/messages/build.gradle.kts index 1eb054d3d0..eb73115c8a 100644 --- a/features/messages/build.gradle.kts +++ b/features/messages/build.gradle.kts @@ -35,7 +35,7 @@ dependencies { anvil(projects.anvilcodegen) implementation(projects.libraries.core) implementation(projects.libraries.architecture) - implementation(projects.libraries.matrix) + implementation(projects.libraries.matrix.api) implementation(projects.libraries.matrixui) implementation(projects.libraries.designsystem) implementation(projects.libraries.textcomposer) @@ -51,7 +51,7 @@ dependencies { testImplementation(libs.molecule.runtime) testImplementation(libs.test.truth) testImplementation(libs.test.turbine) - testImplementation(projects.libraries.matrixtest) + testImplementation(projects.libraries.matrix.test) androidTestImplementation(libs.test.junitext) ksp(libs.showkase.processor) diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesPresenter.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesPresenter.kt index da149fbe0c..2a3c313042 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesPresenter.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesPresenter.kt @@ -36,7 +36,7 @@ import io.element.android.features.messages.timeline.model.event.TimelineItemTex import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize -import io.element.android.libraries.matrix.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.textcomposer.MessageComposerMode import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesState.kt index 4270c9f2e6..ee036ed730 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesState.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesState.kt @@ -21,7 +21,7 @@ import io.element.android.features.messages.actionlist.ActionListState import io.element.android.features.messages.textcomposer.MessageComposerState import io.element.android.features.messages.timeline.TimelineState import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.matrix.api.core.RoomId @Immutable data class MessagesState( diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesStateProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesStateProvider.kt index 7310ba76f4..c073d85033 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesStateProvider.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/MessagesStateProvider.kt @@ -24,7 +24,7 @@ import io.element.android.features.messages.timeline.aTimelineItemList import io.element.android.features.messages.timeline.aTimelineState import io.element.android.libraries.core.data.StableCharSequence import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.textcomposer.MessageComposerMode open class MessagesStateProvider : PreviewParameterProvider { diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenter.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenter.kt index 4f7cbc287f..d7f414a181 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenter.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenter.kt @@ -25,7 +25,7 @@ import androidx.compose.runtime.saveable.rememberSaveable import io.element.android.libraries.architecture.Presenter import io.element.android.libraries.core.data.StableCharSequence import io.element.android.libraries.core.data.toStableCharSequence -import io.element.android.libraries.matrix.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.MatrixRoom import io.element.android.libraries.textcomposer.MessageComposerMode import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.launch diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineEvents.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineEvents.kt index c59b99fe3f..013171f49b 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineEvents.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineEvents.kt @@ -16,7 +16,7 @@ package io.element.android.features.messages.timeline -import io.element.android.libraries.matrix.core.EventId +import io.element.android.libraries.matrix.api.core.EventId sealed interface TimelineEvents { object LoadMore : TimelineEvents diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelinePresenter.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelinePresenter.kt index 514ec34d78..2a33ad041a 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelinePresenter.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelinePresenter.kt @@ -26,9 +26,9 @@ import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.saveable.rememberSaveable import io.element.android.features.messages.timeline.factories.TimelineItemsFactory import io.element.android.libraries.architecture.Presenter -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.room.MatrixRoom -import io.element.android.libraries.matrix.timeline.MatrixTimeline +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline import kotlinx.collections.immutable.toImmutableList import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.launchIn diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt index affe32ee66..75cc2e9ffc 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineState.kt @@ -18,8 +18,8 @@ package io.element.android.features.messages.timeline import androidx.compose.runtime.Immutable import io.element.android.features.messages.timeline.model.TimelineItem -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.timeline.MatrixTimeline +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline import kotlinx.collections.immutable.ImmutableList @Immutable diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt index 6f3c04a7c6..1a73c07d3c 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/TimelineStateProvider.kt @@ -23,8 +23,8 @@ import io.element.android.features.messages.timeline.model.TimelineItemReactions import io.element.android.features.messages.timeline.model.event.TimelineItemEventContent import io.element.android.features.messages.timeline.model.event.TimelineItemTextContent import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.timeline.MatrixTimeline +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/HtmlDocument.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/HtmlDocument.kt index 94db09090e..8a6916000c 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/HtmlDocument.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/components/html/HtmlDocument.kt @@ -53,8 +53,8 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.Surface import io.element.android.libraries.designsystem.theme.components.Text -import io.element.android.libraries.matrix.permalink.PermalinkData -import io.element.android.libraries.matrix.permalink.PermalinkParser +import io.element.android.libraries.matrix.api.permalink.PermalinkData +import io.element.android.libraries.matrix.api.permalink.PermalinkParser import kotlinx.collections.immutable.persistentMapOf import org.jsoup.nodes.Document import org.jsoup.nodes.Element diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/diff/MatrixTimelineItemsDiffCallback.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/diff/MatrixTimelineItemsDiffCallback.kt index fd5119cc2a..eddc4c5c4a 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/diff/MatrixTimelineItemsDiffCallback.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/diff/MatrixTimelineItemsDiffCallback.kt @@ -17,7 +17,7 @@ package io.element.android.features.messages.timeline.diff import androidx.recyclerview.widget.DiffUtil -import io.element.android.libraries.matrix.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem internal class MatrixTimelineItemsDiffCallback( private val oldList: List, diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/TimelineItemsFactory.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/TimelineItemsFactory.kt index ff3318de5e..da4402ef42 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/TimelineItemsFactory.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/TimelineItemsFactory.kt @@ -23,7 +23,7 @@ import io.element.android.features.messages.timeline.factories.event.TimelineIte import io.element.android.features.messages.timeline.factories.virtual.TimelineItemVirtualFactory import io.element.android.features.messages.timeline.model.TimelineItem import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.matrix.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/event/TimelineItemContentMessageFactory.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/event/TimelineItemContentMessageFactory.kt index ce38a9e96f..a169a2b788 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/event/TimelineItemContentMessageFactory.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/event/TimelineItemContentMessageFactory.kt @@ -23,7 +23,7 @@ import io.element.android.features.messages.timeline.model.event.TimelineItemNot import io.element.android.features.messages.timeline.model.event.TimelineItemTextContent import io.element.android.features.messages.timeline.model.event.TimelineItemUnknownContent import io.element.android.features.messages.timeline.util.toHtmlDocument -import io.element.android.libraries.matrix.media.MediaResolver +import io.element.android.libraries.matrix.api.media.MediaResolver import org.matrix.rustcomponents.sdk.Message import org.matrix.rustcomponents.sdk.MessageType import javax.inject.Inject diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/event/TimelineItemEventFactory.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/event/TimelineItemEventFactory.kt index 4dbf72b8e2..1d0b957158 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/event/TimelineItemEventFactory.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/event/TimelineItemEventFactory.kt @@ -22,7 +22,7 @@ import io.element.android.features.messages.timeline.model.TimelineItemGroupPosi import io.element.android.features.messages.timeline.model.TimelineItemReactions import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize -import io.element.android.libraries.matrix.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import kotlinx.collections.immutable.toImmutableList import org.matrix.rustcomponents.sdk.ProfileTimelineDetails import javax.inject.Inject diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/virtual/TimelineItemVirtualFactory.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/virtual/TimelineItemVirtualFactory.kt index e92171caa7..a8912cf466 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/virtual/TimelineItemVirtualFactory.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/factories/virtual/TimelineItemVirtualFactory.kt @@ -21,7 +21,7 @@ import io.element.android.features.messages.timeline.model.virtual.TimelineItemL import io.element.android.features.messages.timeline.model.virtual.TimelineItemReadMarkerModel import io.element.android.features.messages.timeline.model.virtual.TimelineItemUnknownVirtualModel import io.element.android.features.messages.timeline.model.virtual.TimelineItemVirtualModel -import io.element.android.libraries.matrix.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import org.matrix.rustcomponents.sdk.VirtualTimelineItem import javax.inject.Inject diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItem.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItem.kt index 86ea70956f..48514836c6 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItem.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/TimelineItem.kt @@ -20,7 +20,7 @@ import androidx.compose.runtime.Immutable import io.element.android.features.messages.timeline.model.event.TimelineItemEventContent import io.element.android.features.messages.timeline.model.virtual.TimelineItemVirtualModel import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.core.EventId +import io.element.android.libraries.matrix.api.core.EventId @Immutable sealed interface TimelineItem { diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/event/TimelineItemImageContent.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/event/TimelineItemImageContent.kt index 92912d952a..5a718c9af2 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/event/TimelineItemImageContent.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/event/TimelineItemImageContent.kt @@ -16,7 +16,7 @@ package io.element.android.features.messages.timeline.model.event -import io.element.android.libraries.matrix.media.MediaResolver +import io.element.android.libraries.matrix.api.media.MediaResolver data class TimelineItemImageContent( val body: String, diff --git a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/event/TimelineItemImageContentProvider.kt b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/event/TimelineItemImageContentProvider.kt index f2a1bee698..96d8caad28 100644 --- a/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/event/TimelineItemImageContentProvider.kt +++ b/features/messages/src/main/kotlin/io/element/android/features/messages/timeline/model/event/TimelineItemImageContentProvider.kt @@ -17,7 +17,7 @@ package io.element.android.features.messages.timeline.model.event import androidx.compose.ui.tooling.preview.PreviewParameterProvider -import io.element.android.libraries.matrix.media.MediaResolver +import io.element.android.libraries.matrix.api.media.MediaResolver open class TimelineItemImageContentProvider : PreviewParameterProvider { override val values: Sequence diff --git a/features/messages/src/test/kotlin/io/element/android/features/messages/MessagesPresenterTest.kt b/features/messages/src/test/kotlin/io/element/android/features/messages/MessagesPresenterTest.kt index 49786d1c49..91cbec0f46 100644 --- a/features/messages/src/test/kotlin/io/element/android/features/messages/MessagesPresenterTest.kt +++ b/features/messages/src/test/kotlin/io/element/android/features/messages/MessagesPresenterTest.kt @@ -28,24 +28,13 @@ import io.element.android.features.messages.fixtures.aMessageEvent import io.element.android.features.messages.fixtures.aTimelineItemsFactory import io.element.android.features.messages.textcomposer.MessageComposerPresenter import io.element.android.features.messages.timeline.TimelinePresenter -import io.element.android.features.messages.timeline.model.TimelineItem -import io.element.android.features.messages.timeline.model.TimelineItemReactions -import io.element.android.features.messages.timeline.model.event.TimelineItemEventContent -import io.element.android.features.messages.timeline.model.event.TimelineItemTextContent -import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.room.MatrixRoom -import io.element.android.libraries.matrixtest.AN_EVENT_ID -import io.element.android.libraries.matrixtest.A_MESSAGE -import io.element.android.libraries.matrixtest.A_ROOM_ID -import io.element.android.libraries.matrixtest.A_USER_ID -import io.element.android.libraries.matrixtest.A_USER_NAME -import io.element.android.libraries.matrixtest.room.FakeMatrixRoom +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.textcomposer.MessageComposerMode -import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.TestScope -import kotlinx.coroutines.test.UnconfinedTestDispatcher import kotlinx.coroutines.test.runTest import org.junit.Test diff --git a/features/messages/src/test/kotlin/io/element/android/features/messages/actionlist/ActionListPresenterTest.kt b/features/messages/src/test/kotlin/io/element/android/features/messages/actionlist/ActionListPresenterTest.kt index 2c0f9164a3..66dbb6caca 100644 --- a/features/messages/src/test/kotlin/io/element/android/features/messages/actionlist/ActionListPresenterTest.kt +++ b/features/messages/src/test/kotlin/io/element/android/features/messages/actionlist/ActionListPresenterTest.kt @@ -29,15 +29,14 @@ import io.element.android.features.messages.timeline.model.event.TimelineItemEve import io.element.android.features.messages.timeline.model.event.TimelineItemRedactedContent import io.element.android.features.messages.timeline.model.event.TimelineItemTextContent import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrixtest.AN_EVENT_ID -import io.element.android.libraries.matrixtest.A_MESSAGE -import io.element.android.libraries.matrixtest.A_USER_ID -import io.element.android.libraries.matrixtest.A_USER_NAME +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.A_MESSAGE +import io.element.android.libraries.matrix.test.A_USER_ID +import io.element.android.libraries.matrix.test.A_USER_NAME import kotlinx.collections.immutable.persistentListOf import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Test -import org.matrix.rustcomponents.sdk.TimelineItemContent class ActionListPresenterTest { @Test diff --git a/features/messages/src/test/kotlin/io/element/android/features/messages/fixtures/aMessageEvent.kt b/features/messages/src/test/kotlin/io/element/android/features/messages/fixtures/aMessageEvent.kt index 9e665be409..9679148a16 100644 --- a/features/messages/src/test/kotlin/io/element/android/features/messages/fixtures/aMessageEvent.kt +++ b/features/messages/src/test/kotlin/io/element/android/features/messages/fixtures/aMessageEvent.kt @@ -21,10 +21,10 @@ import io.element.android.features.messages.timeline.model.TimelineItemReactions import io.element.android.features.messages.timeline.model.event.TimelineItemEventContent import io.element.android.features.messages.timeline.model.event.TimelineItemTextContent import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrixtest.AN_EVENT_ID -import io.element.android.libraries.matrixtest.A_MESSAGE -import io.element.android.libraries.matrixtest.A_USER_ID -import io.element.android.libraries.matrixtest.A_USER_NAME +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.A_MESSAGE +import io.element.android.libraries.matrix.test.A_USER_ID +import io.element.android.libraries.matrix.test.A_USER_NAME import kotlinx.collections.immutable.persistentListOf internal fun aMessageEvent( diff --git a/features/messages/src/test/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenterTest.kt b/features/messages/src/test/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenterTest.kt index 8278acd13e..03284239ce 100644 --- a/features/messages/src/test/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenterTest.kt +++ b/features/messages/src/test/kotlin/io/element/android/features/messages/textcomposer/MessageComposerPresenterTest.kt @@ -24,12 +24,12 @@ import app.cash.turbine.ReceiveTurbine import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.libraries.core.data.StableCharSequence -import io.element.android.libraries.matrixtest.ANOTHER_MESSAGE -import io.element.android.libraries.matrixtest.AN_EVENT_ID -import io.element.android.libraries.matrixtest.A_MESSAGE -import io.element.android.libraries.matrixtest.A_REPLY -import io.element.android.libraries.matrixtest.A_USER_NAME -import io.element.android.libraries.matrixtest.room.FakeMatrixRoom +import io.element.android.libraries.matrix.test.ANOTHER_MESSAGE +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.A_MESSAGE +import io.element.android.libraries.matrix.test.A_REPLY +import io.element.android.libraries.matrix.test.A_USER_NAME +import io.element.android.libraries.matrix.test.room.FakeMatrixRoom import io.element.android.libraries.textcomposer.MessageComposerMode import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest diff --git a/features/messages/src/test/kotlin/io/element/android/features/messages/timeline/TimelinePresenterTest.kt b/features/messages/src/test/kotlin/io/element/android/features/messages/timeline/TimelinePresenterTest.kt index b209d4ce5e..193c9eca9f 100644 --- a/features/messages/src/test/kotlin/io/element/android/features/messages/timeline/TimelinePresenterTest.kt +++ b/features/messages/src/test/kotlin/io/element/android/features/messages/timeline/TimelinePresenterTest.kt @@ -23,9 +23,9 @@ import app.cash.molecule.moleculeFlow import app.cash.turbine.test import com.google.common.truth.Truth.assertThat import io.element.android.features.messages.fixtures.aTimelineItemsFactory -import io.element.android.libraries.matrixtest.AN_EVENT_ID -import io.element.android.libraries.matrixtest.room.FakeMatrixRoom -import io.element.android.libraries.matrixtest.timeline.FakeMatrixTimeline +import io.element.android.libraries.matrix.test.AN_EVENT_ID +import io.element.android.libraries.matrix.test.room.FakeMatrixRoom +import io.element.android.libraries.matrix.test.timeline.FakeMatrixTimeline import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Test diff --git a/features/preferences/build.gradle.kts b/features/preferences/build.gradle.kts index ba069e6333..690c43abb9 100644 --- a/features/preferences/build.gradle.kts +++ b/features/preferences/build.gradle.kts @@ -50,7 +50,7 @@ dependencies { testImplementation(libs.molecule.runtime) testImplementation(libs.test.truth) testImplementation(libs.test.turbine) - testImplementation(projects.libraries.matrixtest) + testImplementation(projects.libraries.matrix.test) androidTestImplementation(libs.test.junitext) ksp(libs.showkase.processor) diff --git a/features/preferences/src/test/kotlin/io/element/android/features/preferences/root/PreferencesRootPresenterTest.kt b/features/preferences/src/test/kotlin/io/element/android/features/preferences/root/PreferencesRootPresenterTest.kt index 77d5ff9a07..b91db2fb44 100644 --- a/features/preferences/src/test/kotlin/io/element/android/features/preferences/root/PreferencesRootPresenterTest.kt +++ b/features/preferences/src/test/kotlin/io/element/android/features/preferences/root/PreferencesRootPresenterTest.kt @@ -25,7 +25,7 @@ import com.google.common.truth.Truth.assertThat import io.element.android.features.logout.LogoutPreferencePresenter import io.element.android.features.rageshake.preferences.RageshakePreferencesPresenter import io.element.android.libraries.architecture.Async -import io.element.android.libraries.matrixtest.FakeMatrixClient +import io.element.android.libraries.matrix.test.FakeMatrixClient import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Test diff --git a/features/rageshake/build.gradle.kts b/features/rageshake/build.gradle.kts index 45cc9cdd64..096fa2b186 100644 --- a/features/rageshake/build.gradle.kts +++ b/features/rageshake/build.gradle.kts @@ -51,7 +51,7 @@ dependencies { testImplementation(libs.molecule.runtime) testImplementation(libs.test.truth) testImplementation(libs.test.turbine) - testImplementation(projects.libraries.matrixtest) + testImplementation(projects.libraries.matrix.test) testImplementation(libs.test.mockk) androidTestImplementation(libs.test.junitext) diff --git a/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/bugreport/BugReportPresenterTest.kt b/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/bugreport/BugReportPresenterTest.kt index 484c3bd1b0..93252c8891 100644 --- a/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/bugreport/BugReportPresenterTest.kt +++ b/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/bugreport/BugReportPresenterTest.kt @@ -25,7 +25,7 @@ import com.google.common.truth.Truth.assertThat import io.element.android.features.rageshake.crash.ui.A_CRASH_DATA import io.element.android.features.rageshake.crash.ui.FakeCrashDataStore import io.element.android.libraries.architecture.Async -import io.element.android.libraries.matrixtest.A_FAILURE_REASON +import io.element.android.libraries.matrix.test.A_FAILURE_REASON import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Test diff --git a/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/bugreport/FakeBugReporter.kt b/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/bugreport/FakeBugReporter.kt index 29977d7a95..558edf0b15 100644 --- a/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/bugreport/FakeBugReporter.kt +++ b/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/bugreport/FakeBugReporter.kt @@ -19,7 +19,7 @@ package io.element.android.features.rageshake.bugreport import io.element.android.features.rageshake.reporter.BugReporter import io.element.android.features.rageshake.reporter.BugReporterListener import io.element.android.features.rageshake.reporter.ReportType -import io.element.android.libraries.matrixtest.A_FAILURE_REASON +import io.element.android.libraries.matrix.test.A_FAILURE_REASON import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.delay import kotlinx.coroutines.launch diff --git a/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionPresenterTest.kt b/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionPresenterTest.kt index 1ef8941bff..2993ab41f1 100644 --- a/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionPresenterTest.kt +++ b/features/rageshake/src/test/kotlin/io/element/android/features/rageshake/detection/RageshakeDetectionPresenterTest.kt @@ -28,7 +28,7 @@ import io.element.android.features.rageshake.preferences.FakeRageShake import io.element.android.features.rageshake.preferences.FakeRageshakeDataStore import io.element.android.features.rageshake.preferences.RageshakePreferencesPresenter import io.element.android.features.rageshake.screenshot.ImageResult -import io.element.android.libraries.matrixtest.AN_EXCEPTION +import io.element.android.libraries.matrix.test.AN_EXCEPTION import io.mockk.mockk import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.flow.first diff --git a/features/roomlist/build.gradle.kts b/features/roomlist/build.gradle.kts index fe8112fb81..9999262c40 100644 --- a/features/roomlist/build.gradle.kts +++ b/features/roomlist/build.gradle.kts @@ -36,7 +36,7 @@ dependencies { implementation(projects.libraries.core) implementation(projects.libraries.architecture) - implementation(projects.libraries.matrix) + implementation(projects.libraries.matrix.api) implementation(projects.libraries.matrixui) implementation(projects.libraries.designsystem) implementation(projects.libraries.elementresources) @@ -49,9 +49,7 @@ dependencies { testImplementation(libs.molecule.runtime) testImplementation(libs.test.truth) testImplementation(libs.test.turbine) - testImplementation(projects.libraries.matrixtest) - - testImplementation(testFixtures(projects.libraries.matrix)) + testImplementation(projects.libraries.matrix.test) androidTestImplementation(libs.test.junitext) diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListNode.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListNode.kt index ecf6dc3c98..cec107a412 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListNode.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListNode.kt @@ -26,7 +26,7 @@ import dagger.assisted.Assisted import dagger.assisted.AssistedInject import io.element.android.anvilannotations.ContributesNode import io.element.android.libraries.di.SessionScope -import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.matrix.api.core.RoomId @ContributesNode(SessionScope::class) class RoomListNode @AssistedInject constructor( diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListPresenter.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListPresenter.kt index bdd35fa039..905b1746b0 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListPresenter.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListPresenter.kt @@ -34,9 +34,9 @@ import io.element.android.libraries.core.coroutine.parallelMap import io.element.android.libraries.dateformatter.LastMessageFormatter import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.core.UserId -import io.element.android.libraries.matrix.room.RoomSummary +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.room.RoomSummary import io.element.android.libraries.matrix.ui.model.MatrixUser import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt index 1ebc2328db..b7d1d122dc 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/RoomListView.kt @@ -44,7 +44,7 @@ import io.element.android.libraries.designsystem.preview.ElementPreviewDark import io.element.android.libraries.designsystem.preview.ElementPreviewLight import io.element.android.libraries.designsystem.theme.components.Scaffold import io.element.android.libraries.designsystem.utils.LogCompositions -import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.matrix.api.core.RoomId import io.element.android.libraries.matrix.ui.model.MatrixUser import kotlinx.collections.immutable.ImmutableList diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt index e27b8eaba9..0364bcd959 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/components/RoomListTopBar.kt @@ -59,7 +59,7 @@ import io.element.android.libraries.designsystem.theme.components.Text import io.element.android.libraries.designsystem.theme.components.TextField import io.element.android.libraries.designsystem.theme.components.TopAppBar import io.element.android.libraries.designsystem.utils.LogCompositions -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.ui.model.MatrixUser import io.element.android.libraries.ui.strings.R as StringR diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummary.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummary.kt index 5f9e883e5d..1e017d6330 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummary.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummary.kt @@ -18,7 +18,7 @@ package io.element.android.features.roomlist.model import androidx.compose.runtime.Immutable import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.matrix.api.core.RoomId @Immutable data class RoomListRoomSummary( diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryProvider.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryProvider.kt index 41a6f96473..a79f1dc049 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryProvider.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListRoomSummaryProvider.kt @@ -18,7 +18,7 @@ package io.element.android.features.roomlist.model import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.matrix.api.core.RoomId open class RoomListRoomSummaryProvider : PreviewParameterProvider { override val values: Sequence diff --git a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListStateProvider.kt b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListStateProvider.kt index fd361e6b02..1cd95f04db 100644 --- a/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListStateProvider.kt +++ b/features/roomlist/src/main/kotlin/io/element/android/features/roomlist/model/RoomListStateProvider.kt @@ -18,7 +18,7 @@ package io.element.android.features.roomlist.model import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.ui.model.MatrixUser import kotlinx.collections.immutable.ImmutableList import kotlinx.collections.immutable.persistentListOf diff --git a/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt b/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt index 5ea1636d3f..377af91261 100644 --- a/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt +++ b/features/roomlist/src/test/kotlin/io/element/android/features/roomlist/RoomListPresenterTests.kt @@ -26,17 +26,17 @@ import io.element.android.features.roomlist.model.RoomListEvents import io.element.android.features.roomlist.model.RoomListRoomSummary import io.element.android.libraries.dateformatter.LastMessageFormatter import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrixtest.AN_AVATAR_URL -import io.element.android.libraries.matrixtest.AN_EXCEPTION -import io.element.android.libraries.matrixtest.A_MESSAGE -import io.element.android.libraries.matrixtest.A_ROOM_ID -import io.element.android.libraries.matrixtest.A_ROOM_NAME -import io.element.android.libraries.matrixtest.A_SESSION_ID -import io.element.android.libraries.matrixtest.A_USER_ID -import io.element.android.libraries.matrixtest.A_USER_NAME -import io.element.android.libraries.matrixtest.FakeMatrixClient -import io.element.android.libraries.matrixtest.room.FakeRoomSummaryDataSource -import io.element.android.libraries.matrixtest.room.aRoomSummaryFilled +import io.element.android.libraries.matrix.test.AN_AVATAR_URL +import io.element.android.libraries.matrix.test.AN_EXCEPTION +import io.element.android.libraries.matrix.test.A_MESSAGE +import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.libraries.matrix.test.A_ROOM_NAME +import io.element.android.libraries.matrix.test.A_SESSION_ID +import io.element.android.libraries.matrix.test.A_USER_ID +import io.element.android.libraries.matrix.test.A_USER_NAME +import io.element.android.libraries.matrix.test.FakeMatrixClient +import io.element.android.libraries.matrix.test.room.FakeRoomSummaryDataSource +import io.element.android.libraries.matrix.test.room.aRoomSummaryFilled import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.test.runTest import org.junit.Test diff --git a/features/template/build.gradle.kts b/features/template/build.gradle.kts index 47cf8f490c..fb28cb3b45 100644 --- a/features/template/build.gradle.kts +++ b/features/template/build.gradle.kts @@ -37,7 +37,7 @@ dependencies { implementation(projects.libraries.core) implementation(projects.libraries.architecture) - implementation(projects.libraries.matrix) + implementation(projects.libraries.matrix.api) implementation(projects.libraries.matrixui) implementation(projects.libraries.designsystem) implementation(projects.libraries.elementresources) @@ -48,7 +48,7 @@ dependencies { testImplementation(libs.molecule.runtime) testImplementation(libs.test.truth) testImplementation(libs.test.turbine) - testImplementation(projects.libraries.matrixtest) + testImplementation(projects.libraries.matrix.test) androidTestImplementation(libs.test.junitext) diff --git a/libraries/matrix/build.gradle.kts b/libraries/matrix/api/build.gradle.kts similarity index 95% rename from libraries/matrix/build.gradle.kts rename to libraries/matrix/api/build.gradle.kts index 42876cbbb1..9d5b2584d3 100644 --- a/libraries/matrix/build.gradle.kts +++ b/libraries/matrix/api/build.gradle.kts @@ -23,7 +23,7 @@ plugins { } android { - namespace = "io.element.android.libraries.matrix" + namespace = "io.element.android.libraries.matrix.api" } anvil { diff --git a/libraries/matrix/src/main/AndroidManifest.xml b/libraries/matrix/api/src/main/AndroidManifest.xml similarity index 100% rename from libraries/matrix/src/main/AndroidManifest.xml rename to libraries/matrix/api/src/main/AndroidManifest.xml diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/MatrixClient.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt similarity index 77% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/MatrixClient.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt index 0e31e307e5..71d9e2a60c 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/MatrixClient.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/MatrixClient.kt @@ -14,13 +14,13 @@ * limitations under the License. */ -package io.element.android.libraries.matrix +package io.element.android.libraries.matrix.api -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.core.SessionId -import io.element.android.libraries.matrix.media.MediaResolver -import io.element.android.libraries.matrix.room.MatrixRoom -import io.element.android.libraries.matrix.room.RoomSummaryDataSource +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.media.MediaResolver +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.RoomSummaryDataSource import org.matrix.rustcomponents.sdk.MediaSource import java.io.Closeable diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/auth/MatrixAuthenticationService.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/MatrixAuthenticationService.kt similarity index 85% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/auth/MatrixAuthenticationService.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/MatrixAuthenticationService.kt index 4323e3f79b..440baa7ce8 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/auth/MatrixAuthenticationService.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/auth/MatrixAuthenticationService.kt @@ -14,10 +14,10 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.auth +package io.element.android.libraries.matrix.api.auth -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.core.SessionId +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.core.SessionId import kotlinx.coroutines.flow.Flow interface MatrixAuthenticationService { diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/EventId.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/EventId.kt similarity index 92% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/EventId.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/EventId.kt index 7ad4235e5e..5c94fa30e9 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/EventId.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/EventId.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.core +package io.element.android.libraries.matrix.api.core import java.io.Serializable diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/MatrixPatterns.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatterns.kt similarity index 98% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/MatrixPatterns.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatterns.kt index b2043d216b..f295fe81b9 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/MatrixPatterns.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatterns.kt @@ -14,9 +14,9 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.core +package io.element.android.libraries.matrix.api.core -import io.element.android.libraries.matrix.BuildConfig +import io.element.android.libraries.matrix.api.BuildConfig import timber.log.Timber /** diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/RoomId.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/RoomId.kt similarity index 92% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/RoomId.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/RoomId.kt index 1a50c6a83a..6c556c8b62 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/RoomId.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/RoomId.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.core +package io.element.android.libraries.matrix.api.core import java.io.Serializable diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/SessionId.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/SessionId.kt similarity index 92% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/SessionId.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/SessionId.kt index 5927354f88..6009aa5c03 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/SessionId.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/SessionId.kt @@ -14,6 +14,6 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.core +package io.element.android.libraries.matrix.api.core typealias SessionId = UserId diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/UserId.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/UserId.kt similarity index 92% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/UserId.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/UserId.kt index 63f2c85216..00fbc6e928 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/core/UserId.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/core/UserId.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.core +package io.element.android.libraries.matrix.api.core import java.io.Serializable diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/media/MediaResolver.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MediaResolver.kt similarity index 95% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/media/MediaResolver.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MediaResolver.kt index 7adf22ccfc..c906c380f1 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/media/MediaResolver.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/media/MediaResolver.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.media +package io.element.android.libraries.matrix.api.media import org.matrix.rustcomponents.sdk.MediaSource diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/MatrixToConverter.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/MatrixToConverter.kt similarity index 97% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/MatrixToConverter.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/MatrixToConverter.kt index 8ef0bbcd08..032f45def6 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/MatrixToConverter.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/MatrixToConverter.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.permalink +package io.element.android.libraries.matrix.api.permalink import android.net.Uri diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/PermalinkData.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/PermalinkData.kt similarity index 96% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/PermalinkData.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/PermalinkData.kt index b5f8b7fd92..0a70055e4f 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/PermalinkData.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/PermalinkData.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.permalink +package io.element.android.libraries.matrix.api.permalink import android.net.Uri diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/PermalinkParser.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/PermalinkParser.kt similarity index 98% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/PermalinkParser.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/PermalinkParser.kt index 71509850a1..fc900e4bbb 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/permalink/PermalinkParser.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/permalink/PermalinkParser.kt @@ -14,11 +14,11 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.permalink +package io.element.android.libraries.matrix.api.permalink import android.net.Uri import android.net.UrlQuerySanitizer -import io.element.android.libraries.matrix.core.MatrixPatterns +import io.element.android.libraries.matrix.api.core.MatrixPatterns import timber.log.Timber import java.net.URLDecoder diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/MatrixRoom.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt similarity index 84% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/MatrixRoom.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt index 76a2a91882..f29770a171 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/MatrixRoom.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/MatrixRoom.kt @@ -14,11 +14,11 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.room +package io.element.android.libraries.matrix.api.room -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.timeline.MatrixTimeline +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline import kotlinx.coroutines.flow.Flow interface MatrixRoom { @@ -46,5 +46,4 @@ interface MatrixRoom { suspend fun replyMessage(eventId: EventId, message: String): Result suspend fun redactEvent(eventId: EventId, reason: String? = null): Result - } diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummary.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomSummary.kt similarity index 91% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummary.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomSummary.kt index 8b922b322d..1a5d55861a 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummary.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomSummary.kt @@ -14,9 +14,9 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.room +package io.element.android.libraries.matrix.api.room -import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.matrix.api.core.RoomId sealed interface RoomSummary { data class Empty(val identifier: String) : RoomSummary diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/LogTag.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomSummaryDataSource.kt similarity index 67% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/LogTag.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomSummaryDataSource.kt index 85c1e6010e..0e71dd2558 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/LogTag.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/RoomSummaryDataSource.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2022 New Vector Ltd + * Copyright (c) 2023 New Vector Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -14,6 +14,11 @@ * limitations under the License. */ -package io.element.android.libraries.matrix +package io.element.android.libraries.matrix.api.room -internal const val LOG_TAG = "Matrix" +import kotlinx.coroutines.flow.StateFlow + +interface RoomSummaryDataSource { + fun roomSummaries(): StateFlow> + fun setSlidingSyncRange(range: IntRange) +} diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/message/RoomMessage.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/message/RoomMessage.kt similarity index 80% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/message/RoomMessage.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/message/RoomMessage.kt index 3bfe5b5edb..e6f5ba3a5c 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/message/RoomMessage.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/message/RoomMessage.kt @@ -14,10 +14,10 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.room.message +package io.element.android.libraries.matrix.api.room.message -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.core.UserId data class RoomMessage( val eventId: EventId, diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimeline.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/MatrixTimeline.kt similarity index 92% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimeline.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/MatrixTimeline.kt index 83831db882..091691b0ec 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimeline.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/MatrixTimeline.kt @@ -14,9 +14,9 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.timeline +package io.element.android.libraries.matrix.api.timeline -import io.element.android.libraries.matrix.core.EventId +import io.element.android.libraries.matrix.api.core.EventId import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.StateFlow diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimelineItem.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/MatrixTimelineItem.kt similarity index 68% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimelineItem.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/MatrixTimelineItem.kt index 2d31d400a7..e85ceaadb6 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimelineItem.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/timeline/MatrixTimelineItem.kt @@ -14,11 +14,10 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.timeline +package io.element.android.libraries.matrix.api.timeline -import io.element.android.libraries.matrix.core.EventId +import io.element.android.libraries.matrix.api.core.EventId import org.matrix.rustcomponents.sdk.EventTimelineItem -import org.matrix.rustcomponents.sdk.TimelineItem import org.matrix.rustcomponents.sdk.VirtualTimelineItem sealed interface MatrixTimelineItem { @@ -31,14 +30,3 @@ sealed interface MatrixTimelineItem { object Other : MatrixTimelineItem } -fun TimelineItem.asMatrixTimelineItem(): MatrixTimelineItem { - val asEvent = asEvent() - if (asEvent != null) { - return MatrixTimelineItem.Event(asEvent) - } - val asVirtual = asVirtual() - if (asVirtual != null) { - return MatrixTimelineItem.Virtual(asVirtual) - } - return MatrixTimelineItem.Other -} diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/tracing/TracingConfiguration.kt b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/tracing/TracingConfiguration.kt similarity index 90% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/tracing/TracingConfiguration.kt rename to libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/tracing/TracingConfiguration.kt index 747b93f287..8bcd602b9f 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/tracing/TracingConfiguration.kt +++ b/libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/tracing/TracingConfiguration.kt @@ -14,9 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.tracing - -import timber.log.Timber +package io.element.android.libraries.matrix.api.tracing data class TracingConfiguration( val overrides: Map = emptyMap() @@ -74,12 +72,6 @@ sealed class LogLevel(val filter: String) { object Error : LogLevel("error") } -fun setupTracing(tracingConfiguration: TracingConfiguration) { - val filter = tracingConfiguration.filter - Timber.v("Tracing config filter = $filter") - org.matrix.rustcomponents.sdk.setupTracing(filter) -} - object TracingConfigurations { val release = TracingConfiguration(overrides = mapOf(Target.Common to LogLevel.Info)) val debug = TracingConfiguration(overrides = mapOf(Target.Common to LogLevel.Info)) diff --git a/libraries/matrix/impl/build.gradle.kts b/libraries/matrix/impl/build.gradle.kts new file mode 100644 index 0000000000..49f18be870 --- /dev/null +++ b/libraries/matrix/impl/build.gradle.kts @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2022 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// TODO: Remove once https://youtrack.jetbrains.com/issue/KTIJ-19369 is fixed +@Suppress("DSL_SCOPE_VIOLATION") +plugins { + id("io.element.android-library") + alias(libs.plugins.anvil) + kotlin("plugin.serialization") version "1.8.10" +} + +android { + namespace = "io.element.android.libraries.matrix.impl" +} + +anvil { + generateDaggerFactories.set(true) +} + +dependencies { + // api(projects.libraries.rustsdk) + api(libs.matrix.sdk) + implementation(projects.libraries.di) + implementation(projects.libraries.matrix.api) + implementation(libs.dagger) + implementation(projects.libraries.core) + implementation("net.java.dev.jna:jna:5.13.0@aar") + implementation(libs.androidx.datastore.preferences) + implementation(libs.serialization.json) +} diff --git a/libraries/matrixtest/src/main/AndroidManifest.xml b/libraries/matrix/impl/src/main/AndroidManifest.xml similarity index 76% rename from libraries/matrixtest/src/main/AndroidManifest.xml rename to libraries/matrix/impl/src/main/AndroidManifest.xml index 6a35d06cce..dc2b81fddc 100644 --- a/libraries/matrixtest/src/main/AndroidManifest.xml +++ b/libraries/matrix/impl/src/main/AndroidManifest.xml @@ -1,6 +1,6 @@ - + + + + + diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt similarity index 90% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/RustMatrixClient.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index c36aec7107..f02929e9ed 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -14,19 +14,20 @@ * limitations under the License. */ -package io.element.android.libraries.matrix +package io.element.android.libraries.matrix.impl import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.core.UserId -import io.element.android.libraries.matrix.media.MediaResolver -import io.element.android.libraries.matrix.media.RustMediaResolver -import io.element.android.libraries.matrix.room.MatrixRoom -import io.element.android.libraries.matrix.room.RoomSummaryDataSource -import io.element.android.libraries.matrix.room.RustMatrixRoom -import io.element.android.libraries.matrix.room.RustRoomSummaryDataSource -import io.element.android.libraries.matrix.sync.SlidingSyncObserverProxy +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.impl.media.RustMediaResolver +import io.element.android.libraries.matrix.impl.room.RustMatrixRoom +import io.element.android.libraries.matrix.impl.room.RustRoomSummaryDataSource +import io.element.android.libraries.matrix.impl.sync.SlidingSyncObserverProxy import io.element.android.libraries.sessionstorage.SessionStore +import io.element.android.libraries.matrix.api.media.MediaResolver +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.RoomSummaryDataSource import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.withContext import org.matrix.rustcomponents.sdk.Client diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/auth/RustMatrixAuthenticationService.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt similarity index 90% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/auth/RustMatrixAuthenticationService.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt index 1354cf8571..a9a7d4c9f7 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/auth/RustMatrixAuthenticationService.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/auth/RustMatrixAuthenticationService.kt @@ -14,18 +14,19 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.auth +package io.element.android.libraries.matrix.impl.auth import com.squareup.anvil.annotations.ContributesBinding import io.element.android.libraries.core.coroutine.CoroutineDispatchers import io.element.android.libraries.di.AppScope -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.RustMatrixClient -import io.element.android.libraries.matrix.core.SessionId -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.impl.RustMatrixClient +import io.element.android.libraries.matrix.impl.util.logError import io.element.android.libraries.matrix.session.SessionData import io.element.android.libraries.sessionstorage.SessionStore -import io.element.android.libraries.matrix.util.logError import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.withContext diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/di/MatrixModule.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/MatrixModule.kt similarity index 95% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/di/MatrixModule.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/MatrixModule.kt index 5cb654faf7..c6919e78d5 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/di/MatrixModule.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/di/MatrixModule.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.di +package io.element.android.libraries.matrix.impl.di import com.squareup.anvil.annotations.ContributesTo import dagger.Module diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/media/RustMediaResolver.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaResolver.kt similarity index 75% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/media/RustMediaResolver.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaResolver.kt index bdc5b85203..413ee26f67 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/media/RustMediaResolver.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/media/RustMediaResolver.kt @@ -14,9 +14,10 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.media +package io.element.android.libraries.matrix.impl.media -import io.element.android.libraries.matrix.MatrixClient +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.media.MediaResolver import org.matrix.rustcomponents.sdk.mediaSourceFromUrl internal class RustMediaResolver(private val client: MatrixClient) : MediaResolver { @@ -28,13 +29,14 @@ internal class RustMediaResolver(private val client: MatrixClient) : MediaResolv } override suspend fun resolve(meta: MediaResolver.Meta): ByteArray? { - if (meta.source == null) return null - return when (meta.kind) { - is MediaResolver.Kind.Content -> client.loadMediaContentForSource(meta.source) + val source = meta.source ?: return null + val kind = meta.kind + return when (kind) { + is MediaResolver.Kind.Content -> client.loadMediaContentForSource(source) is MediaResolver.Kind.Thumbnail -> client.loadMediaThumbnailForSource( - meta.source, - meta.kind.width.toLong(), - meta.kind.height.toLong() + source, + kind.width.toLong(), + kind.height.toLong() ) }.getOrNull() } diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummaryDetailsFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomSummaryDetailsFactory.kt similarity index 87% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummaryDetailsFactory.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomSummaryDetailsFactory.kt index d295f9848e..26a14a3b86 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummaryDetailsFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomSummaryDetailsFactory.kt @@ -14,10 +14,11 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.room +package io.element.android.libraries.matrix.impl.room -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.room.message.RoomMessageFactory +import io.element.android.libraries.matrix.impl.room.message.RoomMessageFactory +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.room.RoomSummaryDetails import org.matrix.rustcomponents.sdk.Room import org.matrix.rustcomponents.sdk.SlidingSyncRoom diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RustMatrixRoom.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt similarity index 92% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RustMatrixRoom.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt index 99c21931c4..46d7ff4b1b 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RustMatrixRoom.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustMatrixRoom.kt @@ -14,13 +14,14 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.room +package io.element.android.libraries.matrix.impl.room import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.timeline.MatrixTimeline -import io.element.android.libraries.matrix.timeline.RustMatrixTimeline +import io.element.android.libraries.matrix.impl.timeline.RustMatrixTimeline +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.filter @@ -32,7 +33,6 @@ import org.matrix.rustcomponents.sdk.SlidingSyncRoom import org.matrix.rustcomponents.sdk.UpdateSummary import org.matrix.rustcomponents.sdk.genTransactionId import org.matrix.rustcomponents.sdk.messageEventContentFromMarkdown -import timber.log.Timber class RustMatrixRoom( private val slidingSyncUpdateFlow: Flow, diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummaryDataSource.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt similarity index 95% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummaryDataSource.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt index 7bbc70fdd0..cae0515f5a 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/RoomSummaryDataSource.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt @@ -14,11 +14,13 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.room +package io.element.android.libraries.matrix.impl.room import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.matrix.sync.roomListDiff -import io.element.android.libraries.matrix.sync.state +import io.element.android.libraries.matrix.impl.sync.roomListDiff +import io.element.android.libraries.matrix.impl.sync.state +import io.element.android.libraries.matrix.api.room.RoomSummary +import io.element.android.libraries.matrix.api.room.RoomSummaryDataSource import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.SupervisorJob import kotlinx.coroutines.cancel @@ -39,11 +41,6 @@ import timber.log.Timber import java.io.Closeable import java.util.UUID -interface RoomSummaryDataSource { - fun roomSummaries(): StateFlow> - fun setSlidingSyncRange(range: IntRange) -} - internal class RustRoomSummaryDataSource( private val slidingSyncUpdateFlow: Flow, private val slidingSync: SlidingSync, diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/message/RoomMessageFactory.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/message/RoomMessageFactory.kt similarity index 81% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/message/RoomMessageFactory.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/message/RoomMessageFactory.kt index ebeb1d6eb0..84fa57659e 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/room/message/RoomMessageFactory.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/message/RoomMessageFactory.kt @@ -14,10 +14,11 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.room.message +package io.element.android.libraries.matrix.impl.room.message -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.api.room.message.RoomMessage import org.matrix.rustcomponents.sdk.EventTimelineItem class RoomMessageFactory { diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/sync/SlidingSyncObserverProxy.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/SlidingSyncObserverProxy.kt similarity index 96% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/sync/SlidingSyncObserverProxy.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/SlidingSyncObserverProxy.kt index 1922eb985f..6c62171a65 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/sync/SlidingSyncObserverProxy.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/SlidingSyncObserverProxy.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.sync +package io.element.android.libraries.matrix.impl.sync import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableSharedFlow diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/sync/SlidingSyncViewFlows.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/SlidingSyncViewFlows.kt similarity index 94% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/sync/SlidingSyncViewFlows.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/SlidingSyncViewFlows.kt index a3d323b8d0..8665705095 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/sync/SlidingSyncViewFlows.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/sync/SlidingSyncViewFlows.kt @@ -14,9 +14,9 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.sync +package io.element.android.libraries.matrix.impl.sync -import io.element.android.libraries.matrix.util.mxCallbackFlow +import io.element.android.libraries.matrix.impl.util.mxCallbackFlow import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.launch diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimelineDiffProcessor.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt similarity index 95% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimelineDiffProcessor.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt index afea46f2ff..f3033a40e1 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/MatrixTimelineDiffProcessor.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineDiffProcessor.kt @@ -14,8 +14,10 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.timeline +package io.element.android.libraries.matrix.impl.timeline +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.flow.MutableStateFlow diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineItem.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineItem.kt new file mode 100644 index 0000000000..70cbc165f7 --- /dev/null +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/MatrixTimelineItem.kt @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2022 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.matrix.impl.timeline + +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem +import org.matrix.rustcomponents.sdk.TimelineItem + +fun TimelineItem.asMatrixTimelineItem(): MatrixTimelineItem { + val asEvent = asEvent() + if (asEvent != null) { + return MatrixTimelineItem.Event(asEvent) + } + val asVirtual = asVirtual() + if (asVirtual != null) { + return MatrixTimelineItem.Virtual(asVirtual) + } + return MatrixTimelineItem.Other +} diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/RustMatrixTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt similarity index 92% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/RustMatrixTimeline.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt index 60ccb7420b..98ea6e7d3f 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/timeline/RustMatrixTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt @@ -14,12 +14,14 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.timeline +package io.element.android.libraries.matrix.impl.timeline import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.room.MatrixRoom -import io.element.android.libraries.matrix.util.TaskHandleBag +import io.element.android.libraries.matrix.impl.util.TaskHandleBag +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.flow.Flow diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/tracing/TracingConfiguration.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/tracing/TracingConfiguration.kt new file mode 100644 index 0000000000..f32b18c9f2 --- /dev/null +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/tracing/TracingConfiguration.kt @@ -0,0 +1,26 @@ +/* + * Copyright (c) 2022 New Vector Ltd + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.element.android.libraries.matrix.impl.tracing + +import io.element.android.libraries.matrix.api.tracing.TracingConfiguration +import timber.log.Timber + +fun setupTracing(tracingConfiguration: TracingConfiguration) { + val filter = tracingConfiguration.filter + Timber.v("Tracing config filter = $filter") + org.matrix.rustcomponents.sdk.setupTracing(filter) +} diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/CallbackFlow.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/CallbackFlow.kt similarity index 95% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/CallbackFlow.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/CallbackFlow.kt index 9cf36f1db1..a347973e89 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/CallbackFlow.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/CallbackFlow.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.util +package io.element.android.libraries.matrix.impl.util import kotlinx.coroutines.channels.ProducerScope import kotlinx.coroutines.channels.awaitClose diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/Error.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/Error.kt similarity index 94% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/Error.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/Error.kt index d480262f81..4910445bee 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/Error.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/Error.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.util +package io.element.android.libraries.matrix.impl.util import org.matrix.rustcomponents.sdk.ClientException import timber.log.Timber diff --git a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/TaskHandleBag.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/TaskHandleBag.kt similarity index 95% rename from libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/TaskHandleBag.kt rename to libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/TaskHandleBag.kt index f4f75d0e8e..ad2c6ccddd 100644 --- a/libraries/matrix/src/main/kotlin/io/element/android/libraries/matrix/util/TaskHandleBag.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/util/TaskHandleBag.kt @@ -14,7 +14,7 @@ * limitations under the License. */ -package io.element.android.libraries.matrix.util +package io.element.android.libraries.matrix.impl.util import org.matrix.rustcomponents.sdk.TaskHandle import java.util.concurrent.CopyOnWriteArraySet diff --git a/libraries/matrixtest/build.gradle.kts b/libraries/matrix/test/build.gradle.kts similarity index 91% rename from libraries/matrixtest/build.gradle.kts rename to libraries/matrix/test/build.gradle.kts index 39641e7eed..42b3658f20 100644 --- a/libraries/matrixtest/build.gradle.kts +++ b/libraries/matrix/test/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 New Vector Ltd + * Copyright (c) 2022 New Vector Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,6 +25,6 @@ android { } dependencies { - api(projects.libraries.matrix) + api(projects.libraries.matrix.api) api(libs.coroutines.core) } diff --git a/libraries/matrix/test/src/main/AndroidManifest.xml b/libraries/matrix/test/src/main/AndroidManifest.xml new file mode 100644 index 0000000000..dc2b81fddc --- /dev/null +++ b/libraries/matrix/test/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + diff --git a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/FakeMatrixClient.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt similarity index 77% rename from libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/FakeMatrixClient.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt index 7c211c102f..d5326fc725 100644 --- a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/FakeMatrixClient.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/FakeMatrixClient.kt @@ -14,17 +14,17 @@ * limitations under the License. */ -package io.element.android.libraries.matrixtest +package io.element.android.libraries.matrix.test -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.core.SessionId -import io.element.android.libraries.matrix.media.MediaResolver -import io.element.android.libraries.matrix.room.MatrixRoom -import io.element.android.libraries.matrix.room.RoomSummaryDataSource -import io.element.android.libraries.matrixtest.media.FakeMediaResolver -import io.element.android.libraries.matrixtest.room.FakeMatrixRoom -import io.element.android.libraries.matrixtest.room.FakeRoomSummaryDataSource +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.media.MediaResolver +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.api.room.RoomSummaryDataSource +import io.element.android.libraries.matrix.test.media.FakeMediaResolver +import io.element.android.libraries.matrix.test.room.FakeMatrixRoom +import io.element.android.libraries.matrix.test.room.FakeRoomSummaryDataSource import kotlinx.coroutines.delay import org.matrix.rustcomponents.sdk.MediaSource diff --git a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/TestData.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt similarity index 81% rename from libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/TestData.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt index 3aa3c2aba3..0229513a58 100644 --- a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/TestData.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/TestData.kt @@ -14,12 +14,12 @@ * limitations under the License. */ -package io.element.android.libraries.matrixtest +package io.element.android.libraries.matrix.test -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.core.SessionId -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.core.SessionId +import io.element.android.libraries.matrix.api.core.UserId const val A_USER_NAME = "alice" const val A_PASSWORD = "password" diff --git a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/auth/FakeAuthenticationService.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/auth/FakeAuthenticationService.kt similarity index 82% rename from libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/auth/FakeAuthenticationService.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/auth/FakeAuthenticationService.kt index b5981aa2f1..266e541e6b 100644 --- a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/auth/FakeAuthenticationService.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/auth/FakeAuthenticationService.kt @@ -14,13 +14,13 @@ * limitations under the License. */ -package io.element.android.libraries.matrixtest.auth +package io.element.android.libraries.matrix.test.auth -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.auth.MatrixAuthenticationService -import io.element.android.libraries.matrix.core.UserId -import io.element.android.libraries.matrixtest.A_HOMESERVER -import io.element.android.libraries.matrixtest.A_USER_ID +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.core.UserId +import io.element.android.libraries.matrix.test.A_HOMESERVER +import io.element.android.libraries.matrix.test.A_USER_ID import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.flowOf diff --git a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/media/FakeMediaResolver.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/media/FakeMediaResolver.kt similarity index 87% rename from libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/media/FakeMediaResolver.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/media/FakeMediaResolver.kt index ef171e5a09..c642c630f5 100644 --- a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/media/FakeMediaResolver.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/media/FakeMediaResolver.kt @@ -14,9 +14,9 @@ * limitations under the License. */ -package io.element.android.libraries.matrixtest.media +package io.element.android.libraries.matrix.test.media -import io.element.android.libraries.matrix.media.MediaResolver +import io.element.android.libraries.matrix.api.media.MediaResolver class FakeMediaResolver : MediaResolver { override suspend fun resolve(url: String?, kind: MediaResolver.Kind): ByteArray? { diff --git a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/FakeMatrixRoom.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt similarity index 84% rename from libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/FakeMatrixRoom.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt index 3f5028291c..95eb07789e 100644 --- a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/FakeMatrixRoom.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeMatrixRoom.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package io.element.android.libraries.matrixtest.room +package io.element.android.libraries.matrix.test.room -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.room.MatrixRoom -import io.element.android.libraries.matrix.timeline.MatrixTimeline -import io.element.android.libraries.matrixtest.A_ROOM_ID -import io.element.android.libraries.matrixtest.timeline.FakeMatrixTimeline +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.room.MatrixRoom +import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.libraries.matrix.test.timeline.FakeMatrixTimeline +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.emptyFlow diff --git a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/FakeRoomSummaryDataSource.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeRoomSummaryDataSource.kt similarity index 86% rename from libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/FakeRoomSummaryDataSource.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeRoomSummaryDataSource.kt index 9d7cb3e377..969ad4b413 100644 --- a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/FakeRoomSummaryDataSource.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/FakeRoomSummaryDataSource.kt @@ -14,10 +14,10 @@ * limitations under the License. */ -package io.element.android.libraries.matrixtest.room +package io.element.android.libraries.matrix.test.room -import io.element.android.libraries.matrix.room.RoomSummary -import io.element.android.libraries.matrix.room.RoomSummaryDataSource +import io.element.android.libraries.matrix.api.room.RoomSummary +import io.element.android.libraries.matrix.api.room.RoomSummaryDataSource import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow diff --git a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/RoomSummaryFixture.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt similarity index 80% rename from libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/RoomSummaryFixture.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt index 41d9f6d524..86e56a0bf3 100644 --- a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/room/RoomSummaryFixture.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/room/RoomSummaryFixture.kt @@ -14,14 +14,14 @@ * limitations under the License. */ -package io.element.android.libraries.matrixtest.room +package io.element.android.libraries.matrix.test.room -import io.element.android.libraries.matrix.core.RoomId -import io.element.android.libraries.matrix.room.RoomSummary -import io.element.android.libraries.matrix.room.RoomSummaryDetails -import io.element.android.libraries.matrixtest.A_MESSAGE -import io.element.android.libraries.matrixtest.A_ROOM_ID -import io.element.android.libraries.matrixtest.A_ROOM_NAME +import io.element.android.libraries.matrix.api.core.RoomId +import io.element.android.libraries.matrix.api.room.RoomSummary +import io.element.android.libraries.matrix.api.room.RoomSummaryDetails +import io.element.android.libraries.matrix.test.A_MESSAGE +import io.element.android.libraries.matrix.test.A_ROOM_ID +import io.element.android.libraries.matrix.test.A_ROOM_NAME fun aRoomSummaryFilled( roomId: RoomId = A_ROOM_ID, diff --git a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/timeline/FakeMatrixTimeline.kt b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/FakeMatrixTimeline.kt similarity index 91% rename from libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/timeline/FakeMatrixTimeline.kt rename to libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/FakeMatrixTimeline.kt index 1fdf17260f..bb5c0157b6 100644 --- a/libraries/matrixtest/src/main/kotlin/io/element/android/libraries/matrixtest/timeline/FakeMatrixTimeline.kt +++ b/libraries/matrix/test/src/main/kotlin/io/element/android/libraries/matrix/test/timeline/FakeMatrixTimeline.kt @@ -14,11 +14,11 @@ * limitations under the License. */ -package io.element.android.libraries.matrixtest.timeline +package io.element.android.libraries.matrix.test.timeline -import io.element.android.libraries.matrix.core.EventId -import io.element.android.libraries.matrix.timeline.MatrixTimeline -import io.element.android.libraries.matrix.timeline.MatrixTimelineItem +import io.element.android.libraries.matrix.api.core.EventId +import io.element.android.libraries.matrix.api.timeline.MatrixTimeline +import io.element.android.libraries.matrix.api.timeline.MatrixTimelineItem import kotlinx.coroutines.delay import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableStateFlow diff --git a/libraries/matrixui/build.gradle.kts b/libraries/matrixui/build.gradle.kts index 39b2b677d8..c9dead5eb4 100644 --- a/libraries/matrixui/build.gradle.kts +++ b/libraries/matrixui/build.gradle.kts @@ -35,7 +35,7 @@ dependencies { anvil(projects.anvilcodegen) implementation(projects.libraries.di) implementation(projects.libraries.architecture) - implementation(projects.libraries.matrix) + implementation(projects.libraries.matrix.api) implementation(projects.libraries.designsystem) implementation(projects.libraries.core) implementation(libs.coil.compose) diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/MatrixItemHelper.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/MatrixItemHelper.kt index 5eae3b2f38..6a2d1b2a3c 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/MatrixItemHelper.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/MatrixItemHelper.kt @@ -18,7 +18,7 @@ package io.element.android.libraries.matrix.ui import io.element.android.libraries.designsystem.components.avatar.AvatarData import io.element.android.libraries.designsystem.components.avatar.AvatarSize -import io.element.android.libraries.matrix.MatrixClient +import io.element.android.libraries.matrix.api.MatrixClient import io.element.android.libraries.matrix.ui.model.MatrixUser import kotlinx.coroutines.FlowPreview import kotlinx.coroutines.flow.Flow diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt index 9112a548a6..b19424c28b 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/components/MatrixUserProvider.kt @@ -18,7 +18,7 @@ package io.element.android.libraries.matrix.ui.components import androidx.compose.ui.tooling.preview.PreviewParameterProvider import io.element.android.libraries.designsystem.components.avatar.anAvatarData -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.core.UserId import io.element.android.libraries.matrix.ui.model.MatrixUser open class MatrixUserProvider : PreviewParameterProvider { diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/AvatarDataExt.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/AvatarDataExt.kt index 7ede975af5..f12842eff0 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/AvatarDataExt.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/AvatarDataExt.kt @@ -17,7 +17,7 @@ package io.element.android.libraries.matrix.ui.media import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.media.MediaResolver +import io.element.android.libraries.matrix.api.media.MediaResolver import org.matrix.rustcomponents.sdk.mediaSourceFromUrl fun AvatarData.toMetadata(): MediaResolver.Meta { diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/ImageLoaderFactories.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/ImageLoaderFactories.kt index 70a7ab2afb..cf89678318 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/ImageLoaderFactories.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/ImageLoaderFactories.kt @@ -20,7 +20,7 @@ import android.content.Context import coil.ImageLoader import coil.ImageLoaderFactory import io.element.android.libraries.di.ApplicationContext -import io.element.android.libraries.matrix.MatrixClient +import io.element.android.libraries.matrix.api.MatrixClient import javax.inject.Inject class LoggedInImageLoaderFactory @Inject constructor( diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/MediaFetcher.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/MediaFetcher.kt index 22daed0851..fa0f42bf9b 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/MediaFetcher.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/MediaFetcher.kt @@ -21,8 +21,8 @@ import coil.fetch.FetchResult import coil.fetch.Fetcher import coil.request.Options import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.media.MediaResolver +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.media.MediaResolver import java.nio.ByteBuffer internal class MediaFetcher( diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/MediaKeyer.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/MediaKeyer.kt index f390b352dc..7861649afe 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/MediaKeyer.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/media/MediaKeyer.kt @@ -19,7 +19,7 @@ package io.element.android.libraries.matrix.ui.media import coil.key.Keyer import coil.request.Options import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.media.MediaResolver +import io.element.android.libraries.matrix.api.media.MediaResolver internal class AvatarKeyer : Keyer { override fun key(data: AvatarData, options: Options): String? { diff --git a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/model/MatrixUser.kt b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/model/MatrixUser.kt index b1a58c7920..c524cbb733 100644 --- a/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/model/MatrixUser.kt +++ b/libraries/matrixui/src/main/kotlin/io/element/android/libraries/matrix/ui/model/MatrixUser.kt @@ -18,7 +18,7 @@ package io.element.android.libraries.matrix.ui.model import androidx.compose.runtime.Immutable import io.element.android.libraries.designsystem.components.avatar.AvatarData -import io.element.android.libraries.matrix.core.UserId +import io.element.android.libraries.matrix.api.core.UserId @Immutable data class MatrixUser( diff --git a/libraries/textcomposer/build.gradle.kts b/libraries/textcomposer/build.gradle.kts index 6f15fefa42..dca13603be 100644 --- a/libraries/textcomposer/build.gradle.kts +++ b/libraries/textcomposer/build.gradle.kts @@ -34,7 +34,7 @@ dependencies { implementation(projects.libraries.uiStrings) implementation(projects.libraries.androidutils) implementation(projects.libraries.core) - implementation(projects.libraries.matrix) + implementation(projects.libraries.matrix.api) implementation(projects.libraries.designsystem) implementation(libs.wysiwyg) implementation(libs.androidx.constraintlayout) diff --git a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerMode.kt b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerMode.kt index fed8265656..093fb865fa 100644 --- a/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerMode.kt +++ b/libraries/textcomposer/src/main/kotlin/io/element/android/libraries/textcomposer/MessageComposerMode.kt @@ -17,7 +17,7 @@ package io.element.android.libraries.textcomposer import android.os.Parcelable -import io.element.android.libraries.matrix.core.EventId +import io.element.android.libraries.matrix.api.core.EventId import kotlinx.parcelize.Parcelize sealed interface MessageComposerMode : Parcelable { diff --git a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt index f751a73f27..8d8f574cb1 100644 --- a/plugins/src/main/kotlin/extension/DependencyHandleScope.kt +++ b/plugins/src/main/kotlin/extension/DependencyHandleScope.kt @@ -51,7 +51,7 @@ fun DependencyHandlerScope.composeDependencies(libs: LibrariesForLibs) { fun DependencyHandlerScope.allLibraries() { implementation(project(":libraries:designsystem")) - implementation(project(":libraries:matrix")) + implementation(project(":libraries:matrix:api")) implementation(project(":libraries:matrixui")) implementation(project(":libraries:core")) implementation(project(":libraries:architecture")) diff --git a/samples/minimal/build.gradle.kts b/samples/minimal/build.gradle.kts index 05d8ed17a2..13686e7e61 100644 --- a/samples/minimal/build.gradle.kts +++ b/samples/minimal/build.gradle.kts @@ -47,7 +47,8 @@ android { dependencies { implementation(libs.androidx.activity.compose) - implementation(projects.libraries.matrix) + implementation(projects.libraries.matrix.api) + implementation(projects.libraries.matrix.impl) implementation(projects.libraries.designsystem) implementation(projects.libraries.architecture) implementation(projects.libraries.core) diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/LoginScreen.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/LoginScreen.kt index a6a28ed9d0..4fd79ccfde 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/LoginScreen.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/LoginScreen.kt @@ -21,7 +21,7 @@ import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import io.element.android.features.login.root.LoginRootPresenter import io.element.android.features.login.root.LoginRootScreen -import io.element.android.libraries.matrix.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService class LoginScreen(private val authenticationService: MatrixAuthenticationService) { diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt index bc7131de01..bdf2818519 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt @@ -29,8 +29,8 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.core.view.WindowCompat import io.element.android.libraries.designsystem.theme.ElementTheme -import io.element.android.libraries.matrix.auth.MatrixAuthenticationService -import io.element.android.libraries.matrix.auth.RustMatrixAuthenticationService +import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService +import io.element.android.libraries.matrix.impl.auth.RustMatrixAuthenticationService import kotlinx.coroutines.runBlocking import org.matrix.rustcomponents.sdk.AuthenticationService import java.io.File diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt index 0158c77eab..2515de2977 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/RoomListScreen.kt @@ -24,8 +24,8 @@ import io.element.android.features.roomlist.RoomListView import io.element.android.libraries.dateformatter.impl.DateFormatters import io.element.android.libraries.dateformatter.impl.DefaultLastMessageFormatter import io.element.android.libraries.dateformatter.impl.LocalDateTimeProvider -import io.element.android.libraries.matrix.MatrixClient -import io.element.android.libraries.matrix.core.RoomId +import io.element.android.libraries.matrix.api.MatrixClient +import io.element.android.libraries.matrix.api.core.RoomId import kotlinx.coroutines.launch import kotlinx.datetime.Clock import kotlinx.datetime.TimeZone diff --git a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/Singleton.kt b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/Singleton.kt index fb74d2bacb..006ca8d9e4 100644 --- a/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/Singleton.kt +++ b/samples/minimal/src/main/kotlin/io/element/android/samples/minimal/Singleton.kt @@ -17,8 +17,8 @@ package io.element.android.samples.minimal import io.element.android.libraries.core.coroutine.CoroutineDispatchers -import io.element.android.libraries.matrix.tracing.TracingConfigurations -import io.element.android.libraries.matrix.tracing.setupTracing +import io.element.android.libraries.matrix.impl.tracing.setupTracing +import io.element.android.libraries.matrix.api.tracing.TracingConfigurations import kotlinx.coroutines.CoroutineName import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.MainScope diff --git a/settings.gradle.kts b/settings.gradle.kts index e1be2fdb39..2e5312a9f4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -39,7 +39,9 @@ rootProject.name = "ElementX" include(":app") include(":libraries:core") include(":libraries:rustsdk") -include(":libraries:matrix") +include(":libraries:matrix:api") +include(":libraries:matrix:impl") +include(":libraries:matrix:test") include(":libraries:matrixui") include(":libraries:textcomposer") include(":libraries:dateformatter") @@ -59,7 +61,6 @@ include(":tests:uitests") include(":anvilannotations") include(":anvilcodegen") include(":libraries:architecture") -include(":libraries:matrixtest") include(":features:template") include(":libraries:androidutils") include(":samples:minimal")