mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Various fixes
This commit is contained in:
parent
fa6c21fb11
commit
eb07ea17e7
@ -82,7 +82,11 @@ final class CameraDeviceContext {
|
||||
|
||||
private var preferredMaxDimensions: CMVideoDimensions {
|
||||
if self.additional {
|
||||
if case .iPhoneXS = DeviceModel.current {
|
||||
return CMVideoDimensions(width: 1440, height: 1080)
|
||||
} else {
|
||||
return CMVideoDimensions(width: 1920, height: 1440)
|
||||
}
|
||||
} else {
|
||||
return CMVideoDimensions(width: 1920, height: 1080)
|
||||
}
|
||||
|
@ -86,7 +86,7 @@ final class CameraDevice {
|
||||
let subtype = CMFormatDescriptionGetMediaSubType(format.formatDescription)
|
||||
if subtype == kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange {
|
||||
for range in format.videoSupportedFrameRateRanges {
|
||||
if range.maxFrameRate > maxFramerate {
|
||||
if range.maxFrameRate > 60 {
|
||||
continue outer
|
||||
}
|
||||
}
|
||||
@ -104,11 +104,23 @@ final class CameraDevice {
|
||||
}
|
||||
}
|
||||
|
||||
if let bestFormat = candidates.last {
|
||||
device.activeFormat = bestFormat
|
||||
if !candidates.isEmpty {
|
||||
var bestFormat: AVCaptureDevice.Format?
|
||||
outer: for format in candidates {
|
||||
for range in format.videoSupportedFrameRateRanges {
|
||||
if range.maxFrameRate > 60 {
|
||||
continue outer
|
||||
}
|
||||
bestFormat = format
|
||||
}
|
||||
}
|
||||
if bestFormat == nil {
|
||||
bestFormat = candidates.last
|
||||
}
|
||||
device.activeFormat = bestFormat!
|
||||
|
||||
Logger.shared.log("Camera", "Selected format:")
|
||||
Logger.shared.log("Camera", bestFormat.description)
|
||||
Logger.shared.log("Camera", bestFormat!.description)
|
||||
} else {
|
||||
Logger.shared.log("Camera", "No format selected")
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ public extension Camera {
|
||||
}
|
||||
}
|
||||
|
||||
enum DeviceModel: CaseIterable {
|
||||
enum DeviceModel: CaseIterable, Equatable {
|
||||
static var allCases: [DeviceModel] {
|
||||
return [
|
||||
.iPodTouch1,
|
||||
@ -72,6 +72,9 @@ enum DeviceModel: CaseIterable {
|
||||
case iPodTouch6
|
||||
case iPodTouch7
|
||||
|
||||
case iPhoneX
|
||||
case iPhoneXS
|
||||
|
||||
case iPhone12
|
||||
case iPhone12Mini
|
||||
case iPhone12Pro
|
||||
@ -89,48 +92,52 @@ enum DeviceModel: CaseIterable {
|
||||
|
||||
case unknown(String)
|
||||
|
||||
var modelId: String? {
|
||||
var modelId: [String] {
|
||||
switch self {
|
||||
case .iPodTouch1:
|
||||
return "iPod1,1"
|
||||
return ["iPod1,1"]
|
||||
case .iPodTouch2:
|
||||
return "iPod2,1"
|
||||
return ["iPod2,1"]
|
||||
case .iPodTouch3:
|
||||
return "iPod3,1"
|
||||
return ["iPod3,1"]
|
||||
case .iPodTouch4:
|
||||
return "iPod4,1"
|
||||
return ["iPod4,1"]
|
||||
case .iPodTouch5:
|
||||
return "iPod5,1"
|
||||
return ["iPod5,1"]
|
||||
case .iPodTouch6:
|
||||
return "iPod7,1"
|
||||
return ["iPod7,1"]
|
||||
case .iPodTouch7:
|
||||
return "iPod9,1"
|
||||
return ["iPod9,1"]
|
||||
case .iPhoneX:
|
||||
return ["iPhone11,2"]
|
||||
case .iPhoneXS:
|
||||
return ["iPhone11,4", "iPhone11,6"]
|
||||
case .iPhone12:
|
||||
return "iPhone13,2"
|
||||
return ["iPhone13,2"]
|
||||
case .iPhone12Mini:
|
||||
return "iPhone13,1"
|
||||
return ["iPhone13,1"]
|
||||
case .iPhone12Pro:
|
||||
return "iPhone13,3"
|
||||
return ["iPhone13,3"]
|
||||
case .iPhone12ProMax:
|
||||
return "iPhone13,4"
|
||||
return ["iPhone13,4"]
|
||||
case .iPhone13:
|
||||
return "iPhone14,5"
|
||||
return ["iPhone14,5"]
|
||||
case .iPhone13Mini:
|
||||
return "iPhone14,4"
|
||||
return ["iPhone14,4"]
|
||||
case .iPhone13Pro:
|
||||
return "iPhone14,2"
|
||||
return ["iPhone14,2"]
|
||||
case .iPhone13ProMax:
|
||||
return "iPhone14,3"
|
||||
return ["iPhone14,3"]
|
||||
case .iPhone14:
|
||||
return "iPhone14,7"
|
||||
return ["iPhone14,7"]
|
||||
case .iPhone14Plus:
|
||||
return "iPhone14,8"
|
||||
return ["iPhone14,8"]
|
||||
case .iPhone14Pro:
|
||||
return "iPhone15,2"
|
||||
return ["iPhone15,2"]
|
||||
case .iPhone14ProMax:
|
||||
return "iPhone15,3"
|
||||
return ["iPhone15,3"]
|
||||
case let .unknown(modelId):
|
||||
return modelId
|
||||
return [modelId]
|
||||
}
|
||||
}
|
||||
|
||||
@ -150,6 +157,10 @@ enum DeviceModel: CaseIterable {
|
||||
return "iPod touch 6G"
|
||||
case .iPodTouch7:
|
||||
return "iPod touch 7G"
|
||||
case .iPhoneX:
|
||||
return "iPhone X"
|
||||
case .iPhoneXS:
|
||||
return "iPhone XS"
|
||||
case .iPhone12:
|
||||
return "iPhone 12"
|
||||
case .iPhone12Mini:
|
||||
@ -200,7 +211,7 @@ enum DeviceModel: CaseIterable {
|
||||
var result: DeviceModel?
|
||||
if let modelCode {
|
||||
for model in DeviceModel.allCases {
|
||||
if model.modelId == modelCode {
|
||||
if model.modelId.contains(modelCode) {
|
||||
result = model
|
||||
break
|
||||
}
|
||||
|
@ -1973,7 +1973,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
|
||||
} else {
|
||||
self.previewContainerView.alpha = 1.0
|
||||
if CACurrentMediaTime() - self.initializationTimestamp > 0.2 {
|
||||
if CACurrentMediaTime() - self.initializationTimestamp > 0.2, case .image = subject {
|
||||
self.previewContainerView.layer.allowsGroupOpacity = true
|
||||
self.previewContainerView.layer.animateAlpha(from: 0.0, to: 1.0, duration: 0.25, completion: { _ in
|
||||
self.previewContainerView.layer.allowsGroupOpacity = false
|
||||
@ -2330,6 +2330,7 @@ public final class MediaEditorScreen: ViewController, UIDropInteractionDelegate
|
||||
if let view = self.componentHost.view as? MediaEditorScreenComponent.View {
|
||||
view.animateIn(from: .camera, completion: completion)
|
||||
}
|
||||
|
||||
if let subject = self.subject, case let .video(_, mainTransitionImage, _, _, additionalTransitionImage, _, _, positionChangeTimestamps, pipPosition) = subject, let mainTransitionImage {
|
||||
var transitionImage = mainTransitionImage
|
||||
if let additionalTransitionImage {
|
||||
|
@ -2220,6 +2220,7 @@ public final class StoryItemSetContainerComponent: Component {
|
||||
self.controlsContainerView.addSubview(moreButtonView)
|
||||
}
|
||||
transition.setFrame(view: moreButtonView, frame: CGRect(origin: CGPoint(x: headerRightOffset - moreButtonSize.width, y: 2.0), size: moreButtonSize))
|
||||
transition.setAlpha(view: moreButtonView, alpha: component.slice.item.storyItem.isPending ? 0.0 : 1.0)
|
||||
headerRightOffset -= moreButtonSize.width + 15.0
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user