Skip to content

Commit 7ccae15

Browse files
PualGeorgeAbySwifter
authored andcommitted
【Android】Fixed the issue where setting the SeatLayoutTemplate was not working.
1 parent 07a839d commit 7ccae15

12 files changed

Lines changed: 74 additions & 46 deletions

File tree

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/anchorboardcast/AnchorView.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ import io.trtc.tuikit.atomicxcore.api.live.LiveListStore
104104
import io.trtc.tuikit.atomicxcore.api.live.LiveUserInfo
105105
import io.trtc.tuikit.atomicxcore.api.live.NoResponseReason
106106
import io.trtc.tuikit.atomicxcore.api.live.SeatInfo
107+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
107108
import io.trtc.tuikit.atomicxcore.api.live.SeatUserInfo
108109
import io.trtc.tuikit.atomicxcore.api.live.StopLiveCompletionHandler
109110
import io.trtc.tuikit.atomicxcore.api.live.TakeSeatMode

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/audiencecontainer/AudienceContainerView.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.trtc.uikit.livekit.features.audiencecontainer.view.AudienceView
2020
import com.trtc.uikit.livekit.features.audiencecontainer.view.liveListviewpager.LiveListViewPager
2121
import com.trtc.uikit.livekit.features.audiencecontainer.view.liveListviewpager.LiveListViewPagerAdapter
2222
import io.trtc.tuikit.atomicxcore.api.live.LiveInfo
23+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
2324

2425
class AudienceContainerView @JvmOverloads constructor(
2526
context: Context,
@@ -45,7 +46,7 @@ class AudienceContainerView @JvmOverloads constructor(
4546
}
4647

4748
fun init(fragmentActivity: FragmentActivity, roomId: String) {
48-
val liveInfo = LiveInfo().apply {
49+
val liveInfo = LiveInfo(seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats).apply {
4950
this.liveID = roomId
5051
}
5152
this.fragmentActivity = fragmentActivity
@@ -65,7 +66,7 @@ class AudienceContainerView @JvmOverloads constructor(
6566
dataSource: AudienceContainerViewDefine.LiveListDataSource
6667
) {
6768
this.fragmentActivity = fragmentActivity
68-
val liveInfo = LiveInfo().apply {
69+
val liveInfo = LiveInfo(seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats).apply {
6970
this.liveID = roomId
7071
}
7172
init(fragmentActivity, liveInfo, dataSource)

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/audiencecontainer/store/AudienceStore.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import io.trtc.tuikit.atomicxcore.api.live.LiveListState
1717
import io.trtc.tuikit.atomicxcore.api.live.LiveListStore
1818
import io.trtc.tuikit.atomicxcore.api.live.LiveSeatState
1919
import io.trtc.tuikit.atomicxcore.api.live.LiveSeatStore
20+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
2021
import kotlinx.coroutines.flow.MutableStateFlow
2122
import kotlinx.coroutines.flow.update
2223

@@ -39,7 +40,7 @@ class AudienceStore(liveID: String) {
3940
private val roomEngineObserver: RoomEngineObserver
4041
private val audienceViewListenerList: AudienceViewListenerList
4142
private var audienceContainerViewListenerList: AudienceContainerViewListenerList? = null
42-
private val _liveInfo = MutableStateFlow(LiveInfo())
43+
private val _liveInfo = MutableStateFlow(LiveInfo(seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats))
4344

4445
val audienceState = AudienceState(_liveInfo)
4546

@@ -170,7 +171,7 @@ class AudienceStore(liveID: String) {
170171
ownerInfo.avatarURL
171172
)
172173
}
173-
updateLiveInfo(LiveInfo())
174+
updateLiveInfo(LiveInfo(seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats))
174175
}
175176
}
176177

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/features/audiencecontainer/view/AudienceView.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ import io.trtc.tuikit.atomicxcore.api.live.LiveSeatListener
8686
import io.trtc.tuikit.atomicxcore.api.live.LiveUserInfo
8787
import io.trtc.tuikit.atomicxcore.api.live.NoResponseReason
8888
import io.trtc.tuikit.atomicxcore.api.live.SeatInfo
89+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
8990
import io.trtc.tuikit.atomicxcore.api.live.SeatUserInfo
9091
import io.trtc.tuikit.atomicxcore.api.login.LoginStore
9192
import io.trtc.tuikit.atomicxcore.api.view.LiveCoreView
@@ -310,7 +311,7 @@ class AudienceView @JvmOverloads constructor(
310311
stopPreviewLiveStream()
311312
audienceStore.removeObserver()
312313
audienceStore.getLiveListStore().leaveLive(null)
313-
audienceStore.updateLiveInfo(LiveInfo())
314+
audienceStore.updateLiveInfo(LiveInfo(seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats))
314315
liveCoreView.setLocalVideoMuteImage(null, null)
315316
mediaStore.releaseVideoMuteBitmap()
316317
roomInfoView.unInit()

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/VideoLiveAnchorActivity.kt

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,12 @@ import com.trtc.uikit.livekit.livestream.impl.LiveInfoUtils
3535
import com.trtc.uikit.livekit.livestream.impl.VideoLiveKitImpl
3636
import io.trtc.tuikit.atomicx.pictureinpicture.PictureInPictureStore
3737
import io.trtc.tuikit.atomicxcore.api.live.LiveInfo
38+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
3839

39-
class VideoLiveAnchorActivity : FullScreenActivity(),
40-
VideoLiveKitImpl.CallingAPIListener,
41-
AnchorPrepareViewListener,
42-
AnchorViewListener,
40+
class VideoLiveAnchorActivity : FullScreenActivity(),
41+
VideoLiveKitImpl.CallingAPIListener,
42+
AnchorPrepareViewListener,
43+
AnchorViewListener,
4344
ITUINotification {
4445

4546
companion object {
@@ -59,7 +60,7 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
5960
private var anchorEndStatisticsView: AnchorEndStatisticsView? = null
6061
private var needCreateRoom = true
6162
private var roomId = ""
62-
private var liveInfo = LiveInfo()
63+
private var liveInfo = LiveInfo(seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats)
6364
private val anchorEndStatisticsInfo = AnchorEndStatisticsInfo()
6465

6566
override fun attachBaseContext(context: Context?) {
@@ -76,24 +77,24 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
7677
window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
7778
window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
7879
setContentView(R.layout.livekit_activity_video_live_anchor)
79-
80+
8081
roomId = intent.getStringExtra(INTENT_KEY_ROOM_ID) ?: ""
8182
liveInfo.liveID = roomId
8283
needCreateRoom = intent.getBooleanExtra(INTENT_KEY_NEED_CREATE, true)
83-
84+
8485
val liveBundle = intent.extras
8586
if (liveBundle != null && !liveBundle.containsKey(INTENT_KEY_ROOM_ID)) {
8687
liveInfo = LiveInfoUtils.convertBundleToLiveInfo(liveBundle)
8788
}
88-
89+
8990
layoutContainer = findViewById(R.id.fl_container)
90-
91+
9192
if (needCreateRoom) {
9293
addPrepareView()
9394
} else {
9495
addAnchorView()
9596
}
96-
97+
9798
TUICore.registerEvent(KEY_EXTENSION_NAME, NOTIFY_START_ACTIVITY, this)
9899
TUICore.registerEvent(EVENT_KEY_LIVE_KIT, EVENT_SUB_KEY_DESTROY_LIVE_VIEW, this)
99100
VideoLiveKitImpl.createInstance(applicationContext).addCallingAPIListener(this)
@@ -127,7 +128,7 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
127128
super.onDestroy()
128129
PIPPanelStore.sharedInstance().reset()
129130
TUICore.unRegisterEvent(this)
130-
131+
131132
anchorPrepareView?.removeAnchorPrepareViewListener(this)
132133
anchorView?.removeAnchorViewListener(this)
133134

@@ -142,7 +143,7 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
142143
PictureInPictureStore.shared.updateIsPictureInPictureMode(isInPictureInPictureMode)
143144
PIPPanelStore.sharedInstance().state.anchorIsPictureInPictureMode = isInPictureInPictureMode
144145
anchorView?.enablePipMode(isInPictureInPictureMode)
145-
146+
146147
if (!isInPictureInPictureMode && lifecycle.currentState == Lifecycle.State.CREATED) {
147148
finishAndRemoveTask()
148149
anchorView?.unInit()
@@ -154,7 +155,7 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
154155
init(liveInfo.liveID, null)
155156
addAnchorPrepareViewListener(this@VideoLiveAnchorActivity)
156157
}
157-
158+
158159
val layoutParams = FrameLayout.LayoutParams(
159160
FrameLayout.LayoutParams.MATCH_PARENT,
160161
FrameLayout.LayoutParams.MATCH_PARENT
@@ -168,22 +169,22 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
168169
anchorPrepareView?.let { prepareView ->
169170
params["coHostTemplateId"] = prepareView.getState()?.coHostTemplateId?.value ?: ""
170171
init(
171-
liveInfo,
172+
liveInfo,
172173
prepareView.getCoreView(),
173174
if (needCreateRoom) RoomBehavior.CREATE_ROOM else RoomBehavior.ENTER_ROOM,
174175
params
175176
)
176177
} ?: run {
177178
init(
178-
liveInfo,
179-
null,
180-
if (needCreateRoom) RoomBehavior.CREATE_ROOM else RoomBehavior.ENTER_ROOM,
179+
liveInfo,
180+
null,
181+
if (needCreateRoom) RoomBehavior.CREATE_ROOM else RoomBehavior.ENTER_ROOM,
181182
params
182183
)
183184
}
184185
addAnchorViewListener(this@VideoLiveAnchorActivity)
185186
}
186-
187+
187188
val layoutParams = FrameLayout.LayoutParams(
188189
FrameLayout.LayoutParams.MATCH_PARENT,
189190
FrameLayout.LayoutParams.MATCH_PARENT
@@ -201,7 +202,7 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
201202
liveInfo.isPublicVisible = it.liveMode.value == LiveStreamPrivacyStatus.PUBLIC
202203
liveInfo.coverURL = it.coverURL.value
203204
liveInfo.backgroundURL = it.coverURL.value
204-
liveInfo.seatLayoutTemplateID = it.coGuestTemplateId.value
205+
liveInfo.seatTemplate = LiveInfoUtils.getSeatLayoutTemplateByID(it.coGuestTemplateId.value, 0)
205206
}
206207
}
207208

@@ -233,7 +234,7 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
233234

234235
})
235236
}
236-
237+
237238
val layoutParams = FrameLayout.LayoutParams(
238239
FrameLayout.LayoutParams.MATCH_PARENT,
239240
FrameLayout.LayoutParams.MATCH_PARENT
@@ -279,11 +280,13 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
279280
TextUtils.equals(key, KEY_EXTENSION_NAME) && TextUtils.equals(subKey, NOTIFY_START_ACTIVITY) -> {
280281
param?.get("requestCode")?.let { requestCode ->
281282
startActivityRequestCode = requestCode as Int
282-
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
283-
== PackageManager.PERMISSION_GRANTED) {
284-
val intentToPickPic = Intent(Intent.ACTION_PICK, MediaStore.Video.Media.EXTERNAL_CONTENT_URI).apply {
285-
setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, PICK_CONTENT_ALL)
286-
}
283+
if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)
284+
== PackageManager.PERMISSION_GRANTED
285+
) {
286+
val intentToPickPic =
287+
Intent(Intent.ACTION_PICK, MediaStore.Video.Media.EXTERNAL_CONTENT_URI).apply {
288+
setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, PICK_CONTENT_ALL)
289+
}
287290
startActivityForResult(intentToPickPic, startActivityRequestCode)
288291
} else {
289292
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
@@ -296,6 +299,7 @@ class VideoLiveAnchorActivity : FullScreenActivity(),
296299
}
297300
}
298301
}
302+
299303
TextUtils.equals(key, EVENT_KEY_LIVE_KIT) && TextUtils.equals(subKey, EVENT_SUB_KEY_DESTROY_LIVE_VIEW) -> {
300304
destroyAnchorView()
301305
}

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/impl/LiveInfoUtils.kt

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.tencent.cloud.tuikit.engine.extension.TUILiveListManager
55
import com.tencent.cloud.tuikit.engine.room.TUIRoomDefine
66
import io.trtc.tuikit.atomicxcore.api.live.LiveInfo
77
import io.trtc.tuikit.atomicxcore.api.live.LiveUserInfo
8+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
89
import io.trtc.tuikit.atomicxcore.api.live.TakeSeatMode
910

1011
object LiveInfoUtils {
@@ -26,9 +27,7 @@ object LiveInfoUtils {
2627
putString("ownerAvatarUrl", liveInfo.liveOwner.avatarURL)
2728
putString("name", liveInfo.liveName)
2829
putBoolean("isMessageDisableForAllUser", liveInfo.isMessageDisable)
29-
putBoolean("isSeatEnabled", liveInfo.isSeatEnabled)
3030
putInt("seatMode", liveInfo.seatMode.ordinal)
31-
putInt("maxSeatCount", liveInfo.maxSeatCount)
3231
putLong("createTime", liveInfo.createTime)
3332
}
3433
}
@@ -40,19 +39,18 @@ object LiveInfoUtils {
4039
userName = liveBundle.getString("ownerName", "")
4140
avatarURL = liveBundle.getString("ownerAvatarUrl", "")
4241
},
43-
createTime = liveBundle.getLong("createTime", 0)
42+
createTime = liveBundle.getLong("createTime", 0),
43+
seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats
4444
).apply {
4545
liveID = liveBundle.getString("roomId", "")
4646

4747
liveName = liveBundle.getString("name", "")
4848
isMessageDisable = liveBundle.getBoolean("isMessageDisableForAllUser", false)
49-
isSeatEnabled = liveBundle.getBoolean("isSeatEnabled", false)
5049
seatMode = if (liveBundle.getInt("seatMode", 0) == 0) {
5150
TakeSeatMode.FREE
5251
} else {
5352
TakeSeatMode.APPLY
5453
}
55-
maxSeatCount = liveBundle.getInt("maxSeatCount", 0)
5654
coverURL = liveBundle.getString("coverUrl", "")
5755
backgroundURL = liveBundle.getString("backgroundUrl", "")
5856
categoryList = liveBundle.getIntegerArrayList("categoryList") ?: emptyList()
@@ -73,6 +71,7 @@ object LiveInfoUtils {
7371
keepOwnerOnSeat = this.keepOwnerOnSeat,
7472
maxSeatCount = this.maxSeatCount,
7573
seatMode = this.seatMode.toTakeSeatMode(),
74+
seatTemplate = getSeatLayoutTemplateByID(this.seatLayoutTemplateId, this.maxSeatCount),
7675
seatLayoutTemplateID = this.seatLayoutTemplateId,
7776
coverURL = this.coverUrl ?: "",
7877
backgroundURL = this.backgroundUrl ?: "",
@@ -130,4 +129,17 @@ object LiveInfoUtils {
130129
TakeSeatMode.APPLY -> TUIRoomDefine.SeatMode.APPLY_TO_TAKE
131130
}
132131
}
132+
133+
fun getSeatLayoutTemplateByID(seatLayoutTemplateID: Int, maxSeatCount: Int): SeatLayoutTemplate {
134+
return when (seatLayoutTemplateID) {
135+
600 -> SeatLayoutTemplate.VideoDynamicGrid9Seats
136+
601 -> SeatLayoutTemplate.VideoDynamicFloat7Seats
137+
800 -> SeatLayoutTemplate.VideoFixedGrid9Seats
138+
801 -> SeatLayoutTemplate.VideoFixedFloat7Seats
139+
200 -> SeatLayoutTemplate.VideoLandscape4Seats
140+
70 -> SeatLayoutTemplate.AudioSalon(maxSeatCount)
141+
50 -> SeatLayoutTemplate.Karaoke(maxSeatCount)
142+
else -> SeatLayoutTemplate.VideoDynamicGrid9Seats
143+
}
144+
}
133145
}

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/livestream/impl/VideoLiveKitImpl.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import io.trtc.tuikit.atomicxcore.api.CompletionHandler
2929
import io.trtc.tuikit.atomicxcore.api.live.LiveInfo
3030
import io.trtc.tuikit.atomicxcore.api.live.LiveInfoCompletionHandler
3131
import io.trtc.tuikit.atomicxcore.api.live.LiveListStore
32+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
3233
import io.trtc.tuikit.atomicxcore.api.live.StopLiveCompletionHandler
3334
import io.trtc.tuikit.atomicxcore.api.login.LoginStore
3435
import java.lang.ref.WeakReference
@@ -106,7 +107,7 @@ class VideoLiveKitImpl private constructor(context: Context) : VideoLiveKit {
106107
}
107108

108109
override fun joinLive(roomId: String) {
109-
val liveInfo = io.trtc.tuikit.atomicxcore.api.live.LiveInfo().apply {
110+
val liveInfo = LiveInfo(seatTemplate = SeatLayoutTemplate.VideoDynamicGrid9Seats).apply {
110111
liveID = roomId
111112
backgroundURL = DEFAULT_BACKGROUND_URL
112113
coverURL = DEFAULT_COVER_URL

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/voiceroom/store/PrepareStore.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import com.trtc.uikit.livekit.common.completionHandler
1111
import com.trtc.uikit.livekit.common.seatModeFromEngineSeatMode
1212
import io.trtc.tuikit.atomicxcore.api.live.LiveInfo
1313
import io.trtc.tuikit.atomicxcore.api.live.LiveListStore
14+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
1415
import io.trtc.tuikit.atomicxcore.api.live.TakeSeatMode
1516
import kotlinx.coroutines.flow.MutableStateFlow
1617

@@ -54,7 +55,8 @@ class PrepareStore {
5455
MutableStateFlow(
5556
LiveInfo(
5657
coverURL = DEFAULT_COVER_URL,
57-
backgroundURL = DEFAULT_BACKGROUND_URL
58+
backgroundURL = DEFAULT_BACKGROUND_URL,
59+
seatTemplate = SeatLayoutTemplate.AudioSalon(0),
5860
)
5961
)
6062
private val _layoutType = MutableStateFlow(LayoutType.VOICE_ROOM)
@@ -179,7 +181,8 @@ class PrepareStore {
179181
fun destroy() {
180182
_liveInfo.value = LiveInfo(
181183
coverURL = DEFAULT_COVER_URL,
182-
backgroundURL = DEFAULT_BACKGROUND_URL
184+
backgroundURL = DEFAULT_BACKGROUND_URL,
185+
seatTemplate = SeatLayoutTemplate.AudioSalon(0),
183186
)
184187
_liveExtraInfo.value = LiveExtraInfo()
185188
_liveStatus.value = LiveStatus.NONE

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/voiceroom/view/VoiceRoomRootView.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ import io.trtc.tuikit.atomicxcore.api.live.LiveSeatStore
9797
import io.trtc.tuikit.atomicxcore.api.live.LiveUserInfo
9898
import io.trtc.tuikit.atomicxcore.api.live.MetaDataCompletionHandler
9999
import io.trtc.tuikit.atomicxcore.api.live.SeatInfo
100+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
100101
import io.trtc.tuikit.atomicxcore.api.live.SeatUserInfo
101102
import io.trtc.tuikit.atomicxcore.api.live.StopLiveCompletionHandler
102103
import io.trtc.tuikit.atomicxcore.api.live.TakeSeatMode
@@ -507,13 +508,11 @@ class VoiceRoomRootView @JvmOverloads constructor(
507508
private fun start() {
508509
setComponent(COMPONENT_VOICE_ROOM)
509510
val prepareState = voiceRoomManager?.prepareStore?.prepareState
510-
val liveInfo = LiveInfo()
511-
liveInfo.isSeatEnabled = true
511+
val seatCount = prepareState?.liveInfo?.value?.maxSeatCount ?: 9
512+
val liveInfo = LiveInfo(seatTemplate = SeatLayoutTemplate.AudioSalon(seatCount))
512513
liveInfo.keepOwnerOnSeat = true
513-
liveInfo.seatLayoutTemplateID = TEMPLATE_ID_VOICE_ROOM
514514
liveInfo.liveID = prepareState?.liveInfo?.value?.liveID ?: ""
515515
liveInfo.liveName = prepareState?.liveInfo?.value?.liveName ?: ""
516-
liveInfo.maxSeatCount = prepareState?.liveInfo?.value?.maxSeatCount ?: 9
517516
liveInfo.seatMode = prepareState?.liveInfo?.value?.seatMode ?: TakeSeatMode.FREE
518517
liveInfo.backgroundURL =
519518
prepareState?.liveInfo?.value?.backgroundURL ?: DEFAULT_BACKGROUND_URL

live/tuilivekit/src/main/java/com/trtc/uikit/livekit/voiceroom/view/preview/AnchorPreviewView.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import io.trtc.tuikit.atomicxcore.api.live.LiveAudienceStore
2525
import io.trtc.tuikit.atomicxcore.api.live.LiveInfo
2626
import io.trtc.tuikit.atomicxcore.api.live.LiveInfoCompletionHandler
2727
import io.trtc.tuikit.atomicxcore.api.live.LiveListStore
28+
import io.trtc.tuikit.atomicxcore.api.live.SeatLayoutTemplate
2829
import io.trtc.tuikit.atomicxcore.api.live.TakeSeatMode
2930
import kotlinx.coroutines.CoroutineScope
3031
import kotlinx.coroutines.Dispatchers
@@ -116,13 +117,14 @@ class AnchorPreviewView @JvmOverloads constructor(
116117
}
117118
view.isEnabled = false
118119
val prepareState = voiceRoomManager?.prepareStore?.prepareState
119-
val liveInfo = LiveInfo()
120+
val maxSeatCount = prepareState?.liveInfo?.value?.maxSeatCount ?: 9
121+
val liveInfo = LiveInfo(seatTemplate = SeatLayoutTemplate.AudioSalon(maxSeatCount))
120122
liveInfo.isSeatEnabled = true
121123
liveInfo.keepOwnerOnSeat = true
122124
liveInfo.seatLayoutTemplateID = TEMPLATE_ID_VOICE_ROOM
123125
liveInfo.liveID = prepareState?.liveInfo?.value?.liveID ?: ""
124126
liveInfo.liveName = prepareState?.liveInfo?.value?.liveName ?: ""
125-
liveInfo.maxSeatCount = prepareState?.liveInfo?.value?.maxSeatCount ?: 9
127+
liveInfo.maxSeatCount = maxSeatCount
126128
liveInfo.seatMode = prepareState?.liveInfo?.value?.seatMode ?: TakeSeatMode.FREE
127129
liveInfo.backgroundURL = prepareState?.liveInfo?.value?.backgroundURL ?: DEFAULT_BACKGROUND_URL
128130
liveInfo.coverURL = prepareState?.liveInfo?.value?.coverURL ?: DEFAULT_COVER_URL

0 commit comments

Comments
 (0)