Commit a94bc89a by Demid Merzlyakov

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

parent 280006fc
...@@ -221,6 +221,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate { ...@@ -221,6 +221,10 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
break // config only break // config only
case .shortsLastNudge: case .shortsLastNudge:
break // config only break // config only
case .subscription:
break // configOnly
case .subscriptionForPro:
availabilityCheckers[feature] = premium
} }
} }
......
...@@ -48,7 +48,7 @@ public class ConfigManager { ...@@ -48,7 +48,7 @@ public class ConfigManager {
.attPrompt: false, .attPrompt: false,
.shortsLastNudge: false, .shortsLastNudge: false,
.onboarding: false .onboarding: false
] ], subscriptionsConfig: SubscriptionsListConfig()
) )
public func updateConfig() { public func updateConfig() {
...@@ -114,6 +114,7 @@ public class ConfigManager { ...@@ -114,6 +114,7 @@ public class ConfigManager {
var popularCities: [GeoNamesPlace]? = nil var popularCities: [GeoNamesPlace]? = nil
do { do {
let decoder = JSONDecoder()
let popularCitiesData = remoteConfig.configValue(forKey: ConfigManager.popularCitiesConfigKey).dataValue let popularCitiesData = remoteConfig.configValue(forKey: ConfigManager.popularCitiesConfigKey).dataValue
popularCities = try decoder.decode([GeoNamesPlace].self, from: popularCitiesData) popularCities = try decoder.decode([GeoNamesPlace].self, from: popularCitiesData)
} }
...@@ -160,7 +161,7 @@ public class ConfigManager { ...@@ -160,7 +161,7 @@ public class ConfigManager {
shortsLeftBelowCountKey: shortsLeftBelowCount, shortsLeftBelowCountKey: shortsLeftBelowCount,
shortsSwipeUpNudgeCountKey: shortsSwipeNudgeCount, shortsSwipeUpNudgeCountKey: shortsSwipeNudgeCount,
explicitFeatureAvailability: featureAvailability, explicitFeatureAvailability: featureAvailability,
subscriptionConfig: subscriptionsConfig subscriptionsConfig: subscriptionsConfig
) )
self.notifyAboutConfigUpdate() self.notifyAboutConfigUpdate()
DispatchQueue.global().async { DispatchQueue.global().async {
...@@ -194,7 +195,7 @@ fileprivate extension AppFeature { ...@@ -194,7 +195,7 @@ fileprivate extension AppFeature {
return "shorts_swipe_down_nudge_enabled" return "shorts_swipe_down_nudge_enabled"
case .onboarding: case .onboarding:
return "ios_show_onboarding" return "ios_show_onboarding"
case .ads, .airQualityIndex, .minutelyForecast, .shorts, case .subscription, .subscriptionForPro: case .ads, .airQualityIndex, .minutelyForecast, .shorts, .subscription, .subscriptionForPro:
return nil return nil
// don't use 'default', so that we didn't add new features here in the future. // 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