Improve API and documentation

This commit is contained in:
Benoit Marty 2025-10-21 11:53:36 +02:00
parent 0f3858649c
commit 64b5b53510
9 changed files with 22 additions and 15 deletions

View file

@ -38,6 +38,7 @@ import io.element.android.libraries.core.meta.BuildType
import io.element.android.libraries.featureflag.api.FeatureFlagService
import io.element.android.libraries.featureflag.api.FeatureFlags
import io.element.android.libraries.featureflag.ui.model.FeatureUiModel
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.preferences.api.store.AppPreferencesStore
import kotlinx.collections.immutable.ImmutableList
import kotlinx.collections.immutable.persistentListOf
@ -50,6 +51,7 @@ import java.net.URL
@Inject
class DeveloperSettingsPresenter(
private val sessionId: SessionId,
private val featureFlagService: FeatureFlagService,
private val computeCacheSizeUseCase: ComputeCacheSizeUseCase,
private val clearCacheUseCase: ClearCacheUseCase,
@ -138,7 +140,7 @@ class DeveloperSettingsPresenter(
is DeveloperSettingsEvents.ChangeBrandColor -> coroutineScope.launch {
showColorPicker = false
val color = event.color?.value?.toHexString(HexFormat.UpperCase)?.substring(2, 8)
enterpriseService.overrideBrandColor(color)
enterpriseService.overrideBrandColor(sessionId, color)
}
is DeveloperSettingsEvents.SetShowColorPicker -> {
showColorPicker = event.show

View file

@ -25,6 +25,8 @@ import io.element.android.libraries.featureflag.api.Feature
import io.element.android.libraries.featureflag.api.FeatureFlags
import io.element.android.libraries.featureflag.test.FakeFeature
import io.element.android.libraries.featureflag.test.FakeFeatureFlagService
import io.element.android.libraries.matrix.api.core.SessionId
import io.element.android.libraries.matrix.test.A_SESSION_ID
import io.element.android.libraries.matrix.test.core.aBuildMeta
import io.element.android.libraries.preferences.test.InMemoryAppPreferencesStore
import io.element.android.tests.testutils.WarmUpRule
@ -184,7 +186,7 @@ class DeveloperSettingsPresenterTest {
@Test
fun `present - enterprise build can change the brand color`() = runTest {
val overrideBrandColorResult = lambdaRecorder<String?, Unit> { }
val overrideBrandColorResult = lambdaRecorder<SessionId?, String?, Unit> { _, _ -> }
val presenter = createDeveloperSettingsPresenter(
enterpriseService = FakeEnterpriseService(
isEnterpriseBuild = true,
@ -205,11 +207,12 @@ class DeveloperSettingsPresenterTest {
assertThat(awaitItem().showColorPicker).isFalse()
skipItems(1)
overrideBrandColorResult.assertions().isCalledOnce()
.with(value("00FF00"))
.with(value(A_SESSION_ID), value("00FF00"))
}
}
private fun createDeveloperSettingsPresenter(
sessionId: SessionId = A_SESSION_ID,
featureFlagService: FakeFeatureFlagService = FakeFeatureFlagService(
getAvailableFeaturesResult = { _, _ ->
listOf(
@ -228,6 +231,7 @@ class DeveloperSettingsPresenterTest {
enterpriseService: EnterpriseService = FakeEnterpriseService(),
): DeveloperSettingsPresenter {
return DeveloperSettingsPresenter(
sessionId = sessionId,
featureFlagService = featureFlagService,
computeCacheSizeUseCase = cacheSizeUseCase,
clearCacheUseCase = clearCacheUseCase,