Merge pull request #3604 from element-hq/feature/bma/fixBuildWithLocalSdk

Fix building the app using a local SDK.
This commit is contained in:
Benoit Marty 2024-10-04 15:02:25 +02:00 committed by GitHub
commit b5eb7c4603
4 changed files with 5 additions and 8 deletions

View file

@ -275,8 +275,6 @@ dependencies {
implementation(libs.serialization.json) implementation(libs.serialization.json)
implementation(libs.matrix.emojibase.bindings) implementation(libs.matrix.emojibase.bindings)
// Needed for UtdTracker
implementation(libs.matrix.sdk)
testImplementation(libs.test.junit) testImplementation(libs.test.junit)
testImplementation(libs.test.robolectric) testImplementation(libs.test.robolectric)

View file

@ -21,6 +21,7 @@ import io.element.android.libraries.matrix.impl.util.anonymizedTokens
import io.element.android.libraries.network.useragent.UserAgentProvider import io.element.android.libraries.network.useragent.UserAgentProvider
import io.element.android.libraries.sessionstorage.api.SessionData import io.element.android.libraries.sessionstorage.api.SessionData
import io.element.android.libraries.sessionstorage.api.SessionStore import io.element.android.libraries.sessionstorage.api.SessionStore
import io.element.android.services.analytics.api.AnalyticsService
import io.element.android.services.toolbox.api.systemclock.SystemClock import io.element.android.services.toolbox.api.systemclock.SystemClock
import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
@ -44,7 +45,7 @@ class RustMatrixClientFactory @Inject constructor(
private val userCertificatesProvider: UserCertificatesProvider, private val userCertificatesProvider: UserCertificatesProvider,
private val proxyProvider: ProxyProvider, private val proxyProvider: ProxyProvider,
private val clock: SystemClock, private val clock: SystemClock,
private val utdTracker: UtdTracker, private val analyticsService: AnalyticsService,
private val featureFlagService: FeatureFlagService, private val featureFlagService: FeatureFlagService,
private val timelineEventTypeFilterFactory: TimelineEventTypeFilterFactory, private val timelineEventTypeFilterFactory: TimelineEventTypeFilterFactory,
private val clientBuilderProvider: ClientBuilderProvider, private val clientBuilderProvider: ClientBuilderProvider,
@ -64,7 +65,7 @@ class RustMatrixClientFactory @Inject constructor(
client.restoreSession(sessionData.toSession()) client.restoreSession(sessionData.toSession())
val syncService = client.syncService() val syncService = client.syncService()
.withUtdHook(utdTracker) .withUtdHook(UtdTracker(analyticsService))
.finish() .finish()
val (anonymizedAccessToken, anonymizedRefreshToken) = sessionData.anonymizedTokens() val (anonymizedAccessToken, anonymizedRefreshToken) = sessionData.anonymizedTokens()

View file

@ -13,9 +13,8 @@ import org.matrix.rustcomponents.sdk.UnableToDecryptDelegate
import org.matrix.rustcomponents.sdk.UnableToDecryptInfo import org.matrix.rustcomponents.sdk.UnableToDecryptInfo
import timber.log.Timber import timber.log.Timber
import uniffi.matrix_sdk_crypto.UtdCause import uniffi.matrix_sdk_crypto.UtdCause
import javax.inject.Inject
class UtdTracker @Inject constructor( class UtdTracker(
private val analyticsService: AnalyticsService, private val analyticsService: AnalyticsService,
) : UnableToDecryptDelegate { ) : UnableToDecryptDelegate {
override fun onUtd(info: UnableToDecryptInfo) { override fun onUtd(info: UnableToDecryptInfo) {

View file

@ -21,7 +21,6 @@ import io.element.android.compound.theme.ElementTheme
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
import io.element.android.libraries.matrix.impl.RustClientBuilderProvider import io.element.android.libraries.matrix.impl.RustClientBuilderProvider
import io.element.android.libraries.matrix.impl.RustMatrixClientFactory import io.element.android.libraries.matrix.impl.RustMatrixClientFactory
import io.element.android.libraries.matrix.impl.analytics.UtdTracker
import io.element.android.libraries.matrix.impl.auth.OidcConfigurationProvider import io.element.android.libraries.matrix.impl.auth.OidcConfigurationProvider
import io.element.android.libraries.matrix.impl.auth.RustMatrixAuthenticationService import io.element.android.libraries.matrix.impl.auth.RustMatrixAuthenticationService
import io.element.android.libraries.matrix.impl.paths.SessionPathsFactory import io.element.android.libraries.matrix.impl.paths.SessionPathsFactory
@ -56,7 +55,7 @@ class MainActivity : ComponentActivity() {
userCertificatesProvider = userCertificatesProvider, userCertificatesProvider = userCertificatesProvider,
proxyProvider = proxyProvider, proxyProvider = proxyProvider,
clock = DefaultSystemClock(), clock = DefaultSystemClock(),
utdTracker = UtdTracker(NoopAnalyticsService()), analyticsService = NoopAnalyticsService(),
featureFlagService = AlwaysEnabledFeatureFlagService(), featureFlagService = AlwaysEnabledFeatureFlagService(),
timelineEventTypeFilterFactory = RustTimelineEventTypeFilterFactory(), timelineEventTypeFilterFactory = RustTimelineEventTypeFilterFactory(),
clientBuilderProvider = RustClientBuilderProvider(), clientBuilderProvider = RustClientBuilderProvider(),