mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
Merge commit 'e99a9e8d99ffb18ab39dfe1b6ae7a7a4647ecc53' into buck-test
This commit is contained in:
@@ -137,10 +137,7 @@ public final class PasscodeEntryController: ViewController {
|
||||
case .none:
|
||||
succeed = true
|
||||
case let .numericalPassword(code, _, _):
|
||||
succeed = passcode == code
|
||||
if !succeed {
|
||||
succeed = convertToArabicNumeralString(passcode) == code
|
||||
}
|
||||
succeed = passcode == normalizeArabicNumeralString(code, type: .western)
|
||||
case let .plaintextPassword(code, _, _):
|
||||
succeed = passcode == code
|
||||
}
|
||||
|
||||
@@ -220,7 +220,7 @@ final class PasscodeEntryKeyboardNode: ASDisplayNode {
|
||||
if let subnodes = self.subnodes {
|
||||
for i in 0 ..< subnodes.count {
|
||||
let subnode = subnodes[i]
|
||||
var delay: Double = 0.0
|
||||
var delay: Double = 0.001
|
||||
if i / 3 == 1 {
|
||||
delay = 0.05
|
||||
}
|
||||
|
||||
@@ -14,98 +14,96 @@ struct PasscodeKeyboardLayout {
|
||||
let biometricsOffset: CGFloat
|
||||
let deleteOffset: CGFloat
|
||||
|
||||
fileprivate init(layout: ContainerViewLayout, metrics: DeviceMetrics?) {
|
||||
if let metrics = metrics {
|
||||
switch metrics {
|
||||
case .iPhone4:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 95.0
|
||||
self.horizontalThird = 190.0
|
||||
self.verticalSecond = 88.0
|
||||
self.verticalThird = 176.0
|
||||
self.verticalFourth = 264.0
|
||||
self.size = CGSize(width: 265.0, height: 339.0)
|
||||
self.topOffset = 122.0
|
||||
self.biometricsOffset = 0.0
|
||||
self.deleteOffset = 45.0
|
||||
case .iPhone5:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 95.0
|
||||
self.horizontalThird = 190.0
|
||||
self.verticalSecond = 88.0
|
||||
self.verticalThird = 176.0
|
||||
self.verticalFourth = 264.0
|
||||
self.size = CGSize(width: 265.0, height: 339.0)
|
||||
self.topOffset = 155.0
|
||||
self.biometricsOffset = 23.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPhone6:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 103.0
|
||||
self.horizontalThird = 206.0
|
||||
self.verticalSecond = 90.0
|
||||
self.verticalThird = 180.0
|
||||
self.verticalFourth = 270.0
|
||||
self.size = CGSize(width: 281.0, height: 348.0)
|
||||
self.topOffset = 221.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPhone6Plus:
|
||||
self.buttonSize = 85.0
|
||||
self.horizontalSecond = 115.0
|
||||
self.horizontalThird = 230.0
|
||||
self.verticalSecond = 100.0
|
||||
self.verticalThird = 200.0
|
||||
self.verticalFourth = 300.0
|
||||
self.size = CGSize(width: 315.0, height: 385.0)
|
||||
self.topOffset = 226.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPhoneX:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 103.0
|
||||
self.horizontalThird = 206.0
|
||||
self.verticalSecond = 91.0
|
||||
self.verticalThird = 182.0
|
||||
self.verticalFourth = 273.0
|
||||
self.size = CGSize(width: 281.0, height: 348.0)
|
||||
self.topOffset = 294.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPhoneXSMax:
|
||||
self.buttonSize = 85.0
|
||||
self.horizontalSecond = 115.0
|
||||
self.horizontalThird = 230.0
|
||||
self.verticalSecond = 100.0
|
||||
self.verticalThird = 200.0
|
||||
self.verticalFourth = 300.0
|
||||
self.size = CGSize(width: 315.0, height: 385.0)
|
||||
self.topOffset = 329.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPad, .iPadPro10Inch, .iPadPro11Inch, .iPadPro, .iPadPro3rdGen:
|
||||
self.buttonSize = 81.0
|
||||
self.horizontalSecond = 106.0
|
||||
self.horizontalThird = 212.0
|
||||
self.verticalSecond = 101.0
|
||||
self.verticalThird = 202.0
|
||||
self.verticalFourth = 303.0
|
||||
self.size = CGSize(width: 293.0, height: 384.0)
|
||||
self.topOffset = 120.0 + (layout.size.height - self.size.height - 120.0) / 2.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 80.0
|
||||
}
|
||||
} else {
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 95.0
|
||||
self.horizontalThird = 190.0
|
||||
self.verticalSecond = 88.0
|
||||
self.verticalThird = 176.0
|
||||
self.verticalFourth = 264.0
|
||||
self.size = CGSize(width: 265.0, height: 339.0)
|
||||
self.topOffset = 0.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
fileprivate init(layout: ContainerViewLayout) {
|
||||
switch layout.deviceMetrics {
|
||||
case .iPhone4:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 95.0
|
||||
self.horizontalThird = 190.0
|
||||
self.verticalSecond = 88.0
|
||||
self.verticalThird = 176.0
|
||||
self.verticalFourth = 264.0
|
||||
self.size = CGSize(width: 265.0, height: 339.0)
|
||||
self.topOffset = 122.0
|
||||
self.biometricsOffset = 0.0
|
||||
self.deleteOffset = 45.0
|
||||
case .iPhone5:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 95.0
|
||||
self.horizontalThird = 190.0
|
||||
self.verticalSecond = 88.0
|
||||
self.verticalThird = 176.0
|
||||
self.verticalFourth = 264.0
|
||||
self.size = CGSize(width: 265.0, height: 339.0)
|
||||
self.topOffset = 155.0
|
||||
self.biometricsOffset = 23.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPhone6:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 103.0
|
||||
self.horizontalThird = 206.0
|
||||
self.verticalSecond = 90.0
|
||||
self.verticalThird = 180.0
|
||||
self.verticalFourth = 270.0
|
||||
self.size = CGSize(width: 281.0, height: 348.0)
|
||||
self.topOffset = 221.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPhone6Plus:
|
||||
self.buttonSize = 85.0
|
||||
self.horizontalSecond = 115.0
|
||||
self.horizontalThird = 230.0
|
||||
self.verticalSecond = 100.0
|
||||
self.verticalThird = 200.0
|
||||
self.verticalFourth = 300.0
|
||||
self.size = CGSize(width: 315.0, height: 385.0)
|
||||
self.topOffset = 226.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPhoneX:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 103.0
|
||||
self.horizontalThird = 206.0
|
||||
self.verticalSecond = 91.0
|
||||
self.verticalThird = 182.0
|
||||
self.verticalFourth = 273.0
|
||||
self.size = CGSize(width: 281.0, height: 348.0)
|
||||
self.topOffset = 294.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPhoneXSMax:
|
||||
self.buttonSize = 85.0
|
||||
self.horizontalSecond = 115.0
|
||||
self.horizontalThird = 230.0
|
||||
self.verticalSecond = 100.0
|
||||
self.verticalThird = 200.0
|
||||
self.verticalFourth = 300.0
|
||||
self.size = CGSize(width: 315.0, height: 385.0)
|
||||
self.topOffset = 329.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
case .iPad, .iPadPro10Inch, .iPadPro11Inch, .iPadPro, .iPadPro3rdGen:
|
||||
self.buttonSize = 81.0
|
||||
self.horizontalSecond = 106.0
|
||||
self.horizontalThird = 212.0
|
||||
self.verticalSecond = 101.0
|
||||
self.verticalThird = 202.0
|
||||
self.verticalFourth = 303.0
|
||||
self.size = CGSize(width: 293.0, height: 384.0)
|
||||
self.topOffset = 120.0 + (layout.size.height - self.size.height - 120.0) / 2.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 80.0
|
||||
case .unknown:
|
||||
self.buttonSize = 75.0
|
||||
self.horizontalSecond = 95.0
|
||||
self.horizontalThird = 190.0
|
||||
self.verticalSecond = 88.0
|
||||
self.verticalThird = 176.0
|
||||
self.verticalFourth = 264.0
|
||||
self.size = CGSize(width: 265.0, height: 339.0)
|
||||
self.topOffset = 0.0
|
||||
self.biometricsOffset = 30.0
|
||||
self.deleteOffset = 20.0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -120,51 +118,46 @@ struct PasscodeLayout {
|
||||
init(layout: ContainerViewLayout) {
|
||||
self.layout = layout
|
||||
|
||||
let metrics = DeviceMetrics.forScreenSize(layout.size)
|
||||
self.keyboard = PasscodeKeyboardLayout(layout: layout, metrics: metrics)
|
||||
if let metrics = metrics {
|
||||
switch metrics {
|
||||
case .iPhone4:
|
||||
self.titleOffset = 30.0
|
||||
self.subtitleOffset = -13.0
|
||||
self.inputFieldOffset = 70.0
|
||||
case .iPhone5:
|
||||
self.titleOffset = 50.0
|
||||
self.subtitleOffset = -7.0
|
||||
self.inputFieldOffset = 90.0
|
||||
case .iPhone6:
|
||||
self.titleOffset = 100.0
|
||||
self.subtitleOffset = -3.0
|
||||
self.inputFieldOffset = 144.0
|
||||
case .iPhone6Plus:
|
||||
self.titleOffset = 112.0
|
||||
self.subtitleOffset = -6.0
|
||||
self.inputFieldOffset = 156.0
|
||||
case .iPhoneX:
|
||||
self.titleOffset = 162.0
|
||||
self.subtitleOffset = 0.0
|
||||
self.inputFieldOffset = 206.0
|
||||
case .iPhoneXSMax:
|
||||
self.titleOffset = 180.0
|
||||
self.subtitleOffset = 0.0
|
||||
self.inputFieldOffset = 226.0
|
||||
case .iPad, .iPadPro10Inch, .iPadPro11Inch, .iPadPro, .iPadPro3rdGen:
|
||||
self.titleOffset = self.keyboard.topOffset - 120.0
|
||||
self.subtitleOffset = -2.0
|
||||
self.inputFieldOffset = self.keyboard.topOffset - 76.0
|
||||
}
|
||||
} else {
|
||||
self.titleOffset = 100.0
|
||||
self.subtitleOffset = 0.0
|
||||
self.inputFieldOffset = 140.0
|
||||
self.keyboard = PasscodeKeyboardLayout(layout: layout)
|
||||
switch layout.deviceMetrics {
|
||||
case .iPhone4:
|
||||
self.titleOffset = 30.0
|
||||
self.subtitleOffset = -13.0
|
||||
self.inputFieldOffset = 70.0
|
||||
case .iPhone5:
|
||||
self.titleOffset = 50.0
|
||||
self.subtitleOffset = -7.0
|
||||
self.inputFieldOffset = 90.0
|
||||
case .iPhone6:
|
||||
self.titleOffset = 100.0
|
||||
self.subtitleOffset = -3.0
|
||||
self.inputFieldOffset = 144.0
|
||||
case .iPhone6Plus:
|
||||
self.titleOffset = 112.0
|
||||
self.subtitleOffset = -6.0
|
||||
self.inputFieldOffset = 156.0
|
||||
case .iPhoneX:
|
||||
self.titleOffset = 162.0
|
||||
self.subtitleOffset = 0.0
|
||||
self.inputFieldOffset = 206.0
|
||||
case .iPhoneXSMax:
|
||||
self.titleOffset = 180.0
|
||||
self.subtitleOffset = 0.0
|
||||
self.inputFieldOffset = 226.0
|
||||
case .iPad, .iPadPro10Inch, .iPadPro11Inch, .iPadPro, .iPadPro3rdGen:
|
||||
self.titleOffset = self.keyboard.topOffset - 120.0
|
||||
self.subtitleOffset = -2.0
|
||||
self.inputFieldOffset = self.keyboard.topOffset - 76.0
|
||||
case .unknown:
|
||||
self.titleOffset = 100.0
|
||||
self.subtitleOffset = 0.0
|
||||
self.inputFieldOffset = 140.0
|
||||
}
|
||||
}
|
||||
|
||||
init(layout: ContainerViewLayout, titleOffset: CGFloat, subtitleOffset: CGFloat, inputFieldOffset: CGFloat) {
|
||||
self.layout = layout
|
||||
|
||||
let metrics = DeviceMetrics.forScreenSize(layout.size)
|
||||
self.keyboard = PasscodeKeyboardLayout(layout: layout, metrics: metrics)
|
||||
self.keyboard = PasscodeKeyboardLayout(layout: layout)
|
||||
self.titleOffset = titleOffset
|
||||
self.subtitleOffset = subtitleOffset
|
||||
self.inputFieldOffset = inputFieldOffset
|
||||
|
||||
Reference in New Issue
Block a user