Merge commit '25cb418eb3e1bef98f90d5c77c42de1d3f27d0e2'

# Conflicts:
#	TelegramUI/ChannelInfoController.swift
#	TelegramUI/SettingsController.swift
This commit is contained in:
Ilya Laktyushin
2018-09-05 01:04:07 +03:00
106 changed files with 1379 additions and 615 deletions

View File

@@ -9,12 +9,13 @@ public enum NavigateToChatKeepStack {
case never
}
public func navigateToChatController(navigationController: NavigationController, chatController: ChatController? = nil, account: Account, chatLocation: ChatLocation, messageId: MessageId? = nil, botStart: ChatControllerInitialBotStart? = nil, keepStack: NavigateToChatKeepStack = .default, animated: Bool = true) {
public func navigateToChatController(navigationController: NavigationController, chatController: ChatController? = nil, account: Account, chatLocation: ChatLocation, messageId: MessageId? = nil, botStart: ChatControllerInitialBotStart? = nil, keepStack: NavigateToChatKeepStack = .default, purposefulAction: (()-> Void)? = nil, animated: Bool = true) {
var found = false
var isFirst = true
for controller in navigationController.viewControllers.reversed() {
if let controller = controller as? ChatController, controller.chatLocation == chatLocation {
if let messageId = messageId {
controller.purposefulAction = purposefulAction
controller.navigateToMessage(messageLocation: .id(messageId), animated: isFirst, completion: { [weak navigationController, weak controller] in
if let navigationController = navigationController, let controller = controller {
let _ = navigationController.popToViewController(controller, animated: animated)
@@ -36,6 +37,7 @@ public func navigateToChatController(navigationController: NavigationController,
} else {
controller = ChatController(account: account, chatLocation: chatLocation, messageId: messageId, botStart: botStart)
}
controller.purposefulAction = purposefulAction
let resolvedKeepStack: Bool
switch keepStack {
case .default: