Cherry-pick some fixes

This commit is contained in:
Ilya Laktyushin
2023-02-18 22:55:02 +04:00
parent 930d1fcc46
commit fdae5ffdf3
27 changed files with 255 additions and 181 deletions

View File

@@ -192,6 +192,7 @@ public final class MediaPickerScreen: ViewController, AttachmentContainable {
private let backgroundNode: NavigationBackgroundNode
private let gridNode: GridNode
fileprivate var cameraView: TGAttachmentCameraView?
private var cameraActivateAreaNode: AccessibilityAreaNode
private var placeholderNode: MediaPickerPlaceholderNode?
private var manageNode: MediaPickerManageNode?
private var scrollingArea: SparseItemGridScrollingArea
@@ -233,6 +234,10 @@ public final class MediaPickerScreen: ViewController, AttachmentContainable {
self.gridNode = GridNode()
self.scrollingArea = SparseItemGridScrollingArea()
self.cameraActivateAreaNode = AccessibilityAreaNode()
self.cameraActivateAreaNode.accessibilityLabel = "Camera"
self.cameraActivateAreaNode.accessibilityTraits = [.button]
super.init()
if case .assets(nil) = controller.subject {
@@ -416,6 +421,7 @@ public final class MediaPickerScreen: ViewController, AttachmentContainable {
cameraView.startPreview()
self.gridNode.scrollView.addSubview(cameraView)
self.gridNode.addSubnode(self.cameraActivateAreaNode)
} else {
self.containerNode.clipsToBounds = true
}
@@ -1067,6 +1073,7 @@ public final class MediaPickerScreen: ViewController, AttachmentContainable {
if let cameraView = self.cameraView {
if let cameraRect = cameraRect {
transition.updateFrame(view: cameraView, frame: cameraRect)
self.cameraActivateAreaNode.frame = cameraRect
cameraView.isHidden = false
} else {
cameraView.isHidden = true