mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
Fix history import
This commit is contained in:
56
submodules/TelegramUI/Sources/MakeTempAccountContext.swift
Normal file
56
submodules/TelegramUI/Sources/MakeTempAccountContext.swift
Normal file
@@ -0,0 +1,56 @@
|
||||
import Foundation
|
||||
import SwiftSignalKit
|
||||
import TelegramCore
|
||||
import Postbox
|
||||
import AccountContext
|
||||
import BuildConfig
|
||||
import TelegramPresentationData
|
||||
|
||||
private var sharedTempContext: SharedAccountContextImpl?
|
||||
|
||||
public func makeTempContext(
|
||||
sharedContainerPath: String,
|
||||
rootPath: String,
|
||||
appGroupPath: String,
|
||||
accountManager: AccountManager<TelegramAccountManagerTypes>,
|
||||
appLockContext: AppLockContext,
|
||||
encryptionParameters: ValueBoxEncryptionParameters,
|
||||
applicationBindings: TelegramApplicationBindings,
|
||||
initialPresentationDataAndSettings: InitialPresentationDataAndSettings,
|
||||
networkArguments: NetworkInitializationArguments,
|
||||
buildConfig: BuildConfig
|
||||
) -> Signal<AccountContext, NoError> {
|
||||
let sharedContext = sharedTempContext ?? SharedAccountContextImpl(
|
||||
mainWindow: nil,
|
||||
sharedContainerPath: sharedContainerPath,
|
||||
basePath: rootPath,
|
||||
encryptionParameters: encryptionParameters,
|
||||
accountManager: accountManager,
|
||||
appLockContext: appLockContext,
|
||||
applicationBindings: applicationBindings,
|
||||
initialPresentationDataAndSettings: initialPresentationDataAndSettings,
|
||||
networkArguments: networkArguments,
|
||||
hasInAppPurchases: buildConfig.isAppStoreBuild && buildConfig.apiId == 1,
|
||||
rootPath: rootPath,
|
||||
legacyBasePath: appGroupPath,
|
||||
apsNotificationToken: .single(nil),
|
||||
voipNotificationToken: .single(nil),
|
||||
firebaseSecretStream: .never(),
|
||||
setNotificationCall: { _ in
|
||||
},
|
||||
navigateToChat: { _, _, _ in
|
||||
}, displayUpgradeProgress: { _ in
|
||||
},
|
||||
appDelegate: nil
|
||||
)
|
||||
self.sharedTempContext = sharedContext
|
||||
|
||||
return sharedContext.activeAccountContexts
|
||||
|> take(1)
|
||||
|> mapToSignal { accounts -> Signal<AccountContext, NoError> in
|
||||
guard let context = accounts.primary else {
|
||||
return .complete()
|
||||
}
|
||||
return .single(context)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user