mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Display only first emoji of two in small avatar views
This commit is contained in:
parent
7c0c64d037
commit
9334e164b9
@ -14,6 +14,7 @@ static_library(
|
||||
"//submodules/AnimationUI:AnimationUI",
|
||||
"//submodules/AppBundle:AppBundle",
|
||||
"//submodules/AccountContext:AccountContext",
|
||||
"//submodules/Emoji:Emoji",
|
||||
],
|
||||
frameworks = [
|
||||
"$SDKROOT/System/Library/Frameworks/Foundation.framework",
|
||||
|
@ -15,6 +15,7 @@ swift_library(
|
||||
"//submodules/AnimationUI:AnimationUI",
|
||||
"//submodules/AppBundle:AppBundle",
|
||||
"//submodules/AccountContext:AccountContext",
|
||||
"//submodules/Emoji:Emoji",
|
||||
],
|
||||
visibility = [
|
||||
"//visibility:public",
|
||||
|
@ -10,6 +10,7 @@ import TelegramPresentationData
|
||||
import AnimationUI
|
||||
import AppBundle
|
||||
import AccountContext
|
||||
import Emoji
|
||||
|
||||
private let deletedIcon = UIImage(bundleImageName: "Avatar/DeletedIcon")?.precomposed()
|
||||
private let savedMessagesIcon = generateTintedImage(image: UIImage(bundleImageName: "Avatar/SavedMessagesIcon"), color: .white)
|
||||
@ -522,7 +523,11 @@ public final class AvatarNode: ASDisplayNode {
|
||||
context.draw(archivedChatsIcon.cgImage!, in: CGRect(origin: CGPoint(x: floor((bounds.size.width - archivedChatsIcon.size.width) / 2.0), y: floor((bounds.size.height - archivedChatsIcon.size.height) / 2.0)), size: archivedChatsIcon.size))
|
||||
}
|
||||
} else {
|
||||
let letters = parameters.letters
|
||||
var letters = parameters.letters
|
||||
if letters.count == 2 && letters[0].isSingleEmoji && letters[1].isSingleEmoji {
|
||||
letters = [letters[0]]
|
||||
}
|
||||
|
||||
let string = letters.count == 0 ? "" : (letters[0] + (letters.count == 1 ? "" : letters[1]))
|
||||
let attributedString = NSAttributedString(string: string, attributes: [NSAttributedString.Key.font: parameters.font, NSAttributedString.Key.foregroundColor: UIColor.white])
|
||||
|
||||
|
@ -38,6 +38,7 @@ import WalletUI
|
||||
import PhoneNumberFormat
|
||||
import AccountUtils
|
||||
import AuthTransferUI
|
||||
import Emoji
|
||||
|
||||
private let avatarFont = avatarPlaceholderFont(size: 13.0)
|
||||
|
||||
@ -789,21 +790,6 @@ private final class SettingsControllerImpl: ItemListController, SettingsControll
|
||||
//self.contextValue.set(.single(context))
|
||||
}
|
||||
|
||||
/*func presentTabBarPreviewingController(sourceNodes: [ASDisplayNode]) {
|
||||
guard let (maybePrimary, other) = self.accountsAndPeersValue, let primary = maybePrimary else {
|
||||
return
|
||||
}
|
||||
let controller = TabBarAccountSwitchController(sharedContext: self.sharedContext, accounts: (primary, other), canAddAccounts: other.count + 1 < maximumNumberOfAccounts, switchToAccount: { [weak self] id in
|
||||
self?.switchToAccount?(id)
|
||||
}, addAccount: { [weak self] in
|
||||
self?.addAccount?()
|
||||
}, sourceNodes: sourceNodes)
|
||||
self.sharedContext.mainWindow?.present(controller, on: .root)
|
||||
}
|
||||
|
||||
func updateTabBarPreviewingControllerPresentation(_ update: TabBarContainedControllerPresentationUpdate) {
|
||||
}*/
|
||||
|
||||
override public func tabBarItemContextAction(sourceNode: ContextExtractedContentContainingNode, gesture: ContextGesture) {
|
||||
guard let (maybePrimary, other) = self.accountsAndPeersValue, let primary = maybePrimary else {
|
||||
return
|
||||
@ -834,7 +820,10 @@ private final class SettingsControllerImpl: ItemListController, SettingsControll
|
||||
}
|
||||
} else {
|
||||
let peerId = peer.id
|
||||
let displayLetters = peer.displayLetters
|
||||
var displayLetters = peer.displayLetters
|
||||
if displayLetters.count == 2 && displayLetters[0].isSingleEmoji && displayLetters[1].isSingleEmoji {
|
||||
displayLetters = [displayLetters[0]]
|
||||
}
|
||||
iconSignal = Signal { subscriber in
|
||||
let image = generateImage(size, rotatedContext: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
@ -1656,16 +1645,21 @@ public func settingsController(context: AccountContext, accountManager: AccountM
|
||||
}
|
||||
} else {
|
||||
return Signal { subscriber in
|
||||
var displayLetters = primary.1.displayLetters
|
||||
if displayLetters.count == 2 && displayLetters[0].isSingleEmoji && displayLetters[1].isSingleEmoji {
|
||||
displayLetters = [displayLetters[0]]
|
||||
}
|
||||
let image = generateImage(size, rotatedContext: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
context.translateBy(x: inset, y: inset)
|
||||
drawPeerAvatarLetters(context: context, size: CGSize(width: size.width - inset * 2.0, height: size.height - inset * 2.0), font: avatarFont, letters: primary.1.displayLetters, peerId: primary.1.id)
|
||||
|
||||
drawPeerAvatarLetters(context: context, size: CGSize(width: size.width - inset * 2.0, height: size.height - inset * 2.0), font: avatarFont, letters: displayLetters, peerId: primary.1.id)
|
||||
})?.withRenderingMode(.alwaysOriginal)
|
||||
|
||||
let selectedImage = generateImage(size, rotatedContext: { size, context in
|
||||
context.clear(CGRect(origin: CGPoint(), size: size))
|
||||
context.translateBy(x: inset, y: inset)
|
||||
drawPeerAvatarLetters(context: context, size: CGSize(width: size.width - inset * 2.0, height: size.height - inset * 2.0), font: avatarFont, letters: primary.1.displayLetters, peerId: primary.1.id)
|
||||
drawPeerAvatarLetters(context: context, size: CGSize(width: size.width - inset * 2.0, height: size.height - inset * 2.0), font: avatarFont, letters: displayLetters, peerId: primary.1.id)
|
||||
context.translateBy(x: -inset, y: -inset)
|
||||
context.setLineWidth(1.0)
|
||||
context.setStrokeColor(primary.2.rootController.tabBar.selectedIconColor.cgColor)
|
||||
|
Loading…
x
Reference in New Issue
Block a user