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:
@@ -7,6 +7,7 @@ public final class CameraButton: Component {
|
|||||||
let minSize: CGSize?
|
let minSize: CGSize?
|
||||||
let tag: AnyObject?
|
let tag: AnyObject?
|
||||||
let isEnabled: Bool
|
let isEnabled: Bool
|
||||||
|
let isExclusive: Bool
|
||||||
let action: () -> Void
|
let action: () -> Void
|
||||||
let longTapAction: (() -> Void)?
|
let longTapAction: (() -> Void)?
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ public final class CameraButton: Component {
|
|||||||
minSize: CGSize? = nil,
|
minSize: CGSize? = nil,
|
||||||
tag: AnyObject? = nil,
|
tag: AnyObject? = nil,
|
||||||
isEnabled: Bool = true,
|
isEnabled: Bool = true,
|
||||||
|
isExclusive: Bool = true,
|
||||||
action: @escaping () -> Void,
|
action: @escaping () -> Void,
|
||||||
longTapAction: (() -> Void)? = nil
|
longTapAction: (() -> Void)? = nil
|
||||||
) {
|
) {
|
||||||
@@ -22,6 +24,7 @@ public final class CameraButton: Component {
|
|||||||
self.minSize = minSize
|
self.minSize = minSize
|
||||||
self.tag = tag
|
self.tag = tag
|
||||||
self.isEnabled = isEnabled
|
self.isEnabled = isEnabled
|
||||||
|
self.isExclusive = isExclusive
|
||||||
self.action = action
|
self.action = action
|
||||||
self.longTapAction = longTapAction
|
self.longTapAction = longTapAction
|
||||||
}
|
}
|
||||||
@@ -32,6 +35,7 @@ public final class CameraButton: Component {
|
|||||||
minSize: self.minSize,
|
minSize: self.minSize,
|
||||||
tag: tag,
|
tag: tag,
|
||||||
isEnabled: self.isEnabled,
|
isEnabled: self.isEnabled,
|
||||||
|
isExclusive: self.isExclusive,
|
||||||
action: self.action,
|
action: self.action,
|
||||||
longTapAction: self.longTapAction
|
longTapAction: self.longTapAction
|
||||||
)
|
)
|
||||||
@@ -50,6 +54,9 @@ public final class CameraButton: Component {
|
|||||||
if lhs.isEnabled != rhs.isEnabled {
|
if lhs.isEnabled != rhs.isEnabled {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
if lhs.isExclusive != rhs.isExclusive {
|
||||||
|
return false
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,8 +97,6 @@ public final class CameraButton: Component {
|
|||||||
|
|
||||||
super.init(frame: frame)
|
super.init(frame: frame)
|
||||||
|
|
||||||
self.isExclusiveTouch = true
|
|
||||||
|
|
||||||
self.addSubview(self.containerView)
|
self.addSubview(self.containerView)
|
||||||
self.containerView.addSubview(self.contentView)
|
self.containerView.addSubview(self.contentView)
|
||||||
|
|
||||||
@@ -175,6 +180,8 @@ public final class CameraButton: Component {
|
|||||||
|
|
||||||
self.component = component
|
self.component = component
|
||||||
|
|
||||||
|
self.isExclusiveTouch = component.isExclusive
|
||||||
|
|
||||||
self.updateScale(transition: transition)
|
self.updateScale(transition: transition)
|
||||||
self.isEnabled = component.isEnabled
|
self.isEnabled = component.isEnabled
|
||||||
self.longTapGestureRecognizer?.isEnabled = component.longTapAction != nil
|
self.longTapGestureRecognizer?.isEnabled = component.longTapAction != nil
|
||||||
|
|||||||
@@ -181,7 +181,7 @@ final class StoryInteractionGuideComponent: Component {
|
|||||||
transition: transition,
|
transition: transition,
|
||||||
component: AnyComponent(List(items)),
|
component: AnyComponent(List(items)),
|
||||||
environment: {},
|
environment: {},
|
||||||
containerSize: CGSize(width: availableSize.width - sideInset * 2.0, height: availableSize.height)
|
containerSize: CGSize(width: min(500.0, availableSize.width - sideInset * 2.0), height: availableSize.height)
|
||||||
)
|
)
|
||||||
|
|
||||||
let textSpacing: CGFloat = 7.0
|
let textSpacing: CGFloat = 7.0
|
||||||
|
|||||||
@@ -171,6 +171,8 @@ private final class VideoMessageCameraScreenComponent: CombinedComponent {
|
|||||||
|
|
||||||
var cameraState: CameraState?
|
var cameraState: CameraState?
|
||||||
|
|
||||||
|
var didDisplayViewOnce = false
|
||||||
|
|
||||||
private let hapticFeedback = HapticFeedback()
|
private let hapticFeedback = HapticFeedback()
|
||||||
|
|
||||||
init(
|
init(
|
||||||
@@ -355,7 +357,7 @@ private final class VideoMessageCameraScreenComponent: CombinedComponent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if let controller = component.getController() {
|
if let controller = component.getController() {
|
||||||
if controller.isSendingImmediately || controller.scheduledLock {
|
if controller.scheduledLock {
|
||||||
showViewOnce = true
|
showViewOnce = true
|
||||||
}
|
}
|
||||||
if !controller.viewOnceAvailable {
|
if !controller.viewOnceAvailable {
|
||||||
@@ -363,6 +365,12 @@ private final class VideoMessageCameraScreenComponent: CombinedComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if state.didDisplayViewOnce {
|
||||||
|
showViewOnce = true
|
||||||
|
} else if showViewOnce {
|
||||||
|
state.didDisplayViewOnce = true
|
||||||
|
}
|
||||||
|
|
||||||
if !component.isPreviewing {
|
if !component.isPreviewing {
|
||||||
let flipButton = flipButton.update(
|
let flipButton = flipButton.update(
|
||||||
component: CameraButton(
|
component: CameraButton(
|
||||||
@@ -377,6 +385,7 @@ private final class VideoMessageCameraScreenComponent: CombinedComponent {
|
|||||||
)
|
)
|
||||||
),
|
),
|
||||||
minSize: CGSize(width: 44.0, height: 44.0),
|
minSize: CGSize(width: 44.0, height: 44.0),
|
||||||
|
isExclusive: false,
|
||||||
action: { [weak state] in
|
action: { [weak state] in
|
||||||
if let state {
|
if let state {
|
||||||
state.togglePosition()
|
state.togglePosition()
|
||||||
|
|||||||
Reference in New Issue
Block a user