diff --git a/app/src/main/java/com/anytypeio/anytype/di/main/DataModule.kt b/app/src/main/java/com/anytypeio/anytype/di/main/DataModule.kt index 7557e15dcf..542641b36f 100644 --- a/app/src/main/java/com/anytypeio/anytype/di/main/DataModule.kt +++ b/app/src/main/java/com/anytypeio/anytype/di/main/DataModule.kt @@ -4,7 +4,9 @@ import android.content.Context import android.content.SharedPreferences import androidx.security.crypto.EncryptedSharedPreferences import androidx.security.crypto.MasterKeys -import com.anytypeio.anytype.data.auth.config.FlavourConfigMemoryCache +import com.anytypeio.anytype.BuildConfig +import com.anytypeio.anytype.data.auth.config.DefaultFlavourConfigProvider +import com.anytypeio.anytype.data.auth.config.ExperimentalFlavourConfigProvider import com.anytypeio.anytype.data.auth.repo.* import com.anytypeio.anytype.data.auth.repo.block.BlockDataRepository import com.anytypeio.anytype.data.auth.repo.block.BlockDataStoreFactory @@ -235,5 +237,10 @@ object DataModule { @JvmStatic @Provides @Singleton - fun provideFlavourConfigProvider(): FlavourConfigProvider = FlavourConfigMemoryCache() + fun provideFlavourConfigProvider(): FlavourConfigProvider { + return if (BuildConfig.FLAVOR == "experimental") + ExperimentalFlavourConfigProvider() + else + DefaultFlavourConfigProvider() + } } \ No newline at end of file diff --git a/data/src/main/java/com/anytypeio/anytype/data/auth/config/FlavourConfigMemoryCache.kt b/data/src/main/java/com/anytypeio/anytype/data/auth/config/DefaultFlavourConfigProvider.kt similarity index 52% rename from data/src/main/java/com/anytypeio/anytype/data/auth/config/FlavourConfigMemoryCache.kt rename to data/src/main/java/com/anytypeio/anytype/data/auth/config/DefaultFlavourConfigProvider.kt index 76ea7bfce3..80df25a18a 100644 --- a/data/src/main/java/com/anytypeio/anytype/data/auth/config/FlavourConfigMemoryCache.kt +++ b/data/src/main/java/com/anytypeio/anytype/data/auth/config/DefaultFlavourConfigProvider.kt @@ -3,7 +3,10 @@ package com.anytypeio.anytype.data.auth.config import com.anytypeio.anytype.core_models.FlavourConfig import com.anytypeio.anytype.domain.config.FlavourConfigProvider -class FlavourConfigMemoryCache : FlavourConfigProvider { +/** + * Flavour-config provider for real-world application. + */ +class DefaultFlavourConfigProvider : FlavourConfigProvider { private var config: FlavourConfig = FlavourConfig( enableDataView = false, @@ -20,4 +23,22 @@ class FlavourConfigMemoryCache : FlavourConfigProvider { enableChannelSwitch = enableChannelSwitch ) } +} + +/** + * Flavour-config provider mostly for development purposes. + */ +class ExperimentalFlavourConfigProvider : FlavourConfigProvider { + + private var config: FlavourConfig = FlavourConfig( + enableDataView = true, + enableDebug = true, + enableChannelSwitch = true + ) + + override fun get(): FlavourConfig = config + + override fun set(enableDataView: Boolean, enableDebug: Boolean, enableChannelSwitch: Boolean) { + // Ignoring real config. + } } \ No newline at end of file