From 69c0a3b6beb711ffc9fd7ce8452e0d15112731ea Mon Sep 17 00:00:00 2001 From: Jorge Martin Espinosa Date: Mon, 30 Oct 2023 12:33:22 +0100 Subject: [PATCH] Enable Element Call integration in rooms by default (#1685) Also change base url to `call.element.dev`. --- .../io/element/android/appconfig/ElementCallConfig.kt | 2 +- changelog.d/+enable-element-call.feature | 1 + .../impl/advanced/AdvancedSettingsPresenter.kt | 2 +- .../impl/advanced/AdvancedSettingsPresenterTest.kt | 9 ++++----- .../android/libraries/featureflag/api/FeatureFlags.kt | 2 +- .../featureflag/impl/StaticFeatureFlagProvider.kt | 2 +- .../libraries/featureflag/test/FakeFeatureFlagService.kt | 2 +- 7 files changed, 10 insertions(+), 10 deletions(-) create mode 100644 changelog.d/+enable-element-call.feature diff --git a/appconfig/src/main/kotlin/io/element/android/appconfig/ElementCallConfig.kt b/appconfig/src/main/kotlin/io/element/android/appconfig/ElementCallConfig.kt index bbd9f62689..4182c32a42 100644 --- a/appconfig/src/main/kotlin/io/element/android/appconfig/ElementCallConfig.kt +++ b/appconfig/src/main/kotlin/io/element/android/appconfig/ElementCallConfig.kt @@ -17,5 +17,5 @@ package io.element.android.appconfig object ElementCallConfig { - const val DEFAULT_BASE_URL = "https://call.element.io" + const val DEFAULT_BASE_URL = "https://call.element.dev" } diff --git a/changelog.d/+enable-element-call.feature b/changelog.d/+enable-element-call.feature new file mode 100644 index 0000000000..6bee5170b2 --- /dev/null +++ b/changelog.d/+enable-element-call.feature @@ -0,0 +1 @@ +Enable Element Call integration in rooms by default. diff --git a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenter.kt b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenter.kt index 6359b34d0f..4bb5abfa19 100644 --- a/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenter.kt +++ b/features/preferences/impl/src/main/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenter.kt @@ -82,7 +82,7 @@ class AdvancedSettingsPresenter @Inject constructor( validator = ::customElementCallUrlValidator, ) } else null, - eventSink = ::handleEvents + eventSink = { handleEvents(it) } ) } diff --git a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenterTest.kt b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenterTest.kt index 11c79657ce..ec49d57fb9 100644 --- a/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenterTest.kt +++ b/features/preferences/impl/src/test/kotlin/io/element/android/features/preferences/impl/advanced/AdvancedSettingsPresenterTest.kt @@ -44,6 +44,7 @@ class AdvancedSettingsPresenterTest { val initialState = awaitItem() assertThat(initialState.isDeveloperModeEnabled).isFalse() assertThat(initialState.isRichTextEditorEnabled).isFalse() + assertThat(initialState.customElementCallBaseUrlState).isNull() } } @@ -99,9 +100,7 @@ class AdvancedSettingsPresenterTest { @Test fun `present - custom element call base url`() = runTest { val store = InMemoryPreferencesStore() - val featureFlagService = FakeFeatureFlagService().apply { - setFeatureEnabled(FeatureFlags.InRoomCalls, true) - } + val featureFlagService = FakeFeatureFlagService(initialState = hashMapOf(FeatureFlags.InRoomCalls.key to true)) val presenter = AdvancedSettingsPresenter(store, featureFlagService) moleculeFlow(RecompositionMode.Immediate) { presenter.present() @@ -113,9 +112,9 @@ class AdvancedSettingsPresenterTest { assertThat(initialState.customElementCallBaseUrlState).isNotNull() assertThat(initialState.customElementCallBaseUrlState?.baseUrl).isNull() - initialState.eventSink(AdvancedSettingsEvents.SetCustomElementCallBaseUrl("https://call.element.dev")) + initialState.eventSink(AdvancedSettingsEvents.SetCustomElementCallBaseUrl("https://call.element.ahoy")) val updatedItem = awaitItem() - assertThat(updatedItem.customElementCallBaseUrlState?.baseUrl).isEqualTo("https://call.element.dev") + assertThat(updatedItem.customElementCallBaseUrlState?.baseUrl).isEqualTo("https://call.element.ahoy") } } diff --git a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt index 22daf73d69..f7dad97490 100644 --- a/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt +++ b/libraries/featureflag/api/src/main/kotlin/io/element/android/libraries/featureflag/api/FeatureFlags.kt @@ -59,7 +59,7 @@ enum class FeatureFlags( key = "feature.elementcall", title = "Element call in rooms", description = "Allow user to start or join a call in a room", - defaultValue = false, + defaultValue = true, ), Mentions( key = "feature.mentions", diff --git a/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/StaticFeatureFlagProvider.kt b/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/StaticFeatureFlagProvider.kt index 27ce0911d4..82471c5983 100644 --- a/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/StaticFeatureFlagProvider.kt +++ b/libraries/featureflag/impl/src/main/kotlin/io/element/android/libraries/featureflag/impl/StaticFeatureFlagProvider.kt @@ -37,7 +37,7 @@ class StaticFeatureFlagProvider @Inject constructor() : FeatureFlags.NotificationSettings -> true FeatureFlags.VoiceMessages -> true FeatureFlags.PinUnlock -> false - FeatureFlags.InRoomCalls -> false + FeatureFlags.InRoomCalls -> true FeatureFlags.Mentions -> false } } else { diff --git a/libraries/featureflag/test/src/main/java/io/element/android/libraries/featureflag/test/FakeFeatureFlagService.kt b/libraries/featureflag/test/src/main/java/io/element/android/libraries/featureflag/test/FakeFeatureFlagService.kt index 548ffa7cc4..9c86bad752 100644 --- a/libraries/featureflag/test/src/main/java/io/element/android/libraries/featureflag/test/FakeFeatureFlagService.kt +++ b/libraries/featureflag/test/src/main/java/io/element/android/libraries/featureflag/test/FakeFeatureFlagService.kt @@ -31,6 +31,6 @@ class FakeFeatureFlagService( } override suspend fun isFeatureEnabled(feature: Feature): Boolean { - return enabledFeatures[feature.key] ?: feature.defaultValue + return enabledFeatures[feature.key] ?: false } }