Fix return to app after web view

This commit is contained in:
Ilya Laktyushin 2022-07-08 13:52:21 +02:00
parent 39f8d13700
commit 03e9a1e313

View File

@ -11,6 +11,7 @@ import ChatListUI
import PeerAvatarGalleryUI
import SettingsUI
import ChatPresentationInterfaceState
import AttachmentUI
public func navigateToChatControllerImpl(_ params: NavigateToChatControllerParams) {
var found = false
@ -21,6 +22,7 @@ public func navigateToChatControllerImpl(_ params: NavigateToChatControllerParam
if let updateTextInputState = params.updateTextInputState {
controller.updateTextInputState(updateTextInputState)
}
var popAndComplete = true
if let subject = params.subject, case let .message(messageSubject, _, timecode) = subject {
if case let .id(messageId) = messageSubject {
let navigationController = params.navigationController
@ -33,22 +35,24 @@ public func navigateToChatControllerImpl(_ params: NavigateToChatControllerParam
(navigationController?.viewControllers.last as? ViewController)?.present(c, in: .window(.root), with: a)
})
}
popAndComplete = false
} else if params.scrollToEndIfExists && isFirst {
controller.scrollToEndOfHistory()
let _ = params.navigationController.popToViewController(controller, animated: params.animated)
params.completion(controller)
} else if let search = params.activateMessageSearch {
controller.activateSearch(domain: search.0, query: search.1)
let _ = params.navigationController.popToViewController(controller, animated: params.animated)
params.completion(controller)
} else if let reportReason = params.reportReason {
controller.beginReportSelection(reason: reportReason)
let _ = params.navigationController.popToViewController(controller, animated: params.animated)
params.completion(controller)
}
if popAndComplete {
if let _ = params.navigationController.viewControllers.last as? AttachmentController, let controller = params.navigationController.viewControllers[params.navigationController.viewControllers.count - 2] as? ChatControllerImpl, controller.chatLocation == params.chatLocation {
} else {
let _ = params.navigationController.popToViewController(controller, animated: params.animated)
}
params.completion(controller)
}
controller.purposefulAction = params.purposefulAction
if params.activateInput {
controller.activateInput()