Browse Source

增加直播间关闭倒计时逻辑

Pq 3 years ago
parent
commit
60dd124e23

+ 18 - 3
teacher/src/main/java/com/cooleshow/teacher/ui/live/TeacherLiveRoomActivity.java

@@ -202,10 +202,10 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
                 //倒计时处理
                 //倒计时处理
                 countTimeTotal = countTimeTotal - LIVE_TIME_COUNT_SPACE;
                 countTimeTotal = countTimeTotal - LIVE_TIME_COUNT_SPACE;
                 if (countTimeTotal <= 0) {
                 if (countTimeTotal <= 0) {
-                    updateTimeText(DEFAULT_TIME_TEXT);
                     if (checkIsNeedRecount()) {
                     if (checkIsNeedRecount()) {
-                        countTimeTotal = mRoomInfoBean.getExpiredCloseMinute();
-                        sendEndTipCountTimeMessage();
+                        handleEndTipTimeCount();
+                    } else {
+                        updateTimeText(DEFAULT_TIME_TEXT);
                     }
                     }
                     return;
                     return;
                 }
                 }
@@ -431,6 +431,8 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
         if (presenter != null) {
         if (presenter != null) {
             presenter.handleAction(LiveRoomMsgConstants.ACTION_SEND_PAUSE_LIVE);
             presenter.handleAction(LiveRoomMsgConstants.ACTION_SEND_PAUSE_LIVE);
             currentLiveStatus = LiveConfig.LIVE_STATUS_PAUSE;
             currentLiveStatus = LiveConfig.LIVE_STATUS_PAUSE;
+            mHandler.removeMessages(LIVE_TIME_COUNT);
+            mHandler.removeMessages(LIVE_TIME_COUNT_END_TIP);
             presenter.cancelPublish(null);
             presenter.cancelPublish(null);
         }
         }
     }
     }
@@ -526,6 +528,19 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
         }
         }
     }
     }
 
 
+    private void handleEndTipTimeCount() {
+        if (mRoomInfoBean == null) {
+            return;
+        }
+        Date date = DateUtil.str2Date(mRoomInfoBean.liveEndTime);
+        long currentTime = System.currentTimeMillis();
+        if (date != null) {
+            long timeResult = date.getTime() + mRoomInfoBean.getExpiredCloseMinute() - currentTime;
+            countTimeTotal = timeResult > 0 ? timeResult : 0;
+            sendEndTipCountTimeMessage();
+        }
+    }
+
     private void handleTimerCount() {
     private void handleTimerCount() {
         if (mRoomInfoBean == null) {
         if (mRoomInfoBean == null) {
             return;
             return;