Files
GLEGram-iOS/submodules/TelegramUI/Sources/MakeTempAccountContext.swift
T
Leeksov 4647310322 GLEGram 12.5 — Initial public release
Based on Swiftgram 12.5 (Telegram iOS 12.5).
All GLEGram features ported and organized in GLEGram/ folder.

Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass,
Font Replacement, Fake Profile, Chat Export, Plugin System, and more.

See CHANGELOG_12.5.md for full details.
2026-04-06 09:48:12 +03:00

58 lines
2.0 KiB
Swift

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,
notificationController: nil,
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
)
sharedTempContext = sharedContext
return sharedContext.activeAccountContexts
|> take(1)
|> mapToSignal { accounts -> Signal<AccountContext, NoError> in
guard let context = accounts.primary else {
return .complete()
}
return .single(context)
}
}