Skip to content

Commit 174e79a

Browse files
ggzgliAbySwifter
authored andcommitted
【TUILiveKit】【iOS】Audience initialization support room id or live info
1 parent 21f00ba commit 174e79a

File tree

4 files changed

+22
-6
lines changed

4 files changed

+22
-6
lines changed

iOS/TUILiveKit/Sources/LiveStream/Main/Manager/LiveStreamManager.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ extension LiveStreamManager {
116116
func prepareLiveInfoBeforeEnterRoom(liveInfo: TUILiveInfo) {
117117
context.roomManager.updateLiveInfo(liveInfo: liveInfo)
118118
}
119+
120+
func prepareRoomIdBeforeEnterRoom(roomId: String) {
121+
context.roomManager.update(roomId: roomId)
122+
}
119123
}
120124

121125
// MARK: - Media API

iOS/TUILiveKit/Sources/LiveStream/Main/Manager/Module/LSRoomManager.swift

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ extension LSRoomManager {
4242

4343
// MARK: - Interface
4444
extension LSRoomManager {
45+
func update(roomId: String) {
46+
update { state in
47+
state.roomId = roomId
48+
}
49+
}
50+
4551
func update(roomState: LSRoomStateUpdateClosure) {
4652
observerState.update(reduce: roomState)
4753
}

iOS/TUILiveKit/Sources/LiveStream/TUILiveRoomAudienceViewController.swift

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import RTCRoomEngine
1313
public class TUILiveRoomAudienceViewController: UIViewController {
1414

1515
private lazy var audienceView: AudienceView = {
16-
let view = AudienceView(roomId: liveInfo.roomInfo.roomId, manager: manager, routerManager: routerManager, coreView: coreView)
16+
let view = AudienceView(roomId: roomId, manager: manager, routerManager: routerManager, coreView: coreView)
1717
view.livingView.onButtonTap = { [weak self] in
1818
guard let self = self else { return }
1919
FloatWindow.shared.showFloatWindow(controller: self)
@@ -24,7 +24,7 @@ public class TUILiveRoomAudienceViewController: UIViewController {
2424
private let coreView = LiveCoreView()
2525

2626
// MARK: - private property.
27-
let liveInfo: TUILiveInfo
27+
let roomId: String
2828
private let manager = LiveStreamManager()
2929
private let routerManager: LSRouterManager = LSRouterManager()
3030
private var cancellableSet = Set<AnyCancellable>()
@@ -35,8 +35,14 @@ public class TUILiveRoomAudienceViewController: UIViewController {
3535
return routerCenter
3636
}()
3737

38+
public init(roomId: String) {
39+
self.roomId = roomId
40+
manager.prepareRoomIdBeforeEnterRoom(roomId: roomId)
41+
super.init(nibName: nil, bundle: nil)
42+
}
43+
3844
public init(liveInfo: TUILiveInfo) {
39-
self.liveInfo = liveInfo
45+
self.roomId = liveInfo.roomInfo.roomId
4046
manager.prepareLiveInfoBeforeEnterRoom(liveInfo: liveInfo)
4147
super.init(nibName: nil, bundle: nil)
4248
}
@@ -100,7 +106,7 @@ extension TUILiveRoomAudienceViewController {
100106
// MARK: - FloatWindowDataSource
101107
extension TUILiveRoomAudienceViewController: FloatWindowDataSource {
102108
func getRoomId() -> String {
103-
liveInfo.roomInfo.roomId
109+
roomId
104110
}
105111

106112
func getCoreView() -> LiveCoreView {

iOS/TUILiveKit/VideoLiveKit.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ public class VideoLiveKit: NSObject {
2626
getRootController()?.present(viewController, animated: true)
2727
}
2828

29-
public func joinLive(liveInfo: TUILiveInfo) {
30-
let viewController = TUILiveRoomAudienceViewController(liveInfo: liveInfo)
29+
public func joinLive(roomId: String) {
30+
let viewController = TUILiveRoomAudienceViewController(roomId: roomId)
3131
viewController.modalPresentationStyle = .fullScreen
3232
getRootController()?.present(viewController, animated: true)
3333
}

0 commit comments

Comments
 (0)