Various improvements

This commit is contained in:
Ilya Laktyushin
2023-09-05 14:07:48 +04:00
parent f8ebd4aa2f
commit 4c4080f5cb
27 changed files with 1097 additions and 321 deletions

View File

@@ -244,6 +244,8 @@ public final class AccountContextImpl: AccountContext {
private var userLimitsConfigurationDisposable: Disposable?
public private(set) var userLimits: EngineConfiguration.UserLimits
public private(set) var isPremium: Bool
public let imageCache: AnyObject?
public init(sharedContext: SharedAccountContextImpl, account: Account, limitsConfiguration: LimitsConfiguration, contentSettings: ContentSettings, appConfiguration: AppConfiguration, temp: Bool = false)
@@ -255,6 +257,7 @@ public final class AccountContextImpl: AccountContext {
self.imageCache = DirectMediaImageCache(account: account)
self.userLimits = EngineConfiguration.UserLimits(UserLimitsConfiguration.defaultValue)
self.isPremium = false
self.downloadedMediaStoreManager = DownloadedMediaStoreManagerImpl(postbox: account.postbox, accountManager: sharedContext.accountManager)
@@ -385,14 +388,19 @@ public final class AccountContextImpl: AccountContext {
})
self.userLimitsConfigurationDisposable = (self.engine.data.subscribe(TelegramEngine.EngineData.Item.Peer.Peer(id: account.peerId))
|> mapToSignal { peer -> Signal<EngineConfiguration.UserLimits, NoError> in
return self.engine.data.subscribe(TelegramEngine.EngineData.Item.Configuration.UserLimits(isPremium: peer?.isPremium ?? false))
|> mapToSignal { peer -> Signal<(Bool, EngineConfiguration.UserLimits), NoError> in
let isPremium = peer?.isPremium ?? false
return self.engine.data.subscribe(TelegramEngine.EngineData.Item.Configuration.UserLimits(isPremium: isPremium))
|> map { userLimits in
return (isPremium, userLimits)
}
}
|> deliverOnMainQueue).start(next: { [weak self] value in
|> deliverOnMainQueue).start(next: { [weak self] isPremium, userLimits in
guard let strongSelf = self else {
return
}
strongSelf.userLimits = value
strongSelf.isPremium = isPremium
strongSelf.userLimits = userLimits
})
}
@@ -404,6 +412,7 @@ public final class AccountContextImpl: AccountContext {
self.countriesConfigurationDisposable?.dispose()
self.experimentalUISettingsDisposable?.dispose()
self.animatedEmojiStickersDisposable?.dispose()
self.userLimitsConfigurationDisposable?.dispose()
}
public func storeSecureIdPassword(password: String) {