Updated on 2026-08-14

This commit is contained in:
Tangem 2021-01-14 13:03:11 +00:00
commit d6433163bf
3 changed files with 19 additions and 15 deletions

View file

@ -40,6 +40,7 @@ android {
initWith debug
versionNameSuffix "-beta"
applicationIdSuffix ".debug"
buildConfigField 'String', 'CONFIG_ENVIRONMENT', '\"prod\"'
}
}
kotlinOptions {

View file

@ -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)

View file

@ -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) {