Remove FeatureFlag.QrCodeLogin
This commit is contained in:
parent
fe8009e6bf
commit
c42ae056f2
4 changed files with 1 additions and 35 deletions
|
|
@ -8,9 +8,6 @@
|
||||||
package io.element.android.appconfig
|
package io.element.android.appconfig
|
||||||
|
|
||||||
object OnBoardingConfig {
|
object OnBoardingConfig {
|
||||||
/** Whether the user can use QR code login. */
|
|
||||||
const val CAN_LOGIN_WITH_QR_CODE = true
|
|
||||||
|
|
||||||
/** Whether the user can create an account using the app. */
|
/** Whether the user can create an account using the app. */
|
||||||
const val CAN_CREATE_ACCOUNT = true
|
const val CAN_CREATE_ACCOUNT = true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -27,14 +27,11 @@ import io.element.android.features.login.impl.login.LoginHelper
|
||||||
import io.element.android.features.rageshake.api.RageshakeFeatureAvailability
|
import io.element.android.features.rageshake.api.RageshakeFeatureAvailability
|
||||||
import io.element.android.libraries.architecture.Presenter
|
import io.element.android.libraries.architecture.Presenter
|
||||||
import io.element.android.libraries.core.meta.BuildMeta
|
import io.element.android.libraries.core.meta.BuildMeta
|
||||||
import io.element.android.libraries.featureflag.api.FeatureFlagService
|
|
||||||
import io.element.android.libraries.featureflag.api.FeatureFlags
|
|
||||||
import io.element.android.libraries.ui.utils.MultipleTapToUnlock
|
import io.element.android.libraries.ui.utils.MultipleTapToUnlock
|
||||||
|
|
||||||
class OnBoardingPresenter @AssistedInject constructor(
|
class OnBoardingPresenter @AssistedInject constructor(
|
||||||
@Assisted private val params: OnBoardingNode.Params,
|
@Assisted private val params: OnBoardingNode.Params,
|
||||||
private val buildMeta: BuildMeta,
|
private val buildMeta: BuildMeta,
|
||||||
private val featureFlagService: FeatureFlagService,
|
|
||||||
private val enterpriseService: EnterpriseService,
|
private val enterpriseService: EnterpriseService,
|
||||||
private val defaultAccountProviderAccessControl: DefaultAccountProviderAccessControl,
|
private val defaultAccountProviderAccessControl: DefaultAccountProviderAccessControl,
|
||||||
private val rageshakeFeatureAvailability: RageshakeFeatureAvailability,
|
private val rageshakeFeatureAvailability: RageshakeFeatureAvailability,
|
||||||
|
|
@ -80,8 +77,7 @@ class OnBoardingPresenter @AssistedInject constructor(
|
||||||
forcedAccountProvider ?: linkAccountProvider
|
forcedAccountProvider ?: linkAccountProvider
|
||||||
}
|
}
|
||||||
val canLoginWithQrCode by produceState(initialValue = false, linkAccountProvider) {
|
val canLoginWithQrCode by produceState(initialValue = false, linkAccountProvider) {
|
||||||
value = linkAccountProvider == null &&
|
value = linkAccountProvider == null
|
||||||
featureFlagService.isFeatureEnabled(FeatureFlags.QrCodeLogin)
|
|
||||||
}
|
}
|
||||||
val canReportBug by remember { rageshakeFeatureAvailability.isAvailable() }.collectAsState(false)
|
val canReportBug by remember { rageshakeFeatureAvailability.isAvailable() }.collectAsState(false)
|
||||||
var showReportBug by rememberSaveable { mutableStateOf(false) }
|
var showReportBug by rememberSaveable { mutableStateOf(false) }
|
||||||
|
|
|
||||||
|
|
@ -19,9 +19,6 @@ import io.element.android.features.login.impl.web.WebClientUrlForAuthenticationR
|
||||||
import io.element.android.features.wellknown.test.FakeWellknownRetriever
|
import io.element.android.features.wellknown.test.FakeWellknownRetriever
|
||||||
import io.element.android.libraries.architecture.AsyncData
|
import io.element.android.libraries.architecture.AsyncData
|
||||||
import io.element.android.libraries.core.meta.BuildMeta
|
import io.element.android.libraries.core.meta.BuildMeta
|
||||||
import io.element.android.libraries.featureflag.api.FeatureFlagService
|
|
||||||
import io.element.android.libraries.featureflag.api.FeatureFlags
|
|
||||||
import io.element.android.libraries.featureflag.test.FakeFeatureFlagService
|
|
||||||
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
|
import io.element.android.libraries.matrix.api.auth.MatrixAuthenticationService
|
||||||
import io.element.android.libraries.matrix.test.AN_ACCOUNT_PROVIDER
|
import io.element.android.libraries.matrix.test.AN_ACCOUNT_PROVIDER
|
||||||
import io.element.android.libraries.matrix.test.AN_ACCOUNT_PROVIDER_2
|
import io.element.android.libraries.matrix.test.AN_ACCOUNT_PROVIDER_2
|
||||||
|
|
@ -70,13 +67,8 @@ class OnBoardingPresenterTest {
|
||||||
productionApplicationName = "B",
|
productionApplicationName = "B",
|
||||||
desktopApplicationName = "C",
|
desktopApplicationName = "C",
|
||||||
)
|
)
|
||||||
val featureFlagService = FakeFeatureFlagService(
|
|
||||||
initialState = mapOf(FeatureFlags.QrCodeLogin.key to true),
|
|
||||||
buildMeta = buildMeta,
|
|
||||||
)
|
|
||||||
val presenter = createPresenter(
|
val presenter = createPresenter(
|
||||||
buildMeta = buildMeta,
|
buildMeta = buildMeta,
|
||||||
featureFlagService = featureFlagService,
|
|
||||||
enterpriseService = FakeEnterpriseService(
|
enterpriseService = FakeEnterpriseService(
|
||||||
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG, EnterpriseService.ANY_ACCOUNT_PROVIDER) },
|
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG, EnterpriseService.ANY_ACCOUNT_PROVIDER) },
|
||||||
),
|
),
|
||||||
|
|
@ -131,9 +123,6 @@ class OnBoardingPresenterTest {
|
||||||
accountProvider = ACCOUNT_PROVIDER_FROM_LINK,
|
accountProvider = ACCOUNT_PROVIDER_FROM_LINK,
|
||||||
loginHint = null,
|
loginHint = null,
|
||||||
),
|
),
|
||||||
featureFlagService = FakeFeatureFlagService(
|
|
||||||
initialState = mapOf(FeatureFlags.QrCodeLogin.key to true),
|
|
||||||
),
|
|
||||||
enterpriseService = FakeEnterpriseService(
|
enterpriseService = FakeEnterpriseService(
|
||||||
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG, EnterpriseService.ANY_ACCOUNT_PROVIDER) },
|
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG, EnterpriseService.ANY_ACCOUNT_PROVIDER) },
|
||||||
isAllowedToConnectToHomeserverResult = { true },
|
isAllowedToConnectToHomeserverResult = { true },
|
||||||
|
|
@ -156,9 +145,6 @@ class OnBoardingPresenterTest {
|
||||||
accountProvider = ACCOUNT_PROVIDER_FROM_LINK,
|
accountProvider = ACCOUNT_PROVIDER_FROM_LINK,
|
||||||
loginHint = null,
|
loginHint = null,
|
||||||
),
|
),
|
||||||
featureFlagService = FakeFeatureFlagService(
|
|
||||||
initialState = mapOf(FeatureFlags.QrCodeLogin.key to true),
|
|
||||||
),
|
|
||||||
enterpriseService = FakeEnterpriseService(
|
enterpriseService = FakeEnterpriseService(
|
||||||
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG, ACCOUNT_PROVIDER_FROM_CONFIG_2) },
|
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG, ACCOUNT_PROVIDER_FROM_CONFIG_2) },
|
||||||
isAllowedToConnectToHomeserverResult = { false },
|
isAllowedToConnectToHomeserverResult = { false },
|
||||||
|
|
@ -181,9 +167,6 @@ class OnBoardingPresenterTest {
|
||||||
accountProvider = ACCOUNT_PROVIDER_FROM_LINK,
|
accountProvider = ACCOUNT_PROVIDER_FROM_LINK,
|
||||||
loginHint = null,
|
loginHint = null,
|
||||||
),
|
),
|
||||||
featureFlagService = FakeFeatureFlagService(
|
|
||||||
initialState = mapOf(FeatureFlags.QrCodeLogin.key to true),
|
|
||||||
),
|
|
||||||
enterpriseService = FakeEnterpriseService(
|
enterpriseService = FakeEnterpriseService(
|
||||||
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG) },
|
defaultHomeserverListResult = { listOf(ACCOUNT_PROVIDER_FROM_CONFIG) },
|
||||||
)
|
)
|
||||||
|
|
@ -237,7 +220,6 @@ class OnBoardingPresenterTest {
|
||||||
private fun createPresenter(
|
private fun createPresenter(
|
||||||
params: OnBoardingNode.Params = OnBoardingNode.Params(null, null),
|
params: OnBoardingNode.Params = OnBoardingNode.Params(null, null),
|
||||||
buildMeta: BuildMeta = aBuildMeta(),
|
buildMeta: BuildMeta = aBuildMeta(),
|
||||||
featureFlagService: FeatureFlagService = FakeFeatureFlagService(),
|
|
||||||
enterpriseService: EnterpriseService = FakeEnterpriseService(),
|
enterpriseService: EnterpriseService = FakeEnterpriseService(),
|
||||||
wellknownRetriever: WellknownRetriever = FakeWellknownRetriever(),
|
wellknownRetriever: WellknownRetriever = FakeWellknownRetriever(),
|
||||||
rageshakeFeatureAvailability: () -> Flow<Boolean> = { flowOf(true) },
|
rageshakeFeatureAvailability: () -> Flow<Boolean> = { flowOf(true) },
|
||||||
|
|
@ -245,7 +227,6 @@ private fun createPresenter(
|
||||||
) = OnBoardingPresenter(
|
) = OnBoardingPresenter(
|
||||||
params = params,
|
params = params,
|
||||||
buildMeta = buildMeta,
|
buildMeta = buildMeta,
|
||||||
featureFlagService = featureFlagService,
|
|
||||||
enterpriseService = enterpriseService,
|
enterpriseService = enterpriseService,
|
||||||
defaultAccountProviderAccessControl = DefaultAccountProviderAccessControl(
|
defaultAccountProviderAccessControl = DefaultAccountProviderAccessControl(
|
||||||
enterpriseService = enterpriseService,
|
enterpriseService = enterpriseService,
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@
|
||||||
|
|
||||||
package io.element.android.libraries.featureflag.api
|
package io.element.android.libraries.featureflag.api
|
||||||
|
|
||||||
import io.element.android.appconfig.OnBoardingConfig
|
|
||||||
import io.element.android.libraries.core.meta.BuildMeta
|
import io.element.android.libraries.core.meta.BuildMeta
|
||||||
import io.element.android.libraries.core.meta.BuildType
|
import io.element.android.libraries.core.meta.BuildType
|
||||||
|
|
||||||
|
|
@ -35,13 +34,6 @@ enum class FeatureFlags(
|
||||||
defaultValue = { false },
|
defaultValue = { false },
|
||||||
isFinished = false,
|
isFinished = false,
|
||||||
),
|
),
|
||||||
QrCodeLogin(
|
|
||||||
key = "feature.qrCodeLogin",
|
|
||||||
title = "Enable login using QR code",
|
|
||||||
description = "Allow the user to login using the QR code flow",
|
|
||||||
defaultValue = { OnBoardingConfig.CAN_LOGIN_WITH_QR_CODE },
|
|
||||||
isFinished = false,
|
|
||||||
),
|
|
||||||
PinnedEvents(
|
PinnedEvents(
|
||||||
key = "feature.pinnedEvents",
|
key = "feature.pinnedEvents",
|
||||||
title = "Pinned Events",
|
title = "Pinned Events",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue