honghengqiang 3 anos atrás
pai
commit
8f75d325b3

+ 6 - 4
baseswago/src/main/java/com/swago/baseswago/baseroom/RoomTimer.kt

@@ -14,9 +14,11 @@ object RoomTimer : IRoomActiveListener{
     var currentTime = 0
     var currentTime = 0
     const val TIME_TICK = 100
     const val TIME_TICK = 100
 
 
-    var timeTickFun:((time:Int)->Unit)? = null
+    interface TimeTickListener {
+        fun onTimeCount(time:Int)
+    }
 
 
-    val timeTickList = ArrayList<(time:Int)->Unit>()
+    val timeTickList = ArrayList<TimeTickListener>()
 
 
     fun init(){
     fun init(){
         SwagoRoomManager.addListener(this)
         SwagoRoomManager.addListener(this)
@@ -30,8 +32,8 @@ object RoomTimer : IRoomActiveListener{
             }
             }
             when(msg.what){
             when(msg.what){
                 TIME_TICK -> {
                 TIME_TICK -> {
-                    timeTickList.forEach { timeTickFun ->
-                        timeTickFun.invoke(currentTime)
+                    timeTickList.forEach { listener ->
+                        listener.onTimeCount(currentTime)
                     }
                     }
                     currentTime++
                     currentTime++
                     sendEmptyMessageDelayed(TIME_TICK,1000)
                     sendEmptyMessageDelayed(TIME_TICK,1000)

+ 1 - 0
room/src/main/java/com/swago/room/anchor/AnchorRoomFragment.kt

@@ -70,6 +70,7 @@ class AnchorRoomFragment : BaseComFragment<FragmentBaseComBinding>() {
     }
     }
 
 
     override fun closeRoomed() {
     override fun closeRoomed() {
+        super.closeRoomed()
     }
     }
 
 
     override val iHeader: IHeader by lazy {
     override val iHeader: IHeader by lazy {

+ 16 - 1
room/src/main/java/com/swago/room/base/BaseComFragment.kt

@@ -10,6 +10,7 @@ import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView
 import com.gyf.immersionbar.ImmersionBar
 import com.gyf.immersionbar.ImmersionBar
 import com.swago.baseswago.baseroom.IRoomActiveListener
 import com.swago.baseswago.baseroom.IRoomActiveListener
+import com.swago.baseswago.baseroom.RoomTimer
 import com.swago.baseswago.baseroom.SwagoRoomManager
 import com.swago.baseswago.baseroom.SwagoRoomManager
 import com.swago.baseswago.fragment.BaseXFragment
 import com.swago.baseswago.fragment.BaseXFragment
 import com.swago.baseswago.im.IRoomChat
 import com.swago.baseswago.im.IRoomChat
@@ -34,7 +35,8 @@ import java.util.concurrent.CopyOnWriteArrayList
  *@date 2021/10/8 16:43
  *@date 2021/10/8 16:43
  *description:
  *description:
  */
  */
-abstract class BaseComFragment<T:FragmentBaseComBinding> : BaseXFragment<T>(),IRoomActiveListener {
+abstract class BaseComFragment<T:FragmentBaseComBinding> : BaseXFragment<T>(),IRoomActiveListener,
+    RoomTimer.TimeTickListener {
 
 
     val roomVm by activityViewModels<RoomVm>()
     val roomVm by activityViewModels<RoomVm>()
     val msgVm by activityViewModels<MsgVm>()
     val msgVm by activityViewModels<MsgVm>()
@@ -64,6 +66,7 @@ abstract class BaseComFragment<T:FragmentBaseComBinding> : BaseXFragment<T>(),IR
     }
     }
 
 
     override fun initOther() {
     override fun initOther() {
+        RoomTimer.timeTickList.add(this)
         SwagoRoomManager.addListener(this)
         SwagoRoomManager.addListener(this)
         binding.headFl.addView(iHeader.getHeaderView())
         binding.headFl.addView(iHeader.getHeaderView())
         binding.footerFl.addView(iFooter.getFooterView())
         binding.footerFl.addView(iFooter.getFooterView())
@@ -180,6 +183,9 @@ abstract class BaseComFragment<T:FragmentBaseComBinding> : BaseXFragment<T>(),IR
         msgListDialog?.show(childFragmentManager,"MessageListDialog")
         msgListDialog?.show(childFragmentManager,"MessageListDialog")
     }
     }
 
 
+    override fun closeRoomed() {
+        RoomTimer.timeTickList.remove(this)
+    }
 
 
     inner class RoomChatItemDecoration : RecyclerView.ItemDecoration() {
     inner class RoomChatItemDecoration : RecyclerView.ItemDecoration() {
 
 
@@ -204,4 +210,13 @@ abstract class BaseComFragment<T:FragmentBaseComBinding> : BaseXFragment<T>(),IR
         msgVm.isReady = false
         msgVm.isReady = false
     }
     }
 
 
+    override fun onTimeCount(time: Int) {
+        if (time%30 == 0){
+            SwagoRoomManager.iRoomInfo?.let {
+                roomVm.loadRoomData(it.getRoomId())
+            }
+
+        }
+    }
+
 }
 }

+ 11 - 2
room/src/main/java/com/swago/room/gift/control/SvgPlayerManager.kt

@@ -43,7 +43,8 @@ class SvgPlayerManager : IRoomActiveListener {
     }
     }
 
 
     override fun changeRoom(iRoomInfo: IRoomInfo) {
     override fun changeRoom(iRoomInfo: IRoomInfo) {
-
+        svgListQueue.clear()
+        xSvgPlayer?.clear()
     }
     }
 
 
     override fun leaveRoom(iRoomInfo: IRoomInfo) {
     override fun leaveRoom(iRoomInfo: IRoomInfo) {
@@ -73,7 +74,15 @@ class SvgPlayerManager : IRoomActiveListener {
                 svgListQueue.add(it)
                 svgListQueue.add(it)
                 this.xSvgPlayer?.playSvga(it)
                 this.xSvgPlayer?.playSvga(it)
             } else {
             } else {
-                svgListQueue.add(it)
+                this.xSvgPlayer?.apply {
+                    if (this.isCanplay){
+                        svgListQueue.add(it)
+                    }else{
+                        svgListQueue.clear()
+                        svgListQueue.add(it)
+                        this.playSvga(it)
+                    }
+                }
             }
             }
         }
         }
     }
     }

+ 1 - 1
room/src/main/java/com/swago/room/ranklist/RankListAdapter.kt

@@ -56,7 +56,7 @@ class RankListAdapter  : BaseQuickAdapter<RankListModel.ListBean, BaseViewHolder
 
 
                 else -> {
                 else -> {
                     setBackgroundRes(R.id.tvPosition,R.drawable.shape_white_20)
                     setBackgroundRes(R.id.tvPosition,R.drawable.shape_white_20)
-                    setText(R.id.tvPosition,layoutPosition+1)
+                    setText(R.id.tvPosition,"${layoutPosition+1}")
                 }
                 }
             }
             }
         }
         }

+ 3 - 2
room/src/main/java/com/swago/room/ranklist/RankListFragment.kt

@@ -3,6 +3,7 @@ package com.swago.room.ranklist
 import android.os.Bundle
 import android.os.Bundle
 import androidx.fragment.app.viewModels
 import androidx.fragment.app.viewModels
 import androidx.recyclerview.widget.GridLayoutManager
 import androidx.recyclerview.widget.GridLayoutManager
+import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import androidx.recyclerview.widget.RecyclerView
 import com.chad.library.adapter.base.BaseQuickAdapter
 import com.chad.library.adapter.base.BaseQuickAdapter
 import com.swago.baseswago.cusview.SwagoRecyclerView
 import com.swago.baseswago.cusview.SwagoRecyclerView
@@ -29,11 +30,11 @@ class RankListFragment :  BaseListFragment<FragmentRankListBinding, RankListMode
         RankListAdapter()
         RankListAdapter()
     }
     }
     override val layoutManager: RecyclerView.LayoutManager by lazy {
     override val layoutManager: RecyclerView.LayoutManager by lazy {
-        GridLayoutManager(context,2)
+        LinearLayoutManager(context)
     }
     }
     override val loadData: (page: Int) -> Unit = {
     override val loadData: (page: Int) -> Unit = {
         if (roomId.isNotEmpty()){
         if (roomId.isNotEmpty()){
-            roomOtherVm.getRankList(roomId,type)
+            roomOtherVm.getRankList(roomId,type,it+1)
         }
         }
 
 
     }
     }

+ 1 - 1
room/src/main/java/com/swago/room/service/AgoraForegroundService.java

@@ -78,7 +78,7 @@ public class AgoraForegroundService extends Service {
         }
         }
 
 
         builder.setContentTitle(NAME)
         builder.setContentTitle(NAME)
-                .setContentText("")
+                .setContentText("Swago is running")
                 .setWhen(System.currentTimeMillis())
                 .setWhen(System.currentTimeMillis())
                 .setSmallIcon(R.drawable.app_logo)
                 .setSmallIcon(R.drawable.app_logo)
                 .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.app_logo))
                 .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.app_logo))

+ 1 - 0
room/src/main/java/com/swago/room/user/UserRoomFragment.kt

@@ -154,6 +154,7 @@ class UserRoomFragment : BaseComFragment<FragmentBaseComBinding>() {
     }
     }
 
 
     override fun closeRoomed() {
     override fun closeRoomed() {
+        super.closeRoomed()
     }
     }
 
 
     override val iHeader: IHeader by lazy {
     override val iHeader: IHeader by lazy {

+ 2 - 2
room/src/main/java/com/swago/room/vm/RoomOtherVm.kt

@@ -19,10 +19,10 @@ class RoomOtherVm (application: Application) : BaseViewModel(application){
     }
     }
 
 
 
 
-    fun getRankList(roomId:String,rankType:Int){
+    fun getRankList(roomId:String,rankType:Int,page:Int){
         requestData2 {
         requestData2 {
             requestData {
             requestData {
-                val data = ApiManager.roomApi.getRankList(roomId,rankType)
+                val data = ApiManager.roomApi.getRankList(roomId,rankType,page)
                 rankListLiveData.value = data.list
                 rankListLiveData.value = data.list
             }
             }