mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 13:57:10 +09:00
Tech | Experimental flavour config provider (#1680)
This commit is contained in:
parent
898d17f960
commit
2580f179dc
2 changed files with 31 additions and 3 deletions
|
@ -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()
|
||||
}
|
||||
}
|
|
@ -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.
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue