Update strings for unknown sessions.

This commit is contained in:
Doug
2022-10-12 12:08:08 +01:00
committed by Doug
parent 7d3649e3e8
commit 7697724adc
9 changed files with 170 additions and 72 deletions
@@ -48,32 +48,41 @@ struct UserSessionListItemViewDataFactory {
}
private func activeSessionDetails(sessionInfo: UserSessionInfo) -> String {
let sessionDetailsString: String
// Start by creating the main part of the details string.
var sessionDetailsString = ""
let sessionStatusText: String
var lastActivityDateString: String?
if let lastActivityDate = sessionInfo.lastSeenTimestamp {
lastActivityDateString = UserSessionLastActivityFormatter.lastActivityDateString(from: lastActivityDate)
}
if sessionInfo.isCurrent {
sessionDetailsString = VectorL10n.userOtherSessionCurrentSessionDetails
} else if let lastActivityDateString = lastActivityDateString, lastActivityDateString.isEmpty == false {
sessionDetailsString = VectorL10n.userSessionItemDetailsLastActivity(lastActivityDateString)
}
// Prepend the verification state if one is known.
let sessionStatusText: String?
switch sessionInfo.verificationState {
case .verified:
sessionStatusText = VectorL10n.userSessionVerifiedShort
case .unverified:
sessionStatusText = VectorL10n.userSessionUnverifiedShort
case .unknown:
sessionStatusText = VectorL10n.userSessionVerificationUnknownShort
sessionStatusText = nil
}
var lastActivityDateString: String?
if let lastActivityDate = sessionInfo.lastSeenTimestamp {
lastActivityDateString = UserSessionLastActivityFormatter.lastActivityDateString(from: lastActivityDate)
if let sessionStatusText = sessionStatusText {
if sessionDetailsString.isEmpty {
sessionDetailsString = sessionStatusText
} else {
sessionDetailsString = VectorL10n.userSessionItemDetails(sessionStatusText, sessionDetailsString)
}
} else if sessionDetailsString.isEmpty {
sessionDetailsString = VectorL10n.userSessionVerificationUnknownShort
}
if sessionInfo.isCurrent {
sessionDetailsString = VectorL10n.userOtherSessionUnverifiedCurrentSessionDetails(sessionStatusText)
} else if let lastActivityDateString = lastActivityDateString, lastActivityDateString.isEmpty == false {
sessionDetailsString = VectorL10n.userSessionItemDetails(sessionStatusText, lastActivityDateString)
} else {
sessionDetailsString = sessionStatusText
}
return sessionDetailsString
}