Browse Source

1.修改主播关闭直播后app没有关闭直播进度检测bug

王鹏鹏 2 years ago
parent
commit
afeb18ed43

+ 40 - 23
livebroadcast/src/main/java/com/yingyang/livebroadcast/activity/detail/LiveBroadcastActivity.kt

@@ -162,20 +162,6 @@ class LiveBroadcastActivity :
         }
     }
 
-    override fun onDestroy() {
-        runOnUiThread {
-            if (mLivePlayer != null) {
-                if (mPlayFlag) {
-                    mLivePlayer!!.stopPlay()
-                }
-                mLivePlayer = null
-            }
-            timer.cancel()
-            V2TIMManager.getMessageManager().removeAdvancedMsgListener(simpleMsgListener)
-        }
-        super.onDestroy()
-    }
-
     @SuppressLint("ClickableViewAccessibility")
     override fun onTouch(v: View, event: MotionEvent): Boolean {
         when (event.action) {
@@ -287,15 +273,7 @@ class LiveBroadcastActivity :
                                             }
 
                                             "endLive" -> {
-                                                val messageDialog = MessageDialog()
-                                                messageDialog.setContent("", "", "直播结束")
-                                                messageDialog.onDialogClickListener = {
-                                                    finish()
-                                                }
-                                                messageDialog.show(
-                                                    supportFragmentManager,
-                                                    "taskFragment"
-                                                )
+                                                endLive()
                                             }
                                         }
                                     }
@@ -362,4 +340,43 @@ class LiveBroadcastActivity :
         super.onResume()
         LiveEventBusUtil.send(RxBusCodes.FINISHGAME, "")
     }
+
+    override fun onDestroy() {
+        stopLive()
+        super.onDestroy()
+    }
+
+    /**
+     * 直播结束
+     */
+    private fun endLive() {
+        runOnUiThread {
+            stopLive()
+            val messageDialog = MessageDialog()
+            messageDialog.setContent("", "", "直播结束")
+            messageDialog.onDialogClickListener = {
+                finish()
+            }
+            messageDialog.show(
+                supportFragmentManager,
+                "taskFragment"
+            )
+        }
+    }
+
+    /**
+     * 关闭直播
+     */
+    private fun stopLive() {
+        runOnUiThread {
+            if (mLivePlayer != null) {
+                if (mPlayFlag) {
+                    mLivePlayer!!.stopPlay()
+                }
+                mLivePlayer = null
+            }
+            timer.cancel()
+            V2TIMManager.getMessageManager().removeAdvancedMsgListener(simpleMsgListener)
+        }
+    }
 }