Update title view mode according to thread status

This commit is contained in:
ismailgulek
2021-11-11 01:39:14 +03:00
parent 7d6e08e3b1
commit dafcf0085e
2 changed files with 29 additions and 10 deletions
@@ -31,7 +31,11 @@ class ThreadRoomTitleView: RoomTitleView {
update()
}
}
var threadId: String!
var threadId: String! {
didSet {
updateMode()
}
}
// Container views
@IBOutlet private weak var partialContainerView: UIView!
@@ -49,6 +53,12 @@ class ThreadRoomTitleView: RoomTitleView {
return fullCloseButton
}
override var mxRoom: MXRoom! {
didSet {
updateMode()
}
}
override class func nib() -> UINib! {
return UINib(nibName: String(describing: self),
bundle: .main)
@@ -77,7 +87,6 @@ class ThreadRoomTitleView: RoomTitleView {
super.awakeFromNib()
update(theme: ThemeService.shared().theme)
update()
}
override func didMoveToSuperview() {
@@ -91,6 +100,22 @@ class ThreadRoomTitleView: RoomTitleView {
}
}
private func updateMode() {
// ensure both mxRoom and threadId are set
guard let room = mxRoom,
let threadId = threadId else {
return
}
if room.mxSession.threadingService.thread(withId: threadId) == nil {
// thread not created yet
mode = .partial
} else {
// thread created before
mode = .full
}
}
private func update() {
switch mode {
case .partial: