mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Fix history import
This commit is contained in:
parent
f7eee308d8
commit
fa04ffa85a
@ -2,6 +2,9 @@ import UIKit
|
|||||||
import TelegramUI
|
import TelegramUI
|
||||||
import BuildConfig
|
import BuildConfig
|
||||||
import ShareExtensionContext
|
import ShareExtensionContext
|
||||||
|
import SwiftSignalKit
|
||||||
|
import Postbox
|
||||||
|
import TelegramCore
|
||||||
|
|
||||||
@objc(ShareRootController)
|
@objc(ShareRootController)
|
||||||
class ShareRootController: UIViewController {
|
class ShareRootController: UIViewController {
|
||||||
@ -46,7 +49,24 @@ class ShareRootController: UIViewController {
|
|||||||
|
|
||||||
let appVersion = (Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String) ?? "unknown"
|
let appVersion = (Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String) ?? "unknown"
|
||||||
|
|
||||||
self.impl = ShareRootControllerImpl(initializationData: ShareRootControllerInitializationData(appBundleId: baseAppBundleId, appBuildType: buildConfig.isAppStoreBuild ? .public : .internal, appGroupPath: appGroupUrl.path, apiId: buildConfig.apiId, apiHash: buildConfig.apiHash, languagesCategory: languagesCategory, encryptionParameters: encryptionParameters, appVersion: appVersion, bundleData: buildConfig.bundleData(withAppToken: nil, signatureDict: nil), useBetaFeatures: !buildConfig.isAppStoreBuild), getExtensionContext: { [weak self] in
|
self.impl = ShareRootControllerImpl(initializationData: ShareRootControllerInitializationData(appBundleId: baseAppBundleId, appBuildType: buildConfig.isAppStoreBuild ? .public : .internal, appGroupPath: appGroupUrl.path, apiId: buildConfig.apiId, apiHash: buildConfig.apiHash, languagesCategory: languagesCategory, encryptionParameters: encryptionParameters, appVersion: appVersion, bundleData: buildConfig.bundleData(withAppToken: nil, signatureDict: nil), useBetaFeatures: !buildConfig.isAppStoreBuild, makeTempContext: { accountManager, appLockContext, applicationBindings, InitialPresentationDataAndSettings, networkArguments in
|
||||||
|
return makeTempContext(
|
||||||
|
sharedContainerPath: appGroupUrl.path,
|
||||||
|
rootPath: rootPath,
|
||||||
|
appGroupPath: appGroupUrl.path,
|
||||||
|
accountManager: accountManager,
|
||||||
|
appLockContext: appLockContext,
|
||||||
|
encryptionParameters: ValueBoxEncryptionParameters(
|
||||||
|
forceEncryptionIfNoSet: false,
|
||||||
|
key: ValueBoxEncryptionParameters.Key(data: encryptionParameters.0)!,
|
||||||
|
salt: ValueBoxEncryptionParameters.Salt(data: encryptionParameters.1)!
|
||||||
|
),
|
||||||
|
applicationBindings: applicationBindings,
|
||||||
|
initialPresentationDataAndSettings: InitialPresentationDataAndSettings,
|
||||||
|
networkArguments: networkArguments,
|
||||||
|
buildConfig: buildConfig
|
||||||
|
)
|
||||||
|
}), getExtensionContext: { [weak self] in
|
||||||
return self?.extensionContext
|
return self?.extensionContext
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
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)
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user