@@ -18,11 +18,10 @@ import com.tencent.cloud.tuikit.engine.common.ContextProvider
1818import com.tencent.qcloud.tuicore.TUICore
1919import com.tencent.qcloud.tuicore.interfaces.ITUINotification
2020import com.trtc.uikit.livekit.R
21- import com.trtc.uikit.livekit.common.EVENT_KEY_LIVE_KIT
22- import com.trtc.uikit.livekit.common.EVENT_SUB_KEY_DESTROY_LIVE_VIEW
2321import com.trtc.uikit.livekit.common.LiveKitLogger
2422import com.trtc.uikit.livekit.common.PermissionRequest
2523import com.trtc.uikit.livekit.component.pippanel.PIPPanelStore
24+ import com.trtc.uikit.livekit.component.pippanel.PictureInPictureStore
2625import com.trtc.uikit.livekit.features.audienceview.AudienceView
2726import com.trtc.uikit.livekit.features.audienceview.AudienceViewDefine.AudienceViewListener
2827import com.trtc.uikit.livekit.features.endstatistics.AudienceEndStatisticsView
@@ -31,8 +30,8 @@ import com.trtc.uikit.livekit.livestream.impl.LiveInfoUtils
3130import com.trtc.uikit.livekit.livestream.impl.VideoLiveKitImpl
3231import io.trtc.tuikit.atomicx.common.FullScreenActivity
3332import io.trtc.tuikit.atomicx.common.foregroundservice.VideoForegroundService
34- import com.trtc.uikit.livekit.component.pippanel.PictureInPictureStore
3533import io.trtc.tuikit.atomicx.widget.basicwidget.popover.AtomicPopover
34+ import io.trtc.tuikit.atomicxcore.api.live.LiveInfo
3635import io.trtc.tuikit.atomicxcore.api.live.LiveListStore
3736import io.trtc.tuikit.atomicxcore.api.login.LoginStatus
3837import io.trtc.tuikit.atomicxcore.api.login.LoginStore
@@ -79,15 +78,14 @@ class VideoLiveAudienceActivity : FullScreenActivity(),
7978
8079 layoutContainer = findViewById(R .id.fl_container)
8180 val liveInfo = LiveInfoUtils .convertBundleToLiveInfo(liveBundle)
82-
81+
8382 audienceView = AudienceView (this ).apply {
8483 init (this @VideoLiveAudienceActivity, liveInfo.liveID)
8584 addListener(this @VideoLiveAudienceActivity)
8685 }
87-
86+
8887 layoutContainer.addView(audienceView)
8988 VideoLiveKitImpl .createInstance(applicationContext).addCallingAPIListener(this )
90- TUICore .registerEvent(EVENT_KEY_LIVE_KIT , EVENT_SUB_KEY_DESTROY_LIVE_VIEW , this )
9189 lifecycleScope.launchWhenStarted {
9290 launch {
9391 PermissionRequest .requestCompleteEvent.collect {
@@ -120,16 +118,13 @@ class VideoLiveAudienceActivity : FullScreenActivity(),
120118 TextUtils .equals(key, KEY_EXTENSION_NAME ) && TextUtils .equals(subKey, NOTIFY_START_ACTIVITY ) -> {
121119 val intent = param?.get(" intent" ) as ? Intent
122120 val requestCode = param?.get(" requestCode" ) as ? Int
123-
121+
124122 if (requestCode != null && intent != null ) {
125123 startActivityForResult(intent, requestCode)
126124 } else if (intent != null ) {
127125 startActivity(intent)
128126 }
129127 }
130- TextUtils .equals(key, EVENT_KEY_LIVE_KIT ) && EVENT_SUB_KEY_DESTROY_LIVE_VIEW == subKey -> {
131- destroyAudienceView()
132- }
133128 }
134129 }
135130
@@ -146,6 +141,7 @@ class VideoLiveAudienceActivity : FullScreenActivity(),
146141 }
147142
148143 override fun onDestroy () {
144+ AtomicPopover .dismissAll()
149145 super .onDestroy()
150146 BackgroundLaunchDetector .unregisterActivityLifecycleCallbacks(application, " VideoLiveAudienceActivity" )
151147 PIPPanelStore .sharedInstance().reset()
@@ -167,6 +163,7 @@ class VideoLiveAudienceActivity : FullScreenActivity(),
167163 TUICore .callService(KEY_EXTENSION_NAME , METHOD_ACTIVITY_RESULT , param)
168164 }
169165
166+ @Suppress(" MissingSuperCall" )
170167 override fun onBackPressed () {
171168 // Do nothing
172169 }
@@ -207,7 +204,7 @@ class VideoLiveAudienceActivity : FullScreenActivity(),
207204 }
208205 audienceView?.enablePictureInPictureMode(isInPictureInPictureMode)
209206 audienceEndStatisticsView?.enablePipMode(isInPictureInPictureMode)
210-
207+
211208 if (! isInPictureInPictureMode && lifecycle.currentState == Lifecycle .State .CREATED
212209 && PictureInPictureStore .shared.hasPipPermission(this )) {
213210 destroyAudienceView()
@@ -245,7 +242,7 @@ class VideoLiveAudienceActivity : FullScreenActivity(),
245242 }
246243 })
247244 }
248-
245+
249246 layoutContainer.removeAllViews()
250247 layoutContainer.addView(audienceEndStatisticsView)
251248 }
@@ -258,6 +255,10 @@ class VideoLiveAudienceActivity : FullScreenActivity(),
258255 }
259256 }
260257
258+ override fun onClickCloseButton (liveInfo : LiveInfo ) {
259+ finishAndRemoveTask()
260+ }
261+
261262 private fun destroyAudienceView () {
262263 if (isFinishing || isDestroyed) {
263264 return
0 commit comments