1/2
This commit is contained in:
manuroe 2019-01-31 16:58:41 +01:00
parent f12fc71b4a
commit 61f439eb55
3 changed files with 87 additions and 33 deletions

View file

@ -335,7 +335,7 @@
"settings_flair" = "Show flair where allowed"; "settings_flair" = "Show flair where allowed";
"settings_devices" = "DEVICES"; "settings_devices" = "DEVICES";
"settings_cryptography" = "CRYPTOGRAPHY"; "settings_cryptography" = "CRYPTOGRAPHY";
"settings_key_backup" = "SECURE MESSAGE"; "settings_key_backup" = "SECURE MESSAGE RECOVERY";
"settings_deactivate_account" = "DEACTIVATE ACCOUNT"; "settings_deactivate_account" = "DEACTIVATE ACCOUNT";
"settings_sign_out" = "Sign Out"; "settings_sign_out" = "Sign Out";
@ -421,21 +421,23 @@
"settings_deactivate_my_account" = "Deactivate my account"; "settings_deactivate_my_account" = "Deactivate my account";
"settings_key_backup_info_none" = "No backup is present"; "settings_key_backup_info_none" = "Secure Message Recovery has not been set up.";
"settings_key_backup_info_version" = "Backup version: %@"; "settings_key_backup_info_version" = "Key Backup Version: %@";
"settings_key_backup_info_algorithm" = "Algorithm: %@"; "settings_key_backup_info_algorithm" = "Algorithm: %@";
"settings_key_backup_info_valid" = "This device is using key backup"; "settings_key_backup_info_valid" = "Backup has a valid signature from this device.";
"settings_key_backup_info_not_valid" = "This device is not using key backup"; "settings_key_backup_info_not_valid" = "Secure Message Recovery is not active on this device.";
"settings_key_backup_info_progress" = "Backing up %@ keys..."; "settings_key_backup_info_progress" = "Backing up %@ keys...";
"settings_key_backup_info_progress_done" = "All keys backed up"; "settings_key_backup_info_progress_done" = "All keys have been backed up"; // TO DEL
"settings_key_backup_info_trust_signature_unknown" = "Backup has a signature from unknown device with ID %@."; "settings_key_backup_info_trust_signature_unknown" = "Backup has a signature from unknown device with ID %@.";
"settings_key_backup_info_trust_signature_valid" = "Backup has a valid signature from this device"; "settings_key_backup_info_trust_signature_valid" = "Backup has a valid signature from this device";
"settings_key_backup_info_trust_signature_valid_device_verified" = "Backup has a valid signature from verified device %@"; "settings_key_backup_info_trust_signature_valid_device_verified" = "Backup has a valid signature from verified device %@";
"settings_key_backup_info_trust_signature_valid_device_unverified" = "Backup has a valid signature from unverified device %@"; "settings_key_backup_info_trust_signature_valid_device_unverified" = "Backup has a valid signature from unverified device %@";
"settings_key_backup_info_trust_signature_invalid_device_verified" = "Backup has a invalid signature from verified device %@"; "settings_key_backup_info_trust_signature_invalid_device_verified" = "Backup has a invalid signature from verified device %@";
"settings_key_backup_info_trust_signature_invalid_device_unverified" = "Backup has a invalid signature from unverified device %@"; "settings_key_backup_info_trust_signature_invalid_device_unverified" = "Backup has a invalid signature from unverified device %@";
"settings_key_backup_button_create" = "Start a new backup"; "settings_key_backup_button_create" = "Set up Secure Message Recovery";
"settings_key_backup_button_restore" = "Restore backup";
"settings_key_backup_button_delete" = "Delete backup"; "settings_key_backup_button_delete" = "Delete backup";
"settings_key_backup_button_verify" = "Verify";
"settings_key_backup_delete_confirmation_prompt_title" = "Delete Backup"; "settings_key_backup_delete_confirmation_prompt_title" = "Delete Backup";
"settings_key_backup_delete_confirmation_prompt_msg" = "Delete your backed up encryption keys from the server? You will no longer be able to use your recovery key to read encrypted message history"; "settings_key_backup_delete_confirmation_prompt_msg" = "Delete your backed up encryption keys from the server? You will no longer be able to use your recovery key to read encrypted message history";

View file

@ -1918,11 +1918,11 @@ internal enum VectorL10n {
internal static var settingsIgnoredUsers: String { internal static var settingsIgnoredUsers: String {
return VectorL10n.tr("Vector", "settings_ignored_users") return VectorL10n.tr("Vector", "settings_ignored_users")
} }
/// SECURE MESSAGE /// SECURE MESSAGE RECOVERY
internal static var settingsKeyBackup: String { internal static var settingsKeyBackup: String {
return VectorL10n.tr("Vector", "settings_key_backup") return VectorL10n.tr("Vector", "settings_key_backup")
} }
/// Start a new backup /// Set up Secure Message Recovery
internal static var settingsKeyBackupButtonCreate: String { internal static var settingsKeyBackupButtonCreate: String {
return VectorL10n.tr("Vector", "settings_key_backup_button_create") return VectorL10n.tr("Vector", "settings_key_backup_button_create")
} }
@ -1930,6 +1930,14 @@ internal enum VectorL10n {
internal static var settingsKeyBackupButtonDelete: String { internal static var settingsKeyBackupButtonDelete: String {
return VectorL10n.tr("Vector", "settings_key_backup_button_delete") return VectorL10n.tr("Vector", "settings_key_backup_button_delete")
} }
/// Restore backup
internal static var settingsKeyBackupButtonRestore: String {
return VectorL10n.tr("Vector", "settings_key_backup_button_restore")
}
/// Verify
internal static var settingsKeyBackupButtonVerify: String {
return VectorL10n.tr("Vector", "settings_key_backup_button_verify")
}
/// Delete your backed up encryption keys from the server? You will no longer be able to use your recovery key to read encrypted message history /// Delete your backed up encryption keys from the server? You will no longer be able to use your recovery key to read encrypted message history
internal static var settingsKeyBackupDeleteConfirmationPromptMsg: String { internal static var settingsKeyBackupDeleteConfirmationPromptMsg: String {
return VectorL10n.tr("Vector", "settings_key_backup_delete_confirmation_prompt_msg") return VectorL10n.tr("Vector", "settings_key_backup_delete_confirmation_prompt_msg")
@ -1942,11 +1950,11 @@ internal enum VectorL10n {
internal static func settingsKeyBackupInfoAlgorithm(_ p1: String) -> String { internal static func settingsKeyBackupInfoAlgorithm(_ p1: String) -> String {
return VectorL10n.tr("Vector", "settings_key_backup_info_algorithm", p1) return VectorL10n.tr("Vector", "settings_key_backup_info_algorithm", p1)
} }
/// No backup is present /// Secure Message Recovery has not been set up.
internal static var settingsKeyBackupInfoNone: String { internal static var settingsKeyBackupInfoNone: String {
return VectorL10n.tr("Vector", "settings_key_backup_info_none") return VectorL10n.tr("Vector", "settings_key_backup_info_none")
} }
/// This device is not using key backup /// Secure Message Recovery is not active on this device.
internal static var settingsKeyBackupInfoNotValid: String { internal static var settingsKeyBackupInfoNotValid: String {
return VectorL10n.tr("Vector", "settings_key_backup_info_not_valid") return VectorL10n.tr("Vector", "settings_key_backup_info_not_valid")
} }
@ -1954,7 +1962,7 @@ internal enum VectorL10n {
internal static func settingsKeyBackupInfoProgress(_ p1: String) -> String { internal static func settingsKeyBackupInfoProgress(_ p1: String) -> String {
return VectorL10n.tr("Vector", "settings_key_backup_info_progress", p1) return VectorL10n.tr("Vector", "settings_key_backup_info_progress", p1)
} }
/// All keys backed up /// All keys have been backed up
internal static var settingsKeyBackupInfoProgressDone: String { internal static var settingsKeyBackupInfoProgressDone: String {
return VectorL10n.tr("Vector", "settings_key_backup_info_progress_done") return VectorL10n.tr("Vector", "settings_key_backup_info_progress_done")
} }
@ -1982,11 +1990,11 @@ internal enum VectorL10n {
internal static func settingsKeyBackupInfoTrustSignatureValidDeviceVerified(_ p1: String) -> String { internal static func settingsKeyBackupInfoTrustSignatureValidDeviceVerified(_ p1: String) -> String {
return VectorL10n.tr("Vector", "settings_key_backup_info_trust_signature_valid_device_verified", p1) return VectorL10n.tr("Vector", "settings_key_backup_info_trust_signature_valid_device_verified", p1)
} }
/// This device is using key backup /// Backup has a valid signature from this device.
internal static var settingsKeyBackupInfoValid: String { internal static var settingsKeyBackupInfoValid: String {
return VectorL10n.tr("Vector", "settings_key_backup_info_valid") return VectorL10n.tr("Vector", "settings_key_backup_info_valid")
} }
/// Backup version: %@ /// Key Backup Version: %@
internal static func settingsKeyBackupInfoVersion(_ p1: String) -> String { internal static func settingsKeyBackupInfoVersion(_ p1: String) -> String {
return VectorL10n.tr("Vector", "settings_key_backup_info_version", p1) return VectorL10n.tr("Vector", "settings_key_backup_info_version", p1)
} }

View file

@ -128,23 +128,35 @@ import UIKit
private func numberOfNoBackupRows() -> Int { private func numberOfNoBackupRows() -> Int {
return 1 return 2
} }
private func renderNoBackupCell(atRow: Int) -> UITableViewCell { private func renderNoBackupCell(atRow row: Int) -> UITableViewCell {
guard let delegate = self.delegate else { guard let delegate = self.delegate else {
return UITableViewCell.init() return UITableViewCell.init()
} }
let cell: MXKTableViewCellWithTextView = delegate.settingsKeyBackupTableViewSection(self, textCellForRow: 0) var cell: UITableViewCell
cell.mxkTextView.text = VectorL10n.settingsKeyBackupInfoNone switch row {
case 0:
let infoCell: MXKTableViewCellWithTextView = delegate.settingsKeyBackupTableViewSection(self, textCellForRow: row)
infoCell.mxkTextView.text = VectorL10n.settingsKeyBackupInfoNone
cell = infoCell
case 1:
cell = self.buttonCellForCreate(atRow: row)
default:
cell = UITableViewCell.init()
}
return cell return cell
} }
private func numberOfBackupRows() -> Int { private func numberOfBackupRows() -> Int {
return 3 return 5
} }
private func renderBackupCell(atRow row: Int, keyBackupVersion: MXKeyBackupVersion, keyBackupVersionTrust: MXKeyBackupVersionTrust) -> UITableViewCell { private func renderBackupCell(atRow row: Int, keyBackupVersion: MXKeyBackupVersion, keyBackupVersionTrust: MXKeyBackupVersionTrust) -> UITableViewCell {
@ -157,21 +169,37 @@ import UIKit
case 0: case 0:
let infoCell: MXKTableViewCellWithTextView = delegate.settingsKeyBackupTableViewSection(self, textCellForRow: row) let infoCell: MXKTableViewCellWithTextView = delegate.settingsKeyBackupTableViewSection(self, textCellForRow: row)
let version = VectorL10n.settingsKeyBackupInfoVersion(keyBackupVersion.version ?? "")
let algorithm = VectorL10n.settingsKeyBackupInfoAlgorithm(keyBackupVersion.algorithm)
let backupStatus = VectorL10n.settingsKeyBackupInfoValid let backupStatus = VectorL10n.settingsKeyBackupInfoValid
let uploadStatus = VectorL10n.settingsKeyBackupInfoProgressDone let uploadStatus = VectorL10n.settingsKeyBackupInfoProgressDone
let backupTrust = self.stringForKeyBackupTrust(keyBackupVersionTrust);
let strings = [version, algorithm, backupStatus, uploadStatus] + backupTrust let strings = [backupStatus, uploadStatus]
infoCell.mxkTextView.text = strings.joined(separator: "\n") infoCell.mxkTextView.text = strings.joined(separator: "\n")
cell = infoCell cell = infoCell
case 1: case 1:
cell = self.buttonCellForRestore(keyBackupVersion: keyBackupVersion, atRow: row) let infoCell: MXKTableViewCellWithTextView = delegate.settingsKeyBackupTableViewSection(self, textCellForRow: row)
let version = VectorL10n.settingsKeyBackupInfoVersion(keyBackupVersion.version ?? "")
let algorithm = VectorL10n.settingsKeyBackupInfoAlgorithm(keyBackupVersion.algorithm)
let strings = [version, algorithm]
infoCell.mxkTextView.text = strings.joined(separator: "\n")
cell = infoCell
case 2: case 2:
let infoCell: MXKTableViewCellWithTextView = delegate.settingsKeyBackupTableViewSection(self, textCellForRow: row)
let backupTrust = self.stringForKeyBackupTrust(keyBackupVersionTrust);
infoCell.mxkTextView.text = backupTrust.joined(separator: "\n")
cell = infoCell
case 3:
cell = self.buttonCellForRestore(keyBackupVersion: keyBackupVersion, atRow: row)
case 4:
cell = self.buttonCellForDelete(keyBackupVersion: keyBackupVersion, atRow: row) cell = self.buttonCellForDelete(keyBackupVersion: keyBackupVersion, atRow: row)
default: default:
@ -183,7 +211,7 @@ import UIKit
private func numberOfBackupAndRunningRows() -> Int { private func numberOfBackupAndRunningRows() -> Int {
return 3 return 5
} }
private func renderBackupAndRunningCell(atRow row: Int, keyBackupVersion: MXKeyBackupVersion, keyBackupVersionTrust: MXKeyBackupVersionTrust, backupProgress: Progress) -> UITableViewCell { private func renderBackupAndRunningCell(atRow row: Int, keyBackupVersion: MXKeyBackupVersion, keyBackupVersionTrust: MXKeyBackupVersionTrust, backupProgress: Progress) -> UITableViewCell {
@ -198,21 +226,37 @@ import UIKit
let remaining = backupProgress.totalUnitCount - backupProgress.completedUnitCount let remaining = backupProgress.totalUnitCount - backupProgress.completedUnitCount
let version = VectorL10n.settingsKeyBackupInfoVersion(keyBackupVersion.version ?? "")
let algorithm = VectorL10n.settingsKeyBackupInfoAlgorithm(keyBackupVersion.algorithm)
let backupStatus = VectorL10n.settingsKeyBackupInfoValid let backupStatus = VectorL10n.settingsKeyBackupInfoValid
let uploadStatus = VectorL10n.settingsKeyBackupInfoProgress(String(remaining)) let uploadStatus = VectorL10n.settingsKeyBackupInfoProgress(String(remaining))
let backupTrust = self.stringForKeyBackupTrust(keyBackupVersionTrust);
let strings = [version, algorithm, backupStatus, uploadStatus] + backupTrust let strings = [backupStatus, uploadStatus]
infoCell.mxkTextView.text = strings.joined(separator: "\n") infoCell.mxkTextView.text = strings.joined(separator: "\n")
cell = infoCell cell = infoCell
case 1: case 1:
cell = self.buttonCellForRestore(keyBackupVersion: keyBackupVersion, atRow: row) let infoCell: MXKTableViewCellWithTextView = delegate.settingsKeyBackupTableViewSection(self, textCellForRow: row)
let version = VectorL10n.settingsKeyBackupInfoVersion(keyBackupVersion.version ?? "")
let algorithm = VectorL10n.settingsKeyBackupInfoAlgorithm(keyBackupVersion.algorithm)
let strings = [version, algorithm]
infoCell.mxkTextView.text = strings.joined(separator: "\n")
cell = infoCell
case 2: case 2:
let infoCell: MXKTableViewCellWithTextView = delegate.settingsKeyBackupTableViewSection(self, textCellForRow: row)
let backupTrust = self.stringForKeyBackupTrust(keyBackupVersionTrust);
infoCell.mxkTextView.text = backupTrust.joined(separator: "\n")
cell = infoCell
case 3:
cell = self.buttonCellForRestore(keyBackupVersion: keyBackupVersion, atRow: row)
case 4:
cell = self.buttonCellForDelete(keyBackupVersion: keyBackupVersion, atRow: row) cell = self.buttonCellForDelete(keyBackupVersion: keyBackupVersion, atRow: row)
default: default:
@ -342,7 +386,7 @@ import UIKit
let cell:MXKTableViewCellWithButton = delegate.settingsKeyBackupTableViewSection(self, buttonCellForRow: row) let cell:MXKTableViewCellWithButton = delegate.settingsKeyBackupTableViewSection(self, buttonCellForRow: row)
let btnTitle = "Start a new backup" let btnTitle = VectorL10n.settingsKeyBackupButtonCreate
cell.mxkButton.setTitle(btnTitle, for: .normal) cell.mxkButton.setTitle(btnTitle, for: .normal)
cell.mxkButton.setTitle(btnTitle, for: .highlighted) cell.mxkButton.setTitle(btnTitle, for: .highlighted)
@ -361,7 +405,7 @@ import UIKit
let cell:MXKTableViewCellWithButton = delegate.settingsKeyBackupTableViewSection(self, buttonCellForRow: row) let cell:MXKTableViewCellWithButton = delegate.settingsKeyBackupTableViewSection(self, buttonCellForRow: row)
let btnTitle = "Verify..." let btnTitle = VectorL10n.settingsKeyBackupButtonVerify
cell.mxkButton.setTitle(btnTitle, for: .normal) cell.mxkButton.setTitle(btnTitle, for: .normal)
cell.mxkButton.setTitle(btnTitle, for: .highlighted) cell.mxkButton.setTitle(btnTitle, for: .highlighted)
@ -378,7 +422,7 @@ import UIKit
} }
let cell:MXKTableViewCellWithButton = delegate.settingsKeyBackupTableViewSection(self, buttonCellForRow: row) let cell:MXKTableViewCellWithButton = delegate.settingsKeyBackupTableViewSection(self, buttonCellForRow: row)
let btnTitle = "Restore backup" let btnTitle = VectorL10n.settingsKeyBackupButtonRestore
cell.mxkButton.setTitle(btnTitle, for: .normal) cell.mxkButton.setTitle(btnTitle, for: .normal)
cell.mxkButton.setTitle(btnTitle, for: .highlighted) cell.mxkButton.setTitle(btnTitle, for: .highlighted)
cell.mxkButton.vc_addAction { cell.mxkButton.vc_addAction {