Browse Source

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

Fix building the app using a local SDK.
pull/3607/head
Benoit Marty 2 weeks ago committed by GitHub
parent
commit
05a6a3b3ce
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 2
      app/build.gradle.kts
  2. 5
      libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt
  3. 3
      libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTracker.kt
  4. 3
      samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt

2
app/build.gradle.kts

@ -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)

5
libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClientFactory.kt

@ -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()

3
libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/analytics/UtdTracker.kt

@ -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) {

3
samples/minimal/src/main/kotlin/io/element/android/samples/minimal/MainActivity.kt

@ -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(),

Loading…
Cancel
Save