diff --git a/app/build.gradle b/app/build.gradle index 433a84d15c..c5b70f368e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,6 +40,7 @@ android { initWith debug versionNameSuffix "-beta" applicationIdSuffix ".debug" + buildConfigField 'String', 'CONFIG_ENVIRONMENT', '\"prod\"' } } kotlinOptions { diff --git a/app/src/main/java/com/tangem/tap/TapApplication.kt b/app/src/main/java/com/tangem/tap/TapApplication.kt index 5e43828af0..cf26114c15 100644 --- a/app/src/main/java/com/tangem/tap/TapApplication.kt +++ b/app/src/main/java/com/tangem/tap/TapApplication.kt @@ -1,13 +1,11 @@ package com.tangem.tap import android.app.Application -import com.google.firebase.ktx.Firebase -import com.google.firebase.remoteconfig.ktx.remoteConfig -import com.google.firebase.remoteconfig.ktx.remoteConfigSettings import com.tangem.tap.common.images.PicassoHelper import com.tangem.tap.common.redux.AppState import com.tangem.tap.common.redux.appReducer import com.tangem.tap.common.redux.global.GlobalAction +import com.tangem.tap.domain.config.ConfigLoader import com.tangem.tap.domain.config.ConfigManager import com.tangem.tap.domain.config.LocalLoader import com.tangem.tap.domain.config.RemoteLoader @@ -29,17 +27,9 @@ class TapApplication : Application() { override fun onCreate() { super.onCreate() - if (BuildConfig.DEBUG) { - Timber.plant(Timber.DebugTree()) - Firebase.remoteConfig.setConfigSettingsAsync(remoteConfigSettings { - this.minimumFetchIntervalInSeconds = 60 - }) - } else { - Firebase.remoteConfig.setConfigSettingsAsync(remoteConfigSettings { - this.minimumFetchIntervalInSeconds = 3600 - }) - } + if (BuildConfig.DEBUG) Timber.plant(Timber.DebugTree()) + ConfigLoader.init() NetworkConnectivity.createInstance(store, this) preferencesStorage = PreferencesStorage(this) PicassoHelper.initPicassoWithCaching(this) diff --git a/app/src/main/java/com/tangem/tap/domain/config/ConfigLoader.kt b/app/src/main/java/com/tangem/tap/domain/config/ConfigLoader.kt index 738f7fd99f..2e90f4cb16 100644 --- a/app/src/main/java/com/tangem/tap/domain/config/ConfigLoader.kt +++ b/app/src/main/java/com/tangem/tap/domain/config/ConfigLoader.kt @@ -3,6 +3,7 @@ package com.tangem.tap.domain.config import android.content.Context import com.google.firebase.ktx.Firebase import com.google.firebase.remoteconfig.ktx.remoteConfig +import com.google.firebase.remoteconfig.ktx.remoteConfigSettings import com.squareup.moshi.JsonAdapter import com.squareup.moshi.Moshi import com.tangem.tap.common.analytics.FirebaseAnalyticsHandler @@ -18,13 +19,25 @@ interface ConfigLoader { companion object { const val featuresName = "features_${BuildConfig.CONFIG_ENVIRONMENT}" const val configValuesName = "config_${BuildConfig.CONFIG_ENVIRONMENT}" + + fun init() { + if (BuildConfig.CONFIG_ENVIRONMENT == "prod") { + Firebase.remoteConfig.setConfigSettingsAsync(remoteConfigSettings { + this.minimumFetchIntervalInSeconds = 1200 + }) + } else { + Firebase.remoteConfig.setConfigSettingsAsync(remoteConfigSettings { + this.minimumFetchIntervalInSeconds = 60 + }) + } + } } } class LocalLoader( private val context: Context, - private val moshi: Moshi + private val moshi: Moshi, ) : ConfigLoader { override fun loadConfig(onComplete: (ConfigModel) -> Unit) { @@ -49,7 +62,7 @@ class LocalLoader( } class RemoteLoader( - private val moshi: Moshi + private val moshi: Moshi, ) : ConfigLoader { override fun loadConfig(onComplete: (ConfigModel) -> Unit) {