tongmengxiao 1 year ago
parent
commit
9137d71305

+ 1 - 1
baseswago/src/main/java/com/swago/baseswago/baseroom/RoomStateManager.kt

@@ -19,7 +19,7 @@ open class RoomStateManager{
     }
 
     fun removeListener(iRoomActiveListener: IRoomActiveListener){
-        iRoomActiveListeners.add(iRoomActiveListener)
+        iRoomActiveListeners.remove(iRoomActiveListener)
     }
 
 

+ 4 - 0
room/src/main/java/com/swago/room/base/BaseComFragment.kt

@@ -731,6 +731,7 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
             }
             gameDialog?.dialogDisFun = {
                 gameIsOpen = false
+                gameDialog = null
                 setChatRvPop()
             }
             gameDialog?.openMessageFun = {
@@ -839,6 +840,9 @@ abstract class BaseComFragment<T : FragmentBaseComBinding> : BaseXFragment<T>(),
 
     override fun leaveRoom(iRoomInfo: IRoomInfo) {
         dataChatList.clear()
+        dialog = null
+        gameDialog = null
+        msgListDialog = null
         chatAdapter.notifyDataSetChanged()
         if (iRoomInfo.getRoomType() == RoomType.AUDIO.type){
             val data = ArrayList<AudioSeatModel>()

+ 1 - 0
room/src/main/java/com/swago/room/game/GamePlayDialog.kt

@@ -325,6 +325,7 @@ class GamePlayDialog : BaseXDFragment<DialogGamePlayBinding>(), IRoomActiveListe
                 webView = null
                 binding.cl.removeAllViews()
             }
+            SwagoRoomManager.removeListener(this)
         } catch (e: Exception) {
             e.printStackTrace()
         }