mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-08-08 08:31:13 +00:00
Various fixes
This commit is contained in:
parent
1f95e664df
commit
340cc2c385
@ -625,7 +625,7 @@ public final class MediaEditor {
|
||||
textureSource = self.context.engine.data.get(TelegramEngine.EngineData.Item.Messages.Message(id: messageId))
|
||||
|> mapToSignal { message in
|
||||
var player: AVPlayer?
|
||||
if let message {
|
||||
if let message, !"".isEmpty {
|
||||
if let maybeFile = message.media.first(where: { $0 is TelegramMediaFile }) as? TelegramMediaFile, maybeFile.isVideo, let path = self.context.account.postbox.mediaBox.completedResourcePath(maybeFile.resource, pathExtension: "mp4") {
|
||||
let asset = AVURLAsset(url: URL(fileURLWithPath: path))
|
||||
player = makePlayer(asset: asset)
|
||||
|
@ -2473,7 +2473,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
messageEntity.secondaryRenderImage = result.nightImage
|
||||
messageEntity.overlayRenderImage = result.overlayImage
|
||||
messageEntity.referenceDrawingSize = storyDimensions
|
||||
messageEntity.position = CGPoint(x: storyDimensions.width / 2.0, y: storyDimensions.height / 2.0)
|
||||
messageEntity.position = CGPoint(x: storyDimensions.width / 2.0 - 16.0, y: storyDimensions.height / 2.0)
|
||||
|
||||
let fraction = max(result.size.width, result.size.height) / 353.0
|
||||
messageEntity.scale = min(6.0, 3.3 * fraction)
|
||||
|
@ -992,7 +992,7 @@ public final class StoryItemSetContainerComponent: Component {
|
||||
}
|
||||
|
||||
if let selectedMediaArea {
|
||||
self.sendMessageContext.activateMediaArea(view: self, mediaArea: selectedMediaArea)
|
||||
self.sendMessageContext.activateMediaArea(view: self, mediaArea: selectedMediaArea, position: point)
|
||||
} else {
|
||||
var direction: NavigationDirection?
|
||||
if point.x < itemLayout.containerSize.width * 0.25 {
|
||||
|
@ -3279,7 +3279,7 @@ final class StoryItemSetContainerSendMessage {
|
||||
}
|
||||
|
||||
private var selectedMediaArea: MediaArea?
|
||||
func activateMediaArea(view: StoryItemSetContainerComponent.View, mediaArea: MediaArea, immediate: Bool = false) {
|
||||
func activateMediaArea(view: StoryItemSetContainerComponent.View, mediaArea: MediaArea, position: CGPoint? = nil, immediate: Bool = false) {
|
||||
guard let component = view.component, let controller = component.controller() else {
|
||||
return
|
||||
}
|
||||
@ -3289,6 +3289,8 @@ final class StoryItemSetContainerSendMessage {
|
||||
|
||||
let context = component.context
|
||||
|
||||
var useGesturePosition = false
|
||||
|
||||
var actions: [ContextMenuAction] = []
|
||||
switch mediaArea {
|
||||
case let .venue(_, venue):
|
||||
@ -3325,6 +3327,7 @@ final class StoryItemSetContainerSendMessage {
|
||||
action()
|
||||
}))
|
||||
case let .channelMessage(_, messageId):
|
||||
useGesturePosition = true
|
||||
let action = { [weak self, weak view, weak controller] in
|
||||
let _ = ((context.engine.messages.getMessagesLoadIfNecessary([messageId], strategy: .cloud(skipLocal: true))
|
||||
|> mapToSignal { result -> Signal<Message?, GetMessagesError> in
|
||||
@ -3384,6 +3387,10 @@ final class StoryItemSetContainerSendMessage {
|
||||
var frame = CGRect(x: mediaArea.coordinates.x / 100.0 * referenceSize.width - size.width / 2.0, y: mediaArea.coordinates.y / 100.0 * referenceSize.height - size.height / 2.0, width: size.width, height: size.height)
|
||||
frame = view.controlsContainerView.convert(frame, to: nil)
|
||||
|
||||
if useGesturePosition, let position {
|
||||
frame = CGRect(origin: position.offsetBy(dx: 0.0, dy: 44.0), size: .zero)
|
||||
}
|
||||
|
||||
let node = controller.displayNode
|
||||
let menuController = makeContextMenuController(actions: actions, blurred: true)
|
||||
menuController.centerHorizontally = true
|
||||
|
Loading…
x
Reference in New Issue
Block a user