Video avatar fixes

This commit is contained in:
Ilya Laktyushin
2020-07-02 23:37:27 +03:00
parent f659d08c78
commit 94ef5b9acf
8 changed files with 229 additions and 171 deletions

View File

@@ -10,6 +10,7 @@ import SyncCore
import TelegramPresentationData
import AccountContext
import GalleryUI
import LegacyComponents
import LegacyMediaPickerUI
import SaveToCameraRoll
@@ -187,6 +188,9 @@ public class AvatarGalleryController: ViewController, StandalonePresentableContr
private let centralItemFooterContentNode = Promise<(GalleryFooterContentNode?, GalleryOverlayContentNode?)>()
private let centralItemAttributesDisposable = DisposableSet();
public var avatarPhotoEditCompletion: ((UIImage) -> Void)?
public var avatarVideoEditCompletion: ((UIImage, URL, TGVideoEditAdjustments?) -> Void)?
private let _hiddenMedia = Promise<AvatarGalleryEntry?>(nil)
public var hiddenMedia: Signal<AvatarGalleryEntry?, NoError> {
return self._hiddenMedia.get()
@@ -635,7 +639,6 @@ public class AvatarGalleryController: ViewController, StandalonePresentableContr
case let .progress(value):
break
case let .data(data):
let screenImage: UIImage?
let image: UIImage?
let video: URL?
if isImage {
@@ -644,22 +647,28 @@ public class AvatarGalleryController: ViewController, StandalonePresentableContr
} else {
image = nil
}
screenImage = image
video = nil
} else {
image = nil
video = URL(fileURLWithPath: data.path)
screenImage = nil
}
presentLegacyAvatarEditor(theme: strongSelf.presentationData.theme, screenImage: screenImage, image: image, video: video, present: { [weak self] c, a in
let avatarPhotoEditCompletion = strongSelf.avatarPhotoEditCompletion
let avatarVideoEditCompletion = strongSelf.avatarVideoEditCompletion
presentLegacyAvatarEditor(theme: strongSelf.presentationData.theme, image: image, video: video, present: { [weak self] c, a in
if let strongSelf = self {
strongSelf.present(c, in: .window(.root), with: a, blockInteraction: true)
}
}, imageCompletion: { [weak self] image in
}, videoCompletion: { [weak self] image, url, adjustments in
}, imageCompletion: { image in
avatarPhotoEditCompletion?(image)
}, videoCompletion: { image, url, adjustments in
avatarVideoEditCompletion?(image, url, adjustments)
})
Queue.mainQueue().after(0.4) {
strongSelf.dismiss(forceAway: true)
}
}
}))
}