[MAPSME-5993] [ios] Fixed invalid Google banner in place page.

This commit is contained in:
Ilya Grechuhin 2017-11-27 13:42:05 +03:00 committed by Roman Kuznetsov
parent 581e2e9578
commit a5271d1c39

View file

@ -58,7 +58,16 @@ final class BannersCache: NSObject {
@objc func get(coreBanners: [CoreBanner], cacheOnly: Bool, loadNew: Bool = true, completion: @escaping Completion) {
self.completion = completion
self.cacheOnly = cacheOnly
loadStates = loadStates ?? []
setupLoadStates(coreBanners: coreBanners, loadNew: loadNew)
onCompletion(isAsync: false)
}
@objc func refresh(coreBanners: [CoreBanner]) {
setupLoadStates(coreBanners: coreBanners, loadNew: true)
}
fileprivate func setupLoadStates(coreBanners: [CoreBanner], loadNew: Bool) {
loadStates = []
coreBanners.forEach { coreBanner in
let bannerType = BannerType(type: coreBanner.mwmType, id: coreBanner.bannerID, query: coreBanner.query)
if let banner = cache[bannerType], (!banner.isPossibleToReload || banner.isNeedToRetain) {
@ -70,20 +79,6 @@ final class BannersCache: NSObject {
appendLoadState(.notLoaded(bannerType))
}
}
onCompletion(isAsync: false)
}
@objc func refresh(coreBanners: [CoreBanner]) {
loadStates = loadStates ?? []
coreBanners.forEach { coreBanner in
let bannerType = BannerType(type: coreBanner.mwmType, id: coreBanner.bannerID, query: coreBanner.query)
let state = LoadState.notLoaded(bannerType)
if loadStates.index(of: state) == nil {
get(bannerType: bannerType)
appendLoadState(state)
}
}
}
private func get(bannerType: BannerType) {