mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-23 22:55:00 +00:00
Various fixes
This commit is contained in:
@@ -1117,7 +1117,7 @@ final class MediaEditorScreenComponent: Component {
|
||||
}
|
||||
}
|
||||
},
|
||||
timeoutAction: isEditingStory ? nil : { [weak self] view in
|
||||
timeoutAction: isEditingStory ? nil : { [weak self] view, gesture in
|
||||
guard let self, let controller = self.environment?.controller() as? MediaEditorScreen else {
|
||||
return
|
||||
}
|
||||
@@ -1130,7 +1130,7 @@ final class MediaEditorScreenComponent: Component {
|
||||
} else {
|
||||
hasPremium = false
|
||||
}
|
||||
controller?.presentTimeoutSetup(sourceView: view, hasPremium: hasPremium)
|
||||
controller?.presentTimeoutSetup(sourceView: view, gesture: gesture, hasPremium: hasPremium)
|
||||
})
|
||||
},
|
||||
forwardAction: nil,
|
||||
@@ -2972,7 +2972,15 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
location = draft.location
|
||||
}
|
||||
}
|
||||
let locationController = storyLocationPickerController(context: self.context, location: location, completion: { [weak self] location, queryId, resultId, address, countryCode in
|
||||
let locationController = storyLocationPickerController(
|
||||
context: self.context,
|
||||
location: location,
|
||||
dismissed: { [weak self] in
|
||||
if let self {
|
||||
self.mediaEditor?.play()
|
||||
}
|
||||
},
|
||||
completion: { [weak self] location, queryId, resultId, address, countryCode in
|
||||
if let self {
|
||||
let emojiFile: Signal<TelegramMediaFile?, NoError>
|
||||
if let countryCode {
|
||||
@@ -3050,7 +3058,13 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
}
|
||||
|
||||
func presentAudioPicker() {
|
||||
self.controller?.present(legacyICloudFilePicker(theme: self.presentationData.theme, mode: .import, documentTypes: ["public.mp3"], forceDarkTheme: true, completion: { [weak self] urls in
|
||||
self.controller?.present(legacyICloudFilePicker(theme: self.presentationData.theme, mode: .import, documentTypes: ["public.mp3"], forceDarkTheme: true, dismissed: { [weak self] in
|
||||
if let self {
|
||||
Queue.mainQueue().after(0.1) {
|
||||
self.mediaEditor?.play()
|
||||
}
|
||||
}
|
||||
}, completion: { [weak self] urls in
|
||||
guard let self, let mediaEditor = self.mediaEditor, !urls.isEmpty, let url = urls.first else {
|
||||
return
|
||||
}
|
||||
@@ -3075,10 +3089,6 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
}
|
||||
|
||||
self.requestUpdate(transition: .easeInOut(duration: 0.2))
|
||||
|
||||
Queue.mainQueue().after(0.1) {
|
||||
self.mediaEditor?.play()
|
||||
}
|
||||
}), in: .window(.root))
|
||||
}
|
||||
|
||||
@@ -3096,7 +3106,13 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
action: { [weak self] f in
|
||||
f.dismissWithResult(.default)
|
||||
if let self {
|
||||
self.mediaEditor?.setAudioTrack(nil)
|
||||
if let mediaEditor = self.mediaEditor {
|
||||
mediaEditor.setAudioTrack(nil)
|
||||
|
||||
if !mediaEditor.sourceIsVideo && !mediaEditor.isPlaying {
|
||||
mediaEditor.play()
|
||||
}
|
||||
}
|
||||
self.requestUpdate(transition: .easeInOut(duration: 0.25))
|
||||
}
|
||||
}
|
||||
@@ -3887,7 +3903,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
})
|
||||
}
|
||||
|
||||
func presentTimeoutSetup(sourceView: UIView, hasPremium: Bool) {
|
||||
func presentTimeoutSetup(sourceView: UIView, gesture: ContextGesture?, hasPremium: Bool) {
|
||||
self.hapticFeedback.impact(.light)
|
||||
|
||||
var items: [ContextMenuItem] = []
|
||||
@@ -3908,7 +3924,6 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
let presentationData = self.context.sharedContext.currentPresentationData.with({ $0 }).withUpdated(theme: defaultDarkPresentationTheme)
|
||||
let title = presentationData.strings.Story_Editor_ExpirationText
|
||||
let currentValue = self.state.privacy.timeout
|
||||
let currentArchived = self.state.privacy.pin
|
||||
let emptyAction: ((ContextMenuActionItem.Action) -> Void)? = nil
|
||||
|
||||
items.append(.action(ContextMenuActionItem(text: title, textLayout: .multiline, textFont: .small, icon: { _ in return nil }, action: emptyAction)))
|
||||
@@ -3944,7 +3959,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
}
|
||||
})))
|
||||
items.append(.action(ContextMenuActionItem(text: presentationData.strings.Story_Editor_ExpirationValue(24), icon: { theme in
|
||||
return currentValue == 86400 && !currentArchived ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
||||
return currentValue == 86400 ? generateTintedImage(image: UIImage(bundleImageName: "Chat/Context Menu/Check"), color: theme.contextMenu.primaryColor) : nil
|
||||
}, action: { _, a in
|
||||
a(.default)
|
||||
|
||||
@@ -3966,7 +3981,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
}
|
||||
})))
|
||||
|
||||
let contextController = ContextController(presentationData: presentationData, source: .reference(HeaderContextReferenceContentSource(controller: self, sourceView: sourceView)), items: .single(ContextController.Items(content: .list(items))), gesture: nil)
|
||||
let contextController = ContextController(presentationData: presentationData, source: .reference(HeaderContextReferenceContentSource(controller: self, sourceView: sourceView)), items: .single(ContextController.Items(content: .list(items))), gesture: gesture)
|
||||
self.present(contextController, in: .window(.root))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user