Commit a94bc89a by Demid Merzlyakov

IOS-155: Subscriptions control via config - missing parts.

parent 280006fc
......@@ -221,6 +221,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
break // config only
case .shortsLastNudge:
break // config only
case .subscription:
break // configOnly
case .subscriptionForPro:
availabilityCheckers[feature] = premium
}
}
......
......@@ -48,7 +48,7 @@ public class ConfigManager {
.attPrompt: false,
.shortsLastNudge: false,
.onboarding: false
]
], subscriptionsConfig: SubscriptionsListConfig()
)
public func updateConfig() {
......@@ -114,6 +114,7 @@ public class ConfigManager {
var popularCities: [GeoNamesPlace]? = nil
do {
let decoder = JSONDecoder()
let popularCitiesData = remoteConfig.configValue(forKey: ConfigManager.popularCitiesConfigKey).dataValue
popularCities = try decoder.decode([GeoNamesPlace].self, from: popularCitiesData)
}
......@@ -160,7 +161,7 @@ public class ConfigManager {
shortsLeftBelowCountKey: shortsLeftBelowCount,
shortsSwipeUpNudgeCountKey: shortsSwipeNudgeCount,
explicitFeatureAvailability: featureAvailability,
subscriptionConfig: subscriptionsConfig
subscriptionsConfig: subscriptionsConfig
)
self.notifyAboutConfigUpdate()
DispatchQueue.global().async {
......@@ -194,7 +195,7 @@ fileprivate extension AppFeature {
return "shorts_swipe_down_nudge_enabled"
case .onboarding:
return "ios_show_onboarding"
case .ads, .airQualityIndex, .minutelyForecast, .shorts, case .subscription, .subscriptionForPro:
case .ads, .airQualityIndex, .minutelyForecast, .shorts, .subscription, .subscriptionForPro:
return nil
// don't use 'default', so that we didn't add new features here in the future.
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment