Selaa lähdekoodia

fix: RoomUserTaskView红包倒计时问题

XiaodongLin 6 kuukautta sitten
vanhempi
sitoutus
25a15657e2

+ 17 - 4
module/room/src/main/java/com/adealink/weparty/room/usertask/RoomUserTaskView.kt

@@ -45,19 +45,26 @@ class RoomUserTaskView @JvmOverloads constructor(
         val isOnMic = RoomModule.isIAmOnMic()
         val roomMicTimeTask = UserTaskManager.roomMicTime.value
         val roomLiveTimeTask = UserTaskManager.roomLiveTime.value
+        Log.i(
+            TAG,
+            "initView111: isOnMic = $isOnMic,  UserTaskManager.roomLiveTime: ${UserTaskManager.roomLiveTime.value?.isCompleted()},roomMicTimeTask: ${UserTaskManager.roomMicTime.value?.isCompleted()}"
+        )
 
         //判断是否有上麦任务
         if (roomMicTimeTask == null) {
             initView(false, lifecycleOwner, fragmentManager)
         } else {
-            if (roomLiveTimeTask?.isCompleted() == false && !roomMicTimeTask.isCompleted()) {
+            if (roomLiveTimeTask==null){
+                //在房任务也为空
+                initView(false, lifecycleOwner, fragmentManager)
+            }else if (!roomLiveTimeTask.isCompleted() && !roomMicTimeTask.isCompleted()) {
                 //都没有完成,根据麦位状态显示
                 if (isOnMic) {
                     initView(true, lifecycleOwner, fragmentManager)
                 } else {
                     initView(false, lifecycleOwner, fragmentManager)
                 }
-            } else if (roomLiveTimeTask?.isCompleted() == true && !roomMicTimeTask.isCompleted()) {
+            } else if (roomLiveTimeTask.isCompleted() && !roomMicTimeTask.isCompleted()) {
                 //停留任务完成,上麦任务未完成
                 initView(IAmOnMic = isOnMic, lifecycleOwner, fragmentManager)
             } else if (roomMicTimeTask.isCompleted()) {
@@ -81,6 +88,7 @@ class RoomUserTaskView @JvmOverloads constructor(
             "initView: IAmOnMic = $IAmOnMic,  UserTaskManager.roomLiveTime: ${UserTaskManager.roomLiveTime.value?.isCompleted()},roomMicTimeTask: ${UserTaskManager.roomMicTime.value?.isCompleted()}"
         )
         val roomMicTimeTask = UserTaskManager.roomMicTime.value
+        val roomLiveTimeTask = UserTaskManager.roomLiveTime.value
 
         if (IAmOnMic && roomMicTimeTask != null && !roomMicTimeTask.isCompleted()) {
             RoomTaskMonitor.startOnMicCountDown()
@@ -92,20 +100,25 @@ class RoomUserTaskView @JvmOverloads constructor(
             }
         } else {
             RoomTaskMonitor.stopOnMicCountDown()
-            if (UserTaskManager.roomLiveTime.value?.isCompleted() == false) {
+            if (roomLiveTimeTask != null && !roomLiveTimeTask.isCompleted()) {
+                //显示在房任务
                 UserTaskManager.liveCountDownTime.observe(lifecycleOwner) {
                     binding.tvLiveTimeCountdown.text = timeToMS(it)
                     setClick(false, fragmentManager)
                 }
                 binding.roomMicTimeTaskLayout.gone()
                 binding.roomLiveTimeTaskLayout.show()
-            } else {
+            } else if (roomMicTimeTask != null && !roomMicTimeTask.isCompleted()) {
                 UserTaskManager.micCountDownTime.observe(lifecycleOwner) {
                     binding.tvMicTimeCountdown.text = timeToMS(it)
                     setClick(true, fragmentManager)
                 }
                 binding.roomMicTimeTaskLayout.show()
                 binding.roomLiveTimeTaskLayout.gone()
+            }else{
+                //任务都完成了
+                binding.roomMicTimeTaskLayout.gone()
+                binding.roomLiveTimeTaskLayout.gone()
             }
         }
     }