From a586299900ecf789903cb58756db0fcc106989bf Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Wed, 29 Oct 2025 11:45:50 +0100 Subject: [PATCH] Ensure the color has a `#` prefix. --- .../impl/developer/DeveloperSettingsPresenter.kt | 7 ++++++- .../impl/developer/DeveloperSettingsPresenterTest.kt | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt index 1b45c41d57..52e522dc89 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenter.kt @@ -21,6 +21,7 @@ import androidx.compose.runtime.remember import androidx.compose.runtime.rememberCoroutineScope import androidx.compose.runtime.setValue import androidx.compose.runtime.snapshots.SnapshotStateList +import androidx.compose.ui.graphics.toArgb import dev.zacsweers.metro.Inject import io.element.android.features.enterprise.api.EnterpriseService import io.element.android.features.preferences.impl.developer.tracing.toLogLevel @@ -140,7 +141,11 @@ class DeveloperSettingsPresenter( } is DeveloperSettingsEvents.ChangeBrandColor -> coroutineScope.launch { showColorPicker = false - val color = event.color?.value?.toHexString(HexFormat.UpperCase)?.substring(2, 8) + val color = event.color + ?.toArgb() + ?.toHexString(HexFormat.UpperCase) + ?.substring(2, 8) + ?.padStart(7, '#') enterpriseService.overrideBrandColor(sessionId, color) } is DeveloperSettingsEvents.SetShowColorPicker -> { diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt index 19bc272e74..fe2d8445fd 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/developer/DeveloperSettingsPresenterTest.kt @@ -208,7 +208,7 @@ class DeveloperSettingsPresenterTest { assertThat(awaitItem().showColorPicker).isFalse() skipItems(1) overrideBrandColorResult.assertions().isCalledOnce() - .with(value(A_SESSION_ID), value("00FF00")) + .with(value(A_SESSION_ID), value("#00FF00")) } }