Retain Pool.name internally but show .localizedName

Use name from API if available (XXX: not localized).

Make it private to avoid unintended use in app.
This commit is contained in:
Davide De Rosa 2019-03-21 10:42:51 +01:00
parent 3eb9c6ae98
commit 15f23dd448
5 changed files with 13 additions and 16 deletions

View File

@ -166,7 +166,7 @@ extension ShortcutsConnectToViewController {
let intent = MoveToLocationIntent()
intent.providerId = provider.id
intent.poolId = pool.id
intent.poolName = pool.name
intent.poolName = pool.localizedName
addShortcut(with: intent)
}

View File

@ -76,7 +76,7 @@ extension ProviderPoolViewController: UITableViewDataSource, UITableViewDelegate
let pool = pools[indexPath.row]
let cell = Cells.setting.dequeue(from: tableView, for: indexPath)
cell.leftText = pool.name
cell.leftText = pool.localizedName
// cell.rightText = pool.area
cell.applyChecked(pool.id == currentPoolId, Theme.current)
cell.isTappable = true

View File

@ -620,7 +620,7 @@ extension ServiceViewController: UITableViewDataSource, UITableViewDelegate, Tog
case .providerPool:
let cell = Cells.setting.dequeue(from: tableView, for: indexPath)
cell.leftText = L10n.Service.Cells.Provider.Pool.caption
cell.rightText = uncheckedProviderProfile.pool?.name
cell.rightText = uncheckedProviderProfile.pool?.localizedName
return cell
case .providerPreset:

View File

@ -49,7 +49,7 @@ public class IntentDispatcher {
let intent = MoveToLocationIntent()
intent.providerId = profile.id
intent.poolId = pool.id
intent.poolName = pool.name
intent.poolName = pool.localizedName
genericIntent = intent
} else {
let intent = ConnectVPNIntent()

View File

@ -45,7 +45,7 @@ public struct Pool: Codable, Comparable, CustomStringConvertible {
public let id: String
public let name: String
private let name: String
public let country: String
@ -74,16 +74,7 @@ public struct Pool: Codable, Comparable, CustomStringConvertible {
// MARK: Comparable
public static func <(lhs: Pool, rhs: Pool) -> Bool {
if lhs.name == rhs.name {
guard let larea = lhs.area else {
return true
}
guard let rarea = rhs.area else {
return false
}
return larea < rarea
}
return lhs.name < rhs.name
return lhs.localizedName < rhs.localizedName
}
// MARK: CustomStringConvertible
@ -100,7 +91,13 @@ extension Pool {
return Utils.localizedCountry(country)
}
public var name: String {
public var localizedName: String {
// XXX: name from API is not localized
if !name.isEmpty {
return name
}
let countryString = localizedCountry
guard let area = area else {
return countryString