Various improvements

This commit is contained in:
Isaac
2023-12-28 16:55:12 +04:00
parent 4b16494e20
commit 7c0d5519bf
33 changed files with 933 additions and 109 deletions

View File

@@ -157,7 +157,7 @@ private class CallStatusBarBackgroundNode: ASDisplayNode {
}
public class CallStatusBarNodeImpl: CallStatusBarNode {
public enum Content {
public enum Content: Equatable {
case call(SharedAccountContext, Account, PresentationCall)
case groupCall(SharedAccountContext, Account, PresentationGroupCall)
@@ -167,6 +167,23 @@ public class CallStatusBarNodeImpl: CallStatusBarNode {
return sharedContext
}
}
public static func ==(lhs: Content, rhs: Content) -> Bool {
switch lhs {
case let .call(sharedContext, account, call):
if case let .call(rhsSharedContext, rhsAccount, rhsCall) = rhs, sharedContext === rhsSharedContext, account === rhsAccount, call === rhsCall {
return true
} else {
return false
}
case let .groupCall(sharedContext, account, groupCall):
if case let .groupCall(rhsSharedContext, rhsAccount, rhsGroupCall) = rhs, sharedContext === rhsSharedContext, account === rhsAccount, groupCall === rhsGroupCall {
return true
} else {
return false
}
}
}
}
private let backgroundNode: CallStatusBarBackgroundNode
@@ -236,10 +253,12 @@ public class CallStatusBarNodeImpl: CallStatusBarNode {
}
public func update(content: Content) {
self.currentContent = content
self.backgroundNode.animationsEnabled = content.sharedContext.energyUsageSettings.fullTranslucency
if self.isCurrentlyInHierarchy {
self.update()
if self.currentContent != content {
self.currentContent = content
self.backgroundNode.animationsEnabled = content.sharedContext.energyUsageSettings.fullTranslucency
if self.isCurrentlyInHierarchy {
self.update()
}
}
}