diff --git a/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/Contents.json b/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/Contents.json new file mode 100644 index 000000000..793cbec68 --- /dev/null +++ b/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "face id.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "face id@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "face id@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id.png b/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id.png new file mode 100644 index 000000000..52cb7dff6 Binary files /dev/null and b/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id.png differ diff --git a/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id@2x.png b/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id@2x.png new file mode 100644 index 000000000..201a31d76 Binary files /dev/null and b/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id@2x.png differ diff --git a/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id@3x.png b/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id@3x.png new file mode 100644 index 000000000..d0b368b84 Binary files /dev/null and b/Riot/Assets/Images.xcassets/Common/faceid_icon.imageset/face id@3x.png differ diff --git a/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Contents.json b/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Contents.json new file mode 100644 index 000000000..944151dd2 --- /dev/null +++ b/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "Touch ID.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "Touch ID@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "Touch ID@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID.png b/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID.png new file mode 100644 index 000000000..892db68dc Binary files /dev/null and b/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID.png differ diff --git a/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID@2x.png b/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID@2x.png new file mode 100644 index 000000000..48efa45fb Binary files /dev/null and b/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID@2x.png differ diff --git a/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID@3x.png b/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID@3x.png new file mode 100644 index 000000000..50c7856dd Binary files /dev/null and b/Riot/Assets/Images.xcassets/Common/touchid_icon.imageset/Touch ID@3x.png differ diff --git a/Riot/Assets/en.lproj/Vector.strings b/Riot/Assets/en.lproj/Vector.strings index 04d7c8591..07aba72e5 100644 --- a/Riot/Assets/en.lproj/Vector.strings +++ b/Riot/Assets/en.lproj/Vector.strings @@ -1429,7 +1429,26 @@ "pin_protection_mismatch_error_title" = "PINs don't match"; "pin_protection_mismatch_error_message" = "Please try again"; "pin_protection_mismatch_too_many_times_error_message" = "If you can't remember your PIN, tap the forgot PIN button."; -"pin_protection_settings_section_header" = "PIN"; +"pin_protection_settings_section_header_x" = "PIN & %@"; "pin_protection_settings_section_footer" = "To reset your PIN, you'll need to re-login and create a new one."; "pin_protection_settings_enabled_forced" = "PIN enabled"; "pin_protection_settings_enable_pin" = "Enable PIN"; + +// MARK: - Biometrics Protection + +"biometrics_mode_touch_id" = "Touch ID"; +"biometrics_mode_face_id" = "Face ID"; +"biometrics_settings_enable_x" = "Enable %@"; +"biometrics_setup_title_x" = "Enable %@"; +"biometrics_setup_enable_button_title_x" = "Enable %@"; +"biometrics_setup_subtitle" = "Save yourself time"; + +"biometrics_desetup_title_x" = "Disable %@"; +"biometrics_desetup_subtitle" = ""; +"biometrics_desetup_disable_button_title_x" = "Disable %@"; + +"biometrics_usage_reason" = "Authentication is needed to access your app"; +"biometrics_cant_unlocked_alert_title" = "Can't unlock app"; +"biometrics_cant_unlocked_alert_message_x" = "To unlock, use %@ or log back in and enable %@ again"; +"biometrics_cant_unlocked_alert_message_login" = "Log back in"; +"biometrics_cant_unlocked_alert_message_retry" = "Retry"; diff --git a/Riot/Generated/Images.swift b/Riot/Generated/Images.swift index 5eef908bb..460817ddc 100644 --- a/Riot/Generated/Images.swift +++ b/Riot/Generated/Images.swift @@ -35,6 +35,7 @@ internal enum Asset { internal static let chevron = ImageAsset(name: "chevron") internal static let closeButton = ImageAsset(name: "close_button") internal static let disclosureIcon = ImageAsset(name: "disclosure_icon") + internal static let faceidIcon = ImageAsset(name: "faceid_icon") internal static let group = ImageAsset(name: "group") internal static let monitor = ImageAsset(name: "monitor") internal static let placeholder = ImageAsset(name: "placeholder") @@ -46,6 +47,7 @@ internal enum Asset { internal static let shrinkIcon = ImageAsset(name: "shrink_icon") internal static let smartphone = ImageAsset(name: "smartphone") internal static let startChat = ImageAsset(name: "start_chat") + internal static let touchidIcon = ImageAsset(name: "touchid_icon") internal static let addGroupParticipant = ImageAsset(name: "add_group_participant") internal static let removeIconBlue = ImageAsset(name: "remove_icon_blue") internal static let e2eBlocked = ImageAsset(name: "e2e_blocked") diff --git a/Riot/Generated/Strings.swift b/Riot/Generated/Strings.swift index 7f2d275f9..ffdd4d08c 100644 --- a/Riot/Generated/Strings.swift +++ b/Riot/Generated/Strings.swift @@ -318,6 +318,62 @@ internal enum VectorL10n { internal static var back: String { return VectorL10n.tr("Vector", "back") } + /// Log back in + internal static var biometricsCantUnlockedAlertMessageLogin: String { + return VectorL10n.tr("Vector", "biometrics_cant_unlocked_alert_message_login") + } + /// Retry + internal static var biometricsCantUnlockedAlertMessageRetry: String { + return VectorL10n.tr("Vector", "biometrics_cant_unlocked_alert_message_retry") + } + /// To unlock, use %@ or log back in and enable %@ again + internal static func biometricsCantUnlockedAlertMessageX(_ p1: String, _ p2: String) -> String { + return VectorL10n.tr("Vector", "biometrics_cant_unlocked_alert_message_x", p1, p2) + } + /// Can't unlock app + internal static var biometricsCantUnlockedAlertTitle: String { + return VectorL10n.tr("Vector", "biometrics_cant_unlocked_alert_title") + } + /// Disable %@ + internal static func biometricsDesetupDisableButtonTitleX(_ p1: String) -> String { + return VectorL10n.tr("Vector", "biometrics_desetup_disable_button_title_x", p1) + } + /// + internal static var biometricsDesetupSubtitle: String { + return VectorL10n.tr("Vector", "biometrics_desetup_subtitle") + } + /// Disable %@ + internal static func biometricsDesetupTitleX(_ p1: String) -> String { + return VectorL10n.tr("Vector", "biometrics_desetup_title_x", p1) + } + /// Face ID + internal static var biometricsModeFaceId: String { + return VectorL10n.tr("Vector", "biometrics_mode_face_id") + } + /// Touch ID + internal static var biometricsModeTouchId: String { + return VectorL10n.tr("Vector", "biometrics_mode_touch_id") + } + /// Enable %@ + internal static func biometricsSettingsEnableX(_ p1: String) -> String { + return VectorL10n.tr("Vector", "biometrics_settings_enable_x", p1) + } + /// Enable %@ + internal static func biometricsSetupEnableButtonTitleX(_ p1: String) -> String { + return VectorL10n.tr("Vector", "biometrics_setup_enable_button_title_x", p1) + } + /// Save yourself time + internal static var biometricsSetupSubtitle: String { + return VectorL10n.tr("Vector", "biometrics_setup_subtitle") + } + /// Enable %@ + internal static func biometricsSetupTitleX(_ p1: String) -> String { + return VectorL10n.tr("Vector", "biometrics_setup_title_x", p1) + } + /// Authentication is needed to access your app + internal static var biometricsUsageReason: String { + return VectorL10n.tr("Vector", "biometrics_usage_reason") + } /// Please describe what you did before the crash: internal static var bugCrashReportDescription: String { return VectorL10n.tr("Vector", "bug_crash_report_description") @@ -1966,9 +2022,9 @@ internal enum VectorL10n { internal static var pinProtectionSettingsSectionFooter: String { return VectorL10n.tr("Vector", "pin_protection_settings_section_footer") } - /// PIN - internal static var pinProtectionSettingsSectionHeader: String { - return VectorL10n.tr("Vector", "pin_protection_settings_section_header") + /// PIN & %@ + internal static func pinProtectionSettingsSectionHeaderX(_ p1: String) -> String { + return VectorL10n.tr("Vector", "pin_protection_settings_section_header_x", p1) } /// Preview internal static var preview: String {