improve config loading

This commit is contained in:
Phillip Thelen 2024-06-10 16:47:00 +02:00
parent 07db8671b3
commit 85a119f2b5
2 changed files with 26 additions and 9 deletions

View file

@ -23,7 +23,10 @@ import androidx.lifecycle.ProcessLifecycleOwner
import androidx.preference.PreferenceManager
import com.google.android.gms.wearable.Wearable
import com.google.firebase.installations.FirebaseInstallations
import com.google.firebase.remoteconfig.ConfigUpdate
import com.google.firebase.remoteconfig.ConfigUpdateListener
import com.google.firebase.remoteconfig.FirebaseRemoteConfig
import com.google.firebase.remoteconfig.FirebaseRemoteConfigException
import com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings
import com.gu.toolargetool.TooLargeTool
import com.habitrpg.android.habitica.data.ApiClient
@ -252,6 +255,15 @@ abstract class HabiticaBaseApplication : Application(), Application.ActivityLife
remoteConfig.setConfigSettingsAsync(configSettings)
remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)
remoteConfig.fetchAndActivate()
remoteConfig.addOnConfigUpdateListener(object : ConfigUpdateListener {
override fun onUpdate(configUpdate: ConfigUpdate) {
remoteConfig.activate()
}
override fun onError(error: FirebaseRemoteConfigException) {
}
})
}
private fun setupNotifications() {

View file

@ -445,15 +445,15 @@ class NavigationDrawerFragment : DialogFragment() {
context.getString(R.string.questShop),
),
)
if (configManager.enableCustomizationShop()) {
items.add(
HabiticaDrawerItem(
R.id.customizationsShopFragment,
SIDEBAR_SHOPS_CUSTOMIZATIONS,
context.getString(R.string.customizations),
),
)
}
val customizationShopItem = HabiticaDrawerItem(
R.id.customizationsShopFragment,
SIDEBAR_SHOPS_CUSTOMIZATIONS,
context.getString(R.string.customizations),
)
customizationShopItem.isVisible = configManager.enableCustomizationShop()
items.add(
customizationShopItem
)
val seasonalShopEntry =
HabiticaDrawerItem(
R.id.seasonalShopFragment,
@ -589,6 +589,11 @@ class NavigationDrawerFragment : DialogFragment() {
adapter.updateItems(items)
}
override fun onResume() {
super.onResume()
getItemWithIdentifier(SIDEBAR_SHOPS_CUSTOMIZATIONS)?.isVisible = configManager.enableCustomizationShop()
}
fun setSelection(
transitionId: Int?,
bundle: Bundle? = null,