mirror of
https://github.com/vector-im/element-ios.git
synced 2024-09-29 15:52:40 +00:00
Update title view mode according to thread status
This commit is contained in:
parent
16b1c8711f
commit
c8ad2be1d4
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:
|
||||
|
|
|
@ -32,10 +32,8 @@ class ThreadViewController: RoomViewController {
|
|||
return UINib(nibName: String(describing: RoomViewController.self), bundle: .main)
|
||||
}
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
self.setRoomTitleViewClass(ThreadRoomTitleView.self)
|
||||
override func setRoomTitleViewClass(_ roomTitleViewClass: AnyClass!) {
|
||||
super.setRoomTitleViewClass(ThreadRoomTitleView.self)
|
||||
|
||||
guard let threadTitleView = self.titleView as? ThreadRoomTitleView else {
|
||||
return
|
||||
|
@ -44,8 +42,4 @@ class ThreadViewController: RoomViewController {
|
|||
threadTitleView.threadId = threadId
|
||||
}
|
||||
|
||||
override func setRoomTitleViewClass(_ roomTitleViewClass: AnyClass!) {
|
||||
super.setRoomTitleViewClass(ThreadRoomTitleView.self)
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue