mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-15 21:45:19 +00:00
Restore iPhone 16 metrics
This commit is contained in:
parent
8ac693651b
commit
4f3126e650
@ -102,7 +102,7 @@ final class CameraDeviceContext {
|
|||||||
return 30.0
|
return 30.0
|
||||||
}
|
}
|
||||||
switch DeviceModel.current {
|
switch DeviceModel.current {
|
||||||
case .iPhone15ProMax, .iPhone14ProMax, .iPhone13ProMax:
|
case .iPhone15ProMax, .iPhone14ProMax, .iPhone13ProMax, .iPhone16ProMax:
|
||||||
return 60.0
|
return 60.0
|
||||||
default:
|
default:
|
||||||
return 30.0
|
return 30.0
|
||||||
|
@ -34,6 +34,10 @@ public extension Camera {
|
|||||||
self = .iPhone15Pro
|
self = .iPhone15Pro
|
||||||
case .iPhone15ProMax:
|
case .iPhone15ProMax:
|
||||||
self = .iPhone15ProMax
|
self = .iPhone15ProMax
|
||||||
|
case .iPhone16Pro:
|
||||||
|
self = .iPhone15Pro
|
||||||
|
case .iPhone16ProMax:
|
||||||
|
self = .iPhone15ProMax
|
||||||
case .unknown:
|
case .unknown:
|
||||||
self = .unknown
|
self = .unknown
|
||||||
default:
|
default:
|
||||||
|
@ -36,6 +36,8 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
case iPhone14ProZoomed
|
case iPhone14ProZoomed
|
||||||
case iPhone14ProMax
|
case iPhone14ProMax
|
||||||
case iPhone14ProMaxZoomed
|
case iPhone14ProMaxZoomed
|
||||||
|
case iPhone16Pro
|
||||||
|
case iPhone16ProMax
|
||||||
case iPad
|
case iPad
|
||||||
case iPadMini
|
case iPadMini
|
||||||
case iPad102Inch
|
case iPad102Inch
|
||||||
@ -68,6 +70,8 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
.iPhone14ProZoomed,
|
.iPhone14ProZoomed,
|
||||||
.iPhone14ProMax,
|
.iPhone14ProMax,
|
||||||
.iPhone14ProMaxZoomed,
|
.iPhone14ProMaxZoomed,
|
||||||
|
.iPhone16Pro,
|
||||||
|
.iPhone16ProMax,
|
||||||
.iPad,
|
.iPad,
|
||||||
.iPadMini,
|
.iPadMini,
|
||||||
.iPad102Inch,
|
.iPad102Inch,
|
||||||
@ -171,6 +175,10 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
return CGSize(width: 430.0, height: 932.0)
|
return CGSize(width: 430.0, height: 932.0)
|
||||||
case .iPhone14ProMaxZoomed:
|
case .iPhone14ProMaxZoomed:
|
||||||
return CGSize(width: 375.0, height: 812.0)
|
return CGSize(width: 375.0, height: 812.0)
|
||||||
|
case .iPhone16Pro:
|
||||||
|
return CGSize(width: 402.0, height: 874.0)
|
||||||
|
case .iPhone16ProMax:
|
||||||
|
return CGSize(width: 440.0, height: 956.0)
|
||||||
case .iPad:
|
case .iPad:
|
||||||
return CGSize(width: 768.0, height: 1024.0)
|
return CGSize(width: 768.0, height: 1024.0)
|
||||||
case .iPadMini:
|
case .iPadMini:
|
||||||
@ -204,6 +212,8 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
return 53.0 + UIScreenPixel
|
return 53.0 + UIScreenPixel
|
||||||
case .iPhone14Pro, .iPhone14ProMax:
|
case .iPhone14Pro, .iPhone14ProMax:
|
||||||
return 55.0
|
return 55.0
|
||||||
|
case .iPhone16Pro, .iPhone16ProMax:
|
||||||
|
return 55.0
|
||||||
case let .unknown(_, _, _, screenCornerRadius):
|
case let .unknown(_, _, _, screenCornerRadius):
|
||||||
return screenCornerRadius
|
return screenCornerRadius
|
||||||
default:
|
default:
|
||||||
@ -213,7 +223,7 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
|
|
||||||
func safeInsets(inLandscape: Bool) -> UIEdgeInsets {
|
func safeInsets(inLandscape: Bool) -> UIEdgeInsets {
|
||||||
switch self {
|
switch self {
|
||||||
case .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed:
|
case .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed, .iPhone16Pro, .iPhone16ProMax:
|
||||||
return inLandscape ? UIEdgeInsets(top: 0.0, left: 44.0, bottom: 0.0, right: 44.0) : UIEdgeInsets(top: 44.0, left: 0.0, bottom: 0.0, right: 0.0)
|
return inLandscape ? UIEdgeInsets(top: 0.0, left: 44.0, bottom: 0.0, right: 44.0) : UIEdgeInsets(top: 44.0, left: 0.0, bottom: 0.0, right: 0.0)
|
||||||
default:
|
default:
|
||||||
return UIEdgeInsets.zero
|
return UIEdgeInsets.zero
|
||||||
@ -222,7 +232,7 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
|
|
||||||
public func onScreenNavigationHeight(inLandscape: Bool, systemOnScreenNavigationHeight: CGFloat?) -> CGFloat? {
|
public func onScreenNavigationHeight(inLandscape: Bool, systemOnScreenNavigationHeight: CGFloat?) -> CGFloat? {
|
||||||
switch self {
|
switch self {
|
||||||
case .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProMax:
|
case .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProMax, .iPhone16Pro, .iPhone16ProMax:
|
||||||
return inLandscape ? 21.0 : 34.0
|
return inLandscape ? 21.0 : 34.0
|
||||||
case .iPhone14ProZoomed:
|
case .iPhone14ProZoomed:
|
||||||
return inLandscape ? 21.0 : 28.0
|
return inLandscape ? 21.0 : 28.0
|
||||||
@ -262,6 +272,8 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
return 54.0
|
return 54.0
|
||||||
case .iPhone14ProMaxZoomed:
|
case .iPhone14ProMaxZoomed:
|
||||||
return 47.0
|
return 47.0
|
||||||
|
case .iPhone16Pro, .iPhone16ProMax:
|
||||||
|
return 54.0
|
||||||
case .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax:
|
case .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax:
|
||||||
return 44.0
|
return 44.0
|
||||||
case .iPadPro11Inch, .iPadPro3rdGen, .iPadMini, .iPadMini6thGen:
|
case .iPadPro11Inch, .iPadPro3rdGen, .iPadMini, .iPadMini6thGen:
|
||||||
@ -280,7 +292,7 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
return 162.0
|
return 162.0
|
||||||
case .iPhone6, .iPhone6Plus:
|
case .iPhone6, .iPhone6Plus:
|
||||||
return 163.0
|
return 163.0
|
||||||
case .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed:
|
case .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed, .iPhone16Pro, .iPhone16ProMax:
|
||||||
return 172.0
|
return 172.0
|
||||||
case .iPad, .iPad102Inch, .iPadPro10Inch:
|
case .iPad, .iPad102Inch, .iPadPro10Inch:
|
||||||
return 348.0
|
return 348.0
|
||||||
@ -299,9 +311,9 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
return 216.0
|
return 216.0
|
||||||
case .iPhone6Plus:
|
case .iPhone6Plus:
|
||||||
return 226.0
|
return 226.0
|
||||||
case .iPhoneX, .iPhone12Mini, .iPhone12, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMaxZoomed:
|
case .iPhoneX, .iPhone12Mini, .iPhone12, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMaxZoomed, .iPhone16Pro:
|
||||||
return 292.0
|
return 292.0
|
||||||
case .iPhoneXSMax, .iPhoneXr, .iPhone12ProMax, .iPhone13ProMax, .iPhone14ProMax:
|
case .iPhoneXSMax, .iPhoneXr, .iPhone12ProMax, .iPhone13ProMax, .iPhone14ProMax, .iPhone16ProMax:
|
||||||
return 302.0
|
return 302.0
|
||||||
case .iPad, .iPad102Inch, .iPadPro10Inch:
|
case .iPad, .iPad102Inch, .iPadPro10Inch:
|
||||||
return 263.0
|
return 263.0
|
||||||
@ -320,7 +332,7 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
func predictiveInputHeight(inLandscape: Bool) -> CGFloat {
|
func predictiveInputHeight(inLandscape: Bool) -> CGFloat {
|
||||||
if inLandscape {
|
if inLandscape {
|
||||||
switch self {
|
switch self {
|
||||||
case .iPhone4, .iPhone5, .iPhone6, .iPhone6Plus, .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed:
|
case .iPhone4, .iPhone5, .iPhone6, .iPhone6Plus, .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed, .iPhone16Pro, .iPhone16ProMax:
|
||||||
return 37.0
|
return 37.0
|
||||||
case .iPad, .iPad102Inch, .iPadPro10Inch, .iPadPro11Inch, .iPadPro, .iPadPro3rdGen, .iPadMini, .iPadMini6thGen:
|
case .iPad, .iPad102Inch, .iPadPro10Inch, .iPadPro11Inch, .iPadPro, .iPadPro3rdGen, .iPadMini, .iPadMini6thGen:
|
||||||
return 50.0
|
return 50.0
|
||||||
@ -331,7 +343,7 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
switch self {
|
switch self {
|
||||||
case .iPhone4, .iPhone5:
|
case .iPhone4, .iPhone5:
|
||||||
return 37.0
|
return 37.0
|
||||||
case .iPhone6, .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed:
|
case .iPhone6, .iPhoneX, .iPhoneXSMax, .iPhoneXr, .iPhone12Mini, .iPhone12, .iPhone12ProMax, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone13ProMax, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed, .iPhone16Pro, .iPhone16ProMax:
|
||||||
return 44.0
|
return 44.0
|
||||||
case .iPhone6Plus:
|
case .iPhone6Plus:
|
||||||
return 45.0
|
return 45.0
|
||||||
@ -358,7 +370,7 @@ public enum DeviceMetrics: CaseIterable, Equatable {
|
|||||||
|
|
||||||
public var hasDynamicIsland: Bool {
|
public var hasDynamicIsland: Bool {
|
||||||
switch self {
|
switch self {
|
||||||
case .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed:
|
case .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMax, .iPhone14ProMaxZoomed, .iPhone16Pro, .iPhone16ProMax:
|
||||||
return true
|
return true
|
||||||
default:
|
default:
|
||||||
return false
|
return false
|
||||||
|
@ -67,7 +67,7 @@ struct PasscodeKeyboardLayout {
|
|||||||
self.topOffset = 226.0
|
self.topOffset = 226.0
|
||||||
self.biometricsOffset = 30.0
|
self.biometricsOffset = 30.0
|
||||||
self.deleteOffset = 20.0
|
self.deleteOffset = 20.0
|
||||||
case .iPhoneX, .iPhone12Mini, .iPhone12, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMaxZoomed:
|
case .iPhoneX, .iPhone12Mini, .iPhone12, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMaxZoomed, .iPhone16Pro:
|
||||||
self.buttonSize = 75.0
|
self.buttonSize = 75.0
|
||||||
self.horizontalSecond = 103.0
|
self.horizontalSecond = 103.0
|
||||||
self.horizontalThird = 206.0
|
self.horizontalThird = 206.0
|
||||||
@ -78,7 +78,7 @@ struct PasscodeKeyboardLayout {
|
|||||||
self.topOffset = 294.0
|
self.topOffset = 294.0
|
||||||
self.biometricsOffset = 30.0
|
self.biometricsOffset = 30.0
|
||||||
self.deleteOffset = 20.0
|
self.deleteOffset = 20.0
|
||||||
case .iPhoneXSMax, .iPhoneXr, .iPhone12ProMax, .iPhone13ProMax, .iPhone14ProMax:
|
case .iPhoneXSMax, .iPhoneXr, .iPhone12ProMax, .iPhone13ProMax, .iPhone14ProMax, .iPhone16ProMax:
|
||||||
self.buttonSize = 85.0
|
self.buttonSize = 85.0
|
||||||
self.horizontalSecond = 115.0
|
self.horizontalSecond = 115.0
|
||||||
self.horizontalThird = 230.0
|
self.horizontalThird = 230.0
|
||||||
@ -151,11 +151,11 @@ public struct PasscodeLayout {
|
|||||||
self.titleOffset = 112.0
|
self.titleOffset = 112.0
|
||||||
self.subtitleOffset = -6.0
|
self.subtitleOffset = -6.0
|
||||||
self.inputFieldOffset = 156.0
|
self.inputFieldOffset = 156.0
|
||||||
case .iPhoneX, .iPhone12Mini, .iPhone12, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMaxZoomed:
|
case .iPhoneX, .iPhone12Mini, .iPhone12, .iPhone13Mini, .iPhone13, .iPhone13Pro, .iPhone14Pro, .iPhone14ProZoomed, .iPhone14ProMaxZoomed, .iPhone16Pro:
|
||||||
self.titleOffset = 162.0
|
self.titleOffset = 162.0
|
||||||
self.subtitleOffset = 0.0
|
self.subtitleOffset = 0.0
|
||||||
self.inputFieldOffset = 206.0
|
self.inputFieldOffset = 206.0
|
||||||
case .iPhoneXSMax, .iPhoneXr, .iPhone12ProMax, .iPhone13ProMax, .iPhone14ProMax:
|
case .iPhoneXSMax, .iPhoneXr, .iPhone12ProMax, .iPhone13ProMax, .iPhone14ProMax, .iPhone16ProMax:
|
||||||
self.titleOffset = 180.0
|
self.titleOffset = 180.0
|
||||||
self.subtitleOffset = 0.0
|
self.subtitleOffset = 0.0
|
||||||
self.inputFieldOffset = 226.0
|
self.inputFieldOffset = 226.0
|
||||||
|
@ -135,22 +135,16 @@ func openWebAppImpl(context: AccountContext, parentController: ViewController, u
|
|||||||
}
|
}
|
||||||
}, didDismiss: { [weak parentController] in
|
}, didDismiss: { [weak parentController] in
|
||||||
if let parentController = parentController as? ChatControllerImpl {
|
if let parentController = parentController as? ChatControllerImpl {
|
||||||
// let isFocused = parentController.chatDisplayNode.textInputPanelNode?.isFocused ?? false
|
|
||||||
// parentController.chatDisplayNode.insertSubnode(parentController.chatDisplayNode.inputPanelContainerNode, aboveSubnode: parentController.chatDisplayNode.inputContextPanelContainer)
|
|
||||||
// if isFocused {
|
|
||||||
// parentController.chatDisplayNode.textInputPanelNode?.ensureFocused()
|
|
||||||
// }
|
|
||||||
|
|
||||||
parentController.updateChatPresentationInterfaceState(interactive: false) { state in
|
parentController.updateChatPresentationInterfaceState(interactive: false) { state in
|
||||||
return state.updatedForceInputCommandsHidden(false)
|
return state.updatedForceInputCommandsHidden(false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}, getNavigationController: { [weak parentController] in
|
}, getNavigationController: { [weak parentController] in
|
||||||
|
var navigationController: NavigationController?
|
||||||
if let parentController = parentController as? ChatControllerImpl {
|
if let parentController = parentController as? ChatControllerImpl {
|
||||||
return parentController.effectiveNavigationController ?? context.sharedContext.mainWindow?.viewController as? NavigationController
|
navigationController = parentController.effectiveNavigationController
|
||||||
} else {
|
|
||||||
return parentController?.navigationController as? NavigationController
|
|
||||||
}
|
}
|
||||||
|
return navigationController ?? (context.sharedContext.mainWindow?.viewController as? NavigationController)
|
||||||
})
|
})
|
||||||
controller.navigationPresentation = .flatModal
|
controller.navigationPresentation = .flatModal
|
||||||
parentController.push(controller)
|
parentController.push(controller)
|
||||||
@ -209,11 +203,11 @@ func openWebAppImpl(context: AccountContext, parentController: ViewController, u
|
|||||||
}, requestSwitchInline: { [weak parentController] query, chatTypes, completion in
|
}, requestSwitchInline: { [weak parentController] query, chatTypes, completion in
|
||||||
ChatControllerImpl.botRequestSwitchInline(context: context, controller: parentController as? ChatControllerImpl, peerId: peer.id, botAddress: botAddress, query: query, chatTypes: chatTypes, completion: completion)
|
ChatControllerImpl.botRequestSwitchInline(context: context, controller: parentController as? ChatControllerImpl, peerId: peer.id, botAddress: botAddress, query: query, chatTypes: chatTypes, completion: completion)
|
||||||
}, getNavigationController: { [weak parentController] in
|
}, getNavigationController: { [weak parentController] in
|
||||||
|
var navigationController: NavigationController?
|
||||||
if let parentController = parentController as? ChatControllerImpl {
|
if let parentController = parentController as? ChatControllerImpl {
|
||||||
return parentController.effectiveNavigationController ?? context.sharedContext.mainWindow?.viewController as? NavigationController
|
navigationController = parentController.effectiveNavigationController
|
||||||
} else {
|
|
||||||
return parentController?.navigationController as? NavigationController
|
|
||||||
}
|
}
|
||||||
|
return navigationController ?? (context.sharedContext.mainWindow?.viewController as? NavigationController)
|
||||||
})
|
})
|
||||||
controller.navigationPresentation = .flatModal
|
controller.navigationPresentation = .flatModal
|
||||||
if let parentController = parentController as? ChatControllerImpl {
|
if let parentController = parentController as? ChatControllerImpl {
|
||||||
@ -257,11 +251,11 @@ func openWebAppImpl(context: AccountContext, parentController: ViewController, u
|
|||||||
parentController.chatDisplayNode.historyNode.scrollToEndOfHistory()
|
parentController.chatDisplayNode.historyNode.scrollToEndOfHistory()
|
||||||
}
|
}
|
||||||
}, getNavigationController: { [weak parentController] in
|
}, getNavigationController: { [weak parentController] in
|
||||||
|
var navigationController: NavigationController?
|
||||||
if let parentController = parentController as? ChatControllerImpl {
|
if let parentController = parentController as? ChatControllerImpl {
|
||||||
return parentController.effectiveNavigationController ?? context.sharedContext.mainWindow?.viewController as? NavigationController
|
navigationController = parentController.effectiveNavigationController
|
||||||
} else {
|
|
||||||
return parentController?.navigationController as? NavigationController
|
|
||||||
}
|
}
|
||||||
|
return navigationController ?? (context.sharedContext.mainWindow?.viewController as? NavigationController)
|
||||||
})
|
})
|
||||||
controller.navigationPresentation = .flatModal
|
controller.navigationPresentation = .flatModal
|
||||||
if let parentController = parentController as? ChatControllerImpl {
|
if let parentController = parentController as? ChatControllerImpl {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user