diff --git a/TelegramUI/CallListController.swift b/TelegramUI/CallListController.swift index 2204ae128e..64a2b22ac0 100644 --- a/TelegramUI/CallListController.swift +++ b/TelegramUI/CallListController.swift @@ -242,7 +242,9 @@ public final class CallListController: ViewController { } private func call(_ peerId: PeerId, began: (() -> Void)? = nil) { - self.peerViewDisposable.set((self.account.viewTracker.peerView(peerId) |> take(1) |> deliverOnMainQueue).start(next: { [weak self] view in + self.peerViewDisposable.set((self.account.viewTracker.peerView(peerId) + |> take(1) + |> deliverOnMainQueue).start(next: { [weak self] view in if let strongSelf = self { guard let peer = peerViewMainPeer(view) else { return diff --git a/TelegramUI/ChatButtonKeyboardInputNode.swift b/TelegramUI/ChatButtonKeyboardInputNode.swift index f72af8225b..5e59b8d1b6 100644 --- a/TelegramUI/ChatButtonKeyboardInputNode.swift +++ b/TelegramUI/ChatButtonKeyboardInputNode.swift @@ -52,6 +52,8 @@ final class ChatButtonKeyboardInputNode: ChatInputNode { self.addSubnode(self.scrollNode) self.scrollNode.view.delaysContentTouches = false self.scrollNode.view.canCancelContentTouches = true + self.scrollNode.view.alwaysBounceHorizontal = false + self.scrollNode.view.alwaysBounceVertical = false self.addSubnode(self.separatorNode) } @@ -99,7 +101,7 @@ final class ChatButtonKeyboardInputNode: ChatInputNode { let rowsHeight = verticalInset + CGFloat(markup.rows.count) * buttonHeight + CGFloat(max(0, markup.rows.count - 1)) * rowSpacing + verticalInset if !markup.flags.contains(.fit) && rowsHeight < panelHeight { - buttonHeight = floor((panelHeight - verticalInset * 2.0 - CGFloat(max(0, markup.rows.count - 1)) * rowSpacing) / CGFloat(markup.rows.count)) + buttonHeight = floor((panelHeight - bottomInset - verticalInset * 2.0 - CGFloat(max(0, markup.rows.count - 1)) * rowSpacing) / CGFloat(markup.rows.count)) } var verticalOffset = verticalInset diff --git a/TelegramUI/ChatController.swift b/TelegramUI/ChatController.swift index 13d08067d4..a01d451c00 100644 --- a/TelegramUI/ChatController.swift +++ b/TelegramUI/ChatController.swift @@ -498,7 +498,7 @@ public final class ChatController: TelegramController, UIViewControllerPreviewin case let .url(url): if isGame { strongSelf.chatDisplayNode.dismissInput() - strongSelf.present(GameController(account: strongSelf.account, url: url, message: message), in: .window(.root)) + (strongSelf.navigationController as? NavigationController)?.pushViewController(GameController(account: strongSelf.account, url: url, message: message)) } else { strongSelf.openUrl(url, concealed: false) } diff --git a/TelegramUI/GameController.swift b/TelegramUI/GameController.swift index 731a7bbb64..0aa85f18f0 100644 --- a/TelegramUI/GameController.swift +++ b/TelegramUI/GameController.swift @@ -16,8 +16,6 @@ final class GameController: ViewController { private var presentationData: PresentationData - private var didPlayPresentationAnimation = false - init(account: Account, url: String, message: Message) { self.account = account self.url = url @@ -29,7 +27,6 @@ final class GameController: ViewController { self.statusBar.statusBarStyle = self.presentationData.theme.rootController.statusBar.style.style - self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: self.presentationData.strings.Common_Close, style: .plain, target: self, action: #selector(self.closePressed)) self.navigationItem.rightBarButtonItem = UIBarButtonItem(image: PresentationResourcesRootController.navigationShareIcon(self.presentationData.theme), style: .plain, target: self, action: #selector(self.sharePressed)) for media in message.media { @@ -75,15 +72,6 @@ final class GameController: ViewController { }, message: self.message) } - override func viewDidAppear(_ animated: Bool) { - super.viewDidAppear(animated) - - if !self.didPlayPresentationAnimation { - self.didPlayPresentationAnimation = true - self.controllerNode.animateIn() - } - } - override func dismiss(completion: (() -> Void)? = nil) { self.controllerNode.animateOut(completion: { [weak self] in self?.presentingViewController?.dismiss(animated: false, completion: nil) diff --git a/TelegramUI/GameControllerNode.swift b/TelegramUI/GameControllerNode.swift index 5ad8b4eb4a..2389a10d50 100644 --- a/TelegramUI/GameControllerNode.swift +++ b/TelegramUI/GameControllerNode.swift @@ -61,9 +61,12 @@ final class GameControllerNode: ViewControllerTracingNode { if #available(iOSApplicationExtension 9.0, *) { webView.allowsLinkPreview = false } - self.webView = webView - + webView.interactiveTransitionGestureRecognizerTest = { point -> Bool in + return point.x > 30.0 + } + self.view.addSubview(webView) + self.webView = webView if let parsedUrl = URL(string: url) { webView.load(URLRequest(url: parsedUrl)) diff --git a/TelegramUI/ItemListTextItem.swift b/TelegramUI/ItemListTextItem.swift index a40aa84099..32b75a950c 100644 --- a/TelegramUI/ItemListTextItem.swift +++ b/TelegramUI/ItemListTextItem.swift @@ -96,13 +96,7 @@ class ItemListTextItemNode: ListViewItemNode { let makeTitleLayout = TextNode.asyncLayout(self.titleNode) return { item, params, neighbors in - var leftInset: CGFloat = 15.0 + params.leftInset - switch item.style { - case .plain: - leftInset += 20 - case .blocks: - break - } + let leftInset: CGFloat = 15.0 + params.leftInset let verticalInset: CGFloat = 7.0 let attributedText: NSAttributedString diff --git a/TelegramUI/LegacyLocationController.swift b/TelegramUI/LegacyLocationController.swift index 15498b9372..2e06cf09e2 100644 --- a/TelegramUI/LegacyLocationController.swift +++ b/TelegramUI/LegacyLocationController.swift @@ -236,7 +236,7 @@ func legacyLocationController(message: Message, mapMedia: TelegramMediaMap, acco controller.onViewDidAppear = { [weak controller] in if let strongController = controller { strongController.locationMapView.interactiveTransitionGestureRecognizerTest = { point -> Bool in - return point.x > 36.0 + return point.x > 30.0 } } } diff --git a/TelegramUI/UserInfoController.swift b/TelegramUI/UserInfoController.swift index 71473057b1..b11345d2e7 100644 --- a/TelegramUI/UserInfoController.swift +++ b/TelegramUI/UserInfoController.swift @@ -683,7 +683,9 @@ public func userInfoController(account: Account, peerId: PeerId) -> ViewControll peerView.set(account.viewTracker.peerView(peerId)) let requestCallImpl: () -> Void = { - let _ = (peerView.get() |> deliverOnMainQueue).start(next: { view in + let _ = (peerView.get() + |> take(1) + |> deliverOnMainQueue).start(next: { view in guard let peer = peerViewMainPeer(view) else { return }