From 32de3c0e5300dd6807f8c609426e0e1113b6ecf6 Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Sun, 29 Oct 2023 17:52:44 +0400 Subject: [PATCH] Various fixes --- .../Sources/MediaEditorVideoExport.swift | 8 ++++---- .../Sources/PeerNameColorScreen.swift | 6 +++++- submodules/WebUI/Sources/WebAppController.swift | 16 +++++++++++++++- submodules/WebUI/Sources/WebAppWebView.swift | 6 +++--- 4 files changed, 27 insertions(+), 9 deletions(-) diff --git a/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditorVideoExport.swift b/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditorVideoExport.swift index 86dc26ce32..91c821b902 100644 --- a/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditorVideoExport.swift +++ b/submodules/TelegramUI/Components/MediaEditor/Sources/MediaEditorVideoExport.swift @@ -387,12 +387,12 @@ public final class MediaEditorVideoExport { } switch self.subject { - case let .video(asset, _): + case let .video(asset, isStory): var additionalAsset: AVAsset? if let additionalPath = self.configuration.values.additionalVideoPath { additionalAsset = AVURLAsset(url: URL(fileURLWithPath: additionalPath)) } - self.setupWithAsset(asset, additionalAsset: additionalAsset) + self.setupWithAsset(asset, additionalAsset: additionalAsset, isStory: isStory) case let .image(image): self.setupWithImage(image) } @@ -405,7 +405,7 @@ public final class MediaEditorVideoExport { self.composer = MediaEditorComposer(postbox: self.postbox, values: self.configuration.values, dimensions: self.configuration.composerDimensions, outputDimensions: self.configuration.dimensions, textScale: self.textScale) } - private func setupWithAsset(_ asset: AVAsset, additionalAsset: AVAsset?) { + private func setupWithAsset(_ asset: AVAsset, additionalAsset: AVAsset?, isStory: Bool) { var inputAsset = asset var inputAudioMix: AVMutableAudioMix? @@ -476,7 +476,7 @@ public final class MediaEditorVideoExport { if let timeRange = self.configuration.timeRange { reader.timeRange = timeRange self.additionalReader?.timeRange = timeRange - } else if asset.duration.seconds > 60.0 { + } else if asset.duration.seconds > 60.0 && isStory { let trimmedRange = CMTimeRange(start: CMTime(seconds: 0.0, preferredTimescale: CMTimeScale(NSEC_PER_SEC)), end: CMTime(seconds: 60.0, preferredTimescale: CMTimeScale(NSEC_PER_SEC))) reader.timeRange = trimmedRange self.additionalReader?.timeRange = trimmedRange diff --git a/submodules/TelegramUI/Components/Settings/PeerNameColorScreen/Sources/PeerNameColorScreen.swift b/submodules/TelegramUI/Components/Settings/PeerNameColorScreen/Sources/PeerNameColorScreen.swift index f53d3776cd..5e7b0a62ba 100644 --- a/submodules/TelegramUI/Components/Settings/PeerNameColorScreen/Sources/PeerNameColorScreen.swift +++ b/submodules/TelegramUI/Components/Settings/PeerNameColorScreen/Sources/PeerNameColorScreen.swift @@ -534,7 +534,11 @@ public func PeerNameColorScreen( guard let controller else { return } - controller.present(c, in: .current) + if c is UndoOverlayController { + controller.present(c, in: .current) + } else { + controller.present(c, in: .window(.root)) + } } pushImpl = { [weak controller] c in guard let controller else { diff --git a/submodules/WebUI/Sources/WebAppController.swift b/submodules/WebUI/Sources/WebAppController.swift index 6bc6826fa0..52269bb863 100644 --- a/submodules/WebUI/Sources/WebAppController.swift +++ b/submodules/WebUI/Sources/WebAppController.swift @@ -235,7 +235,6 @@ public struct WebAppParameters { public func generateWebAppThemeParams(_ presentationTheme: PresentationTheme) -> [String: Any] { let backgroundColor = presentationTheme.list.plainBackgroundColor.rgb let secondaryBackgroundColor = presentationTheme.list.blocksBackgroundColor.rgb - return [ "bg_color": Int32(bitPattern: backgroundColor), "secondary_bg_color": Int32(bitPattern: secondaryBackgroundColor), @@ -329,6 +328,13 @@ public final class WebAppController: ViewController, AttachmentContainable { strongSelf.handleScriptMessage(delayedScriptMessage) } } + if #available(iOS 13.0, *) { + if self.presentationData.theme.overallDarkAppearance { + webView.overrideUserInterfaceStyle = .dark + } else { + webView.overrideUserInterfaceStyle = .unspecified + } + } self.webView = webView self.addSubnode(self.backgroundNode) @@ -1120,6 +1126,14 @@ public final class WebAppController: ViewController, AttachmentContainable { } self.updateHeaderBackgroundColor(transition: .immediate) self.sendThemeChangedEvent() + + if #available(iOS 13.0, *) { + if self.presentationData.theme.overallDarkAppearance { + self.webView?.overrideUserInterfaceStyle = .dark + } else { + self.webView?.overrideUserInterfaceStyle = .unspecified + } + } } private func sendThemeChangedEvent() { diff --git a/submodules/WebUI/Sources/WebAppWebView.swift b/submodules/WebUI/Sources/WebAppWebView.swift index 26a8eca621..34fa385c29 100644 --- a/submodules/WebUI/Sources/WebAppWebView.swift +++ b/submodules/WebUI/Sources/WebAppWebView.swift @@ -66,7 +66,7 @@ final class WebAppWebView: WKWebView { configuration.allowsInlineMediaPlayback = true configuration.allowsPictureInPictureMediaPlayback = false - if #available(iOSApplicationExtension 10.0, iOS 10.0, *) { + if #available(iOS 10.0, *) { configuration.mediaTypesRequiringUserActionForPlayback = .all } else { configuration.mediaPlaybackRequiresUserAction = true @@ -78,10 +78,10 @@ final class WebAppWebView: WKWebView { self.isOpaque = false self.backgroundColor = .clear - if #available(iOSApplicationExtension 9.0, iOS 9.0, *) { + if #available(iOS 9.0, *) { self.allowsLinkPreview = false } - if #available(iOSApplicationExtension 11.0, iOS 11.0, *) { + if #available(iOS 11.0, *) { self.scrollView.contentInsetAdjustmentBehavior = .never } self.interactiveTransitionGestureRecognizerTest = { point -> Bool in