From d09d069ac4830b67456ad4bb0171e31b3d4ce4a2 Mon Sep 17 00:00:00 2001 From: Ilya Laktyushin Date: Sun, 24 Jul 2022 17:03:57 +0300 Subject: [PATCH] Various fixes --- submodules/Display/Source/WindowContent.swift | 3 +- .../Sources/DeleteAccountDataController.swift | 2 +- .../Animations/anim_channelMute.json | 1 + .../Animations/anim_channelUnmute.json | 1 + .../Sources/ChatTextInputPanelNode.swift | 193 ++++++++++-------- .../Sources/TelegramRootController.swift | 12 +- 6 files changed, 118 insertions(+), 94 deletions(-) create mode 100644 submodules/TelegramUI/Resources/Animations/anim_channelMute.json create mode 100644 submodules/TelegramUI/Resources/Animations/anim_channelUnmute.json diff --git a/submodules/Display/Source/WindowContent.swift b/submodules/Display/Source/WindowContent.swift index e66677cd42..37a8544460 100644 --- a/submodules/Display/Source/WindowContent.swift +++ b/submodules/Display/Source/WindowContent.swift @@ -331,6 +331,7 @@ public class Window1 { self.hostView = hostView self.badgeView = UIImageView() self.badgeView.image = UIImage(bundleImageName: "Components/AppBadge") + self.badgeView.isHidden = true self.systemUserInterfaceStyle = hostView.systemUserInterfaceStyle @@ -655,7 +656,7 @@ public class Window1 { } } - private var forceBadgeHidden = false + private var forceBadgeHidden = true public func setForceBadgeHidden(_ hidden: Bool) { guard hidden != self.forceBadgeHidden else { return diff --git a/submodules/SettingsUI/Sources/DeleteAccountDataController.swift b/submodules/SettingsUI/Sources/DeleteAccountDataController.swift index ce7a7166b5..7f0f102541 100644 --- a/submodules/SettingsUI/Sources/DeleteAccountDataController.swift +++ b/submodules/SettingsUI/Sources/DeleteAccountDataController.swift @@ -478,7 +478,7 @@ func deleteAccountDataController(context: AccountContext, mode: DeleteAccountDat addAppLogEvent(postbox: context.account.postbox, type: "deactivate.step_confirmation_cancel") dismissImpl?() - })])) + })], actionLayout: .vertical)) } } diff --git a/submodules/TelegramUI/Resources/Animations/anim_channelMute.json b/submodules/TelegramUI/Resources/Animations/anim_channelMute.json new file mode 100644 index 0000000000..5ef523d12f --- /dev/null +++ b/submodules/TelegramUI/Resources/Animations/anim_channelMute.json @@ -0,0 +1 @@ +{"v":"5.8.1","fr":60,"ip":0,"op":40,"w":32,"h":32,"nm":"mute","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector 186","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20,-16,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[160,160,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[7.75,8],[-7.75,-8]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":3,"s":[100]},{"t":17,"s":[0]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.67,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[1000,1000],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector 186","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Intersect","parent":4,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.031,136,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[160,160,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.307,0],[-0.412,1.165],[0,0]],"o":[[1.307,0],[0,0],[0.412,1.165]],"v":[[0,1],[2.831,-1],[-2.831,-1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[1000,1000],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Intersect","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Rectangle 47 (Stroke)","parent":4,"sr":1,"ks":{"o":{"a":0,"k":94,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.001,-26.64,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[160,160,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"t":3,"s":[{"i":[[0,0],[0,0],[0,0],[-8.584,8.315],[8.316,8.583],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[8.316,8.583],[8.584,-8.315],[0,0],[0,0],[0,0],[0,0]],"v":[[-159.968,176.525],[-159.968,-141.599],[-104.699,-79.295],[-74.1,-78.809],[-73.615,-109.405],[-101.502,-143.288],[159.875,-143.288],[159.875,176.525]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":4,"s":[{"i":[[0,0],[0,0],[0,0],[-8.584,8.315],[8.315,8.583],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[8.316,8.583],[8.584,-8.315],[0,0],[0,0],[0,0],[0,0]],"v":[[-159.968,176.525],[-159.968,-141.599],[-75.175,-50.24],[-44.576,-49.754],[-44.09,-80.35],[-101.502,-143.288],[159.875,-143.288],[159.875,176.525]],"c":true}]},{"t":17,"s":[{"i":[[0,0],[0,0],[0,0],[-8.584,8.315],[8.315,8.583],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[8.315,8.583],[8.584,-8.315],[0,0],[0,0],[0,0],[0,0]],"v":[[-159.968,176.525],[-159.968,-141.599],[74.367,101.634],[104.966,102.119],[105.452,71.524],[-101.502,-143.288],[159.875,-143.288],[159.875,176.525]],"c":true}]}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.131,0],[0,-3.131],[0,0],[0.357,-0.782],[0,0],[-0.91,0],[0,0],[0.378,0.828],[0,0],[0,0.859],[0,0]],"o":[[-3.131,0],[0,0],[0,0.859],[0,0],[-0.378,0.828],[0,0],[0.91,0],[0,0],[-0.357,-0.782],[0,0],[0,-3.131]],"v":[[0,-7],[-5.67,-1.33],[-5.67,-0.134],[-6.211,2.356],[-7.523,5.231],[-6.386,7],[6.386,7],[7.523,5.231],[6.211,2.356],[5.67,-0.134],[5.67,-1.33]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.67,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[1000,1000],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 47 (Stroke)","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":3,"nm":"Top 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.5],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":2,"s":[0]},{"i":{"x":[0.302],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":8,"s":[-3]},{"i":{"x":[0.7],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":19,"s":[5]},{"i":{"x":[0.7],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":28,"s":[-3]},{"t":36,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.3,"y":0},"t":0,"s":[15.943,16.313,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.3,"y":0},"t":6,"s":[15.943,15.063,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"t":17,"s":[15.943,17.563,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"t":26,"s":[15.943,15.438,0],"to":[0,0,0],"ti":[0,0,0]},{"t":34,"s":[15.943,16.313,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-0.918,5,0],"ix":1,"l":2},"s":{"a":0,"k":[6.25,6.25,100],"ix":6,"l":2}},"ao":0,"ip":5,"op":40,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/TelegramUI/Resources/Animations/anim_channelUnmute.json b/submodules/TelegramUI/Resources/Animations/anim_channelUnmute.json new file mode 100644 index 0000000000..7000a1a973 --- /dev/null +++ b/submodules/TelegramUI/Resources/Animations/anim_channelUnmute.json @@ -0,0 +1 @@ +{"v":"5.8.1","fr":60,"ip":0,"op":40,"w":32,"h":32,"nm":"unmute","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Top 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":1,"s":[0]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":7,"s":[3]},{"i":{"x":[0.4],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":20,"s":[-5]},{"i":{"x":[0.7],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":29,"s":[3]},{"t":36,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.4,"y":1},"o":{"x":0.3,"y":0},"t":0,"s":[15.943,16.313,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.3,"y":0},"t":5,"s":[15.943,17.563,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.4,"y":1},"o":{"x":0.3,"y":0},"t":18,"s":[15.943,14.813,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.7,"y":1},"o":{"x":0.3,"y":0},"t":27,"s":[15.943,17.688,0],"to":[0,0,0],"ti":[0,0,0]},{"t":34,"s":[15.943,16.313,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-0.918,5,0],"ix":1,"l":2},"s":{"a":0,"k":[6.25,6.25,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":13,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Vector 186","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20,-16,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[160,160,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[7.75,8],[-7.75,-8]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":1,"k":[{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"t":3,"s":[0]},{"t":17,"s":[100]}],"ix":1},"e":{"a":0,"k":100,"ix":2},"o":{"a":0,"k":0,"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.67,"ix":5},"lc":2,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[1000,1000],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector 186","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Intersect","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.031,136,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[160,160,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.307,0],[-0.412,1.165],[0,0]],"o":[[1.307,0],[0,0],[0.412,1.165]],"v":[[0,1],[2.831,-1],[-2.831,-1]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[1000,1000],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Intersect","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Rectangle 47 (Stroke)","parent":1,"sr":1,"ks":{"o":{"a":0,"k":94,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.001,-26.64,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[160,160,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":3,"s":[{"i":[[0,0],[0,0],[0,0],[-8.584,8.315],[8.315,8.583],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[8.315,8.583],[8.584,-8.315],[0,0],[0,0],[0,0],[0,0]],"v":[[-159.968,176.525],[-159.968,-141.599],[74.367,101.634],[104.966,102.119],[105.452,71.524],[-101.502,-143.288],[159.875,-143.288],[159.875,176.525]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0},"t":16,"s":[{"i":[[0,0],[0,0],[0,0],[-8.584,8.315],[8.315,8.583],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[8.316,8.583],[8.584,-8.315],[0,0],[0,0],[0,0],[0,0]],"v":[[-159.968,176.525],[-159.968,-141.599],[-75.175,-50.24],[-44.576,-49.754],[-44.09,-80.35],[-101.502,-143.288],[159.875,-143.288],[159.875,176.525]],"c":true}]},{"t":17,"s":[{"i":[[0,0],[0,0],[0,0],[-8.584,8.315],[8.316,8.583],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[8.316,8.583],[8.584,-8.315],[0,0],[0,0],[0,0],[0,0]],"v":[[-159.968,176.525],[-159.968,-141.599],[-104.699,-79.295],[-74.1,-78.809],[-73.615,-109.405],[-101.502,-143.288],[159.875,-143.288],[159.875,176.525]],"c":true}]}],"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.131,0],[0,-3.131],[0,0],[0.357,-0.782],[0,0],[-0.91,0],[0,0],[0.378,0.828],[0,0],[0,0.859],[0,0]],"o":[[-3.131,0],[0,0],[0,0.859],[0,0],[-0.378,0.828],[0,0],[0.91,0],[0,0],[-0.357,-0.782],[0,0],[0,-3.131]],"v":[[0,-7],[-5.67,-1.33],[-5.67,-0.134],[-6.211,2.356],[-7.523,5.231],[-6.386,7],[6.386,7],[7.523,5.231],[6.211,2.356],[5.67,-0.134],[5.67,-1.33]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0,0,0,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1.67,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[1000,1000],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Rectangle 47 (Stroke)","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":40,"st":0,"bm":0}],"markers":[]} \ No newline at end of file diff --git a/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift b/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift index 490d75f2d6..6ad731637f 100644 --- a/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift +++ b/submodules/TelegramUI/Sources/ChatTextInputPanelNode.swift @@ -60,7 +60,7 @@ private final class AccessoryItemIconButtonNode: HighlightTrackingButtonNode { self.addSubnode(self.iconImageNode) switch item { - case .input, .botInput: + case .input, .botInput, .silentPost: self.iconImageNode.isHidden = true self.animationView = ComponentView() default: @@ -169,104 +169,123 @@ private final class AccessoryItemIconButtonNode: HighlightTrackingButtonNode { self.iconImageNode.image = AccessoryItemIconButtonNode.imageAndInsets(item: item, theme: self.theme, strings: self.strings).0 let bottomInset: CGFloat = 0.0 + // let iconSize = CGSize(width: 32.0, height: 32.0) let imageFrame = CGRect(origin: CGPoint(x: floor((size.width - image.size.width) / 2.0), y: floor((size.height - image.size.height) / 2.0) - bottomInset), size: image.size) self.iconImageNode.frame = imageFrame if let animationView = self.animationView { - let animationFrame = imageFrame.insetBy(dx: -4.0, dy: -4.0) + let width = AccessoryItemIconButtonNode.calculateWidth(item: item, image: image, text: "", strings: self.strings) - var previousInputMode: ChatTextInputAccessoryItem.InputMode? - var inputMode: ChatTextInputAccessoryItem.InputMode? - - switch previousItem { - case let .input(_, itemInputMode), let .botInput(_, itemInputMode): - previousInputMode = itemInputMode - default: - break - } - switch item { - case let .input(_, itemInputMode), let .botInput(_, itemInputMode): - inputMode = itemInputMode - default: - break - } - - let emojiColorKeys = [ - "Ellipse 33.Ellipse 33.Stroke 1", - "Ellipse 34.Ellipse 34.Stroke 1", - "Oval.Oval.Fill 1", - "Oval 2.Oval.Fill 1", - "Path 85.Path 85.Stroke 1" - ] + let animationFrame = CGRect(origin: CGPoint(x: floor((size.width - width) / 2.0), y: floor((size.height - width) / 2.0) - bottomInset), size: CGSize(width: width, height: width)) var colorKeys: [String] = ["__allcolors__"] let animationName: String var animationMode: LottieAnimationComponent.AnimationItem.Mode = .still(position: .end) - if let inputMode = inputMode { - switch inputMode { - case .keyboard: - if let previousInputMode = previousInputMode { - if case .stickers = previousInputMode { - animationName = "anim_stickerToKey" - animationMode = .animating(loop: false) - } else if case .emoji = previousInputMode { - animationName = "anim_smileToKey" - animationMode = .animating(loop: false) - } else if case .bot = previousInputMode { - animationName = "anim_botToKey" - animationMode = .animating(loop: false) - } else { - animationName = "anim_stickerToKey" - } - } else { - animationName = "anim_stickerToKey" - } - case .stickers: - if let previousInputMode = previousInputMode { - if case .keyboard = previousInputMode { - animationName = "anim_keyToSticker" - animationMode = .animating(loop: false) - } else if case .emoji = previousInputMode { - animationName = "anim_smileToSticker" - animationMode = .animating(loop: false) - colorKeys = emojiColorKeys - } else { - animationName = "anim_keyToSticker" - } - } else { - animationName = "anim_keyToSticker" - } - case .emoji: - if let previousInputMode = previousInputMode { - if case .keyboard = previousInputMode { - animationName = "anim_keyToSmile" - animationMode = .animating(loop: false) - } else if case .stickers = previousInputMode { - animationName = "anim_stickerToSmile" - animationMode = .animating(loop: false) - colorKeys = emojiColorKeys - } else { - animationName = "anim_keyToSmile" - } - } else { - animationName = "anim_keyToSmile" - } - case .bot: - if let previousInputMode = previousInputMode { - if case .keyboard = previousInputMode { - animationName = "anim_keyToBot" - animationMode = .animating(loop: false) - } else { - animationName = "anim_keyToBot" - } - } else { - animationName = "anim_keyToBot" - } + + if case let .silentPost(muted) = item { + if case let .silentPost(previousMuted) = previousItem { + if muted { + animationName = "anim_channelMute" + } else { + animationName = "anim_channelUnmute" + } + if muted != previousMuted { + animationMode = .animating(loop: false) + } + } else { + animationName = "anim_channelMute" } } else { - animationName = "" + var previousInputMode: ChatTextInputAccessoryItem.InputMode? + var inputMode: ChatTextInputAccessoryItem.InputMode? + + switch previousItem { + case let .input(_, itemInputMode), let .botInput(_, itemInputMode): + previousInputMode = itemInputMode + default: + break + } + switch item { + case let .input(_, itemInputMode), let .botInput(_, itemInputMode): + inputMode = itemInputMode + default: + break + } + + let emojiColorKeys = [ + "Ellipse 33.Ellipse 33.Stroke 1", + "Ellipse 34.Ellipse 34.Stroke 1", + "Oval.Oval.Fill 1", + "Oval 2.Oval.Fill 1", + "Path 85.Path 85.Stroke 1" + ] + + if let inputMode = inputMode { + switch inputMode { + case .keyboard: + if let previousInputMode = previousInputMode { + if case .stickers = previousInputMode { + animationName = "anim_stickerToKey" + animationMode = .animating(loop: false) + } else if case .emoji = previousInputMode { + animationName = "anim_smileToKey" + animationMode = .animating(loop: false) + } else if case .bot = previousInputMode { + animationName = "anim_botToKey" + animationMode = .animating(loop: false) + } else { + animationName = "anim_stickerToKey" + } + } else { + animationName = "anim_stickerToKey" + } + case .stickers: + if let previousInputMode = previousInputMode { + if case .keyboard = previousInputMode { + animationName = "anim_keyToSticker" + animationMode = .animating(loop: false) + } else if case .emoji = previousInputMode { + animationName = "anim_smileToSticker" + animationMode = .animating(loop: false) + colorKeys = emojiColorKeys + } else { + animationName = "anim_keyToSticker" + } + } else { + animationName = "anim_keyToSticker" + } + case .emoji: + if let previousInputMode = previousInputMode { + if case .keyboard = previousInputMode { + animationName = "anim_keyToSmile" + animationMode = .animating(loop: false) + } else if case .stickers = previousInputMode { + animationName = "anim_stickerToSmile" + animationMode = .animating(loop: false) + colorKeys = emojiColorKeys + } else { + animationName = "anim_keyToSmile" + } + } else { + animationName = "anim_keyToSmile" + } + case .bot: + if let previousInputMode = previousInputMode { + if case .keyboard = previousInputMode { + animationName = "anim_keyToBot" + animationMode = .animating(loop: false) + } else { + animationName = "anim_keyToBot" + } + } else { + animationName = "anim_keyToBot" + } + } + } else { + animationName = "" + } } - + var colors: [String: UIColor] = [:] for colorKey in colorKeys { colors[colorKey] = self.theme.chat.inputPanel.inputControlColor diff --git a/submodules/TelegramUI/Sources/TelegramRootController.swift b/submodules/TelegramUI/Sources/TelegramRootController.swift index 6957009e80..ab664bfbc6 100644 --- a/submodules/TelegramUI/Sources/TelegramRootController.swift +++ b/submodules/TelegramUI/Sources/TelegramRootController.swift @@ -74,11 +74,13 @@ public final class TelegramRootController: NavigationController { } }) - self.applicationInFocusDisposable = (context.sharedContext.applicationBindings.applicationIsActive - |> distinctUntilChanged - |> deliverOn(Queue.mainQueue())).start(next: { value in - context.sharedContext.mainWindow?.setForceBadgeHidden(!value) - }) + if context.sharedContext.applicationBindings.isMainApp { + self.applicationInFocusDisposable = (context.sharedContext.applicationBindings.applicationIsActive + |> distinctUntilChanged + |> deliverOn(Queue.mainQueue())).start(next: { value in + context.sharedContext.mainWindow?.setForceBadgeHidden(!value) + }) + } } required public init(coder aDecoder: NSCoder) {