From 4e1c649df3e9e25d31bab4042a546575708346d7 Mon Sep 17 00:00:00 2001 From: Ali <> Date: Tue, 12 Nov 2019 17:49:10 +0400 Subject: [PATCH] Display last name in widget --- Widget/PeerNode.swift | 8 +++++++- Widget/TodayViewController.swift | 2 +- .../TelegramUI/TelegramUI/WidgetDataContext.swift | 15 ++++++++++++++- submodules/WidgetItems/Sources/WidgetItems.swift | 4 +++- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/Widget/PeerNode.swift b/Widget/PeerNode.swift index b6c67abc23..ccc57c330a 100644 --- a/Widget/PeerNode.swift +++ b/Widget/PeerNode.swift @@ -130,11 +130,17 @@ final class PeerView: UIView { self.avatarView = AvatarView(accountPeerId: accountPeerId, peer: peer, size: avatarSize) self.titleLabel = UILabel() - let title = peer.name + var title = peer.name + if let lastName = peer.lastName, !lastName.isEmpty { + title.append("\n") + title.append(lastName) + } self.titleLabel.text = title self.titleLabel.textColor = primaryColor self.titleLabel.font = UIFont.systemFont(ofSize: 11.0) self.titleLabel.lineBreakMode = .byTruncatingTail + self.titleLabel.numberOfLines = 2 + self.titleLabel.textAlignment = .center super.init(frame: CGRect()) diff --git a/Widget/TodayViewController.swift b/Widget/TodayViewController.swift index d90dee34cb..e18ee5af81 100644 --- a/Widget/TodayViewController.swift +++ b/Widget/TodayViewController.swift @@ -171,7 +171,7 @@ class TodayViewController: UIViewController, NCWidgetProviding { offset = floor(spacing / 2.0) for i in 0 ..< peerFrames.count { let peerView = self.peerViews[i] - peerView.frame = CGRect(origin: CGPoint(x: offset, y: 20.0), size: peerFrames[i].size) + peerView.frame = CGRect(origin: CGPoint(x: offset, y: 16.0), size: peerFrames[i].size) peerView.updateLayout(size: peerFrames[i].size) offset += peerFrames[i].width + spacing } diff --git a/submodules/TelegramUI/TelegramUI/WidgetDataContext.swift b/submodules/TelegramUI/TelegramUI/WidgetDataContext.swift index 1484f199c1..7bc692f053 100644 --- a/submodules/TelegramUI/TelegramUI/WidgetDataContext.swift +++ b/submodules/TelegramUI/TelegramUI/WidgetDataContext.swift @@ -32,7 +32,20 @@ final class WidgetDataContext { guard let user = peer as? TelegramUser else { return nil } - return WidgetDataPeer(id: user.id.toInt64(), name: user.shortNameOrPhone ?? "", letters: user.displayLetters, avatarPath: smallestImageRepresentation(user.photo).flatMap { representation in + + var name: String = "" + var lastName: String? + + if let firstName = user.firstName { + name = firstName + lastName = user.lastName + } else if let lastName = user.lastName { + name = lastName + } else if let phone = user.phone, !phone.isEmpty { + name = phone + } + + return WidgetDataPeer(id: user.id.toInt64(), name: name, lastName: lastName, letters: user.displayLetters, avatarPath: smallestImageRepresentation(user.photo).flatMap { representation in return account.postbox.mediaBox.resourcePath(representation.resource) }) })) diff --git a/submodules/WidgetItems/Sources/WidgetItems.swift b/submodules/WidgetItems/Sources/WidgetItems.swift index 126c010468..0d6c10558c 100644 --- a/submodules/WidgetItems/Sources/WidgetItems.swift +++ b/submodules/WidgetItems/Sources/WidgetItems.swift @@ -7,12 +7,14 @@ public enum WidgetCodingError: Error { public struct WidgetDataPeer: Codable, Equatable { public var id: Int64 public var name: String + public var lastName: String? public var letters: [String] public var avatarPath: String? - public init(id: Int64, name: String, letters: [String], avatarPath: String?) { + public init(id: Int64, name: String, lastName: String?, letters: [String], avatarPath: String?) { self.id = id self.name = name + self.lastName = lastName self.letters = letters self.avatarPath = avatarPath }