Pq 2 роки тому
батько
коміт
1333476654

+ 14 - 10
student/src/main/java/com/cooleshow/student/ui/live/LiveRoomActivity.java

@@ -181,6 +181,7 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
     private boolean connectStatusIsPaused = false;
     private boolean connectStatusIsPaused = false;
     private boolean isNeedRefresh = false;//是否需要重新刷新房间信息
     private boolean isNeedRefresh = false;//是否需要重新刷新房间信息
     private boolean liveIsFinish = false;//直播间是否已结束
     private boolean liveIsFinish = false;//直播间是否已结束
+    private boolean liveIsPause = false;//直播间是否已暂停
     private ServiceConnection serviceConnection;
     private ServiceConnection serviceConnection;
     private ObjectAnimator hideHeaderInfoAnim;
     private ObjectAnimator hideHeaderInfoAnim;
     private ObjectAnimator showHeaderInfoAnim;
     private ObjectAnimator showHeaderInfoAnim;
@@ -232,7 +233,7 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
                 //其他状态的时候需要重新刷新房间信息
                 //其他状态的时候需要重新刷新房间信息
                 isNeedRefresh = true;
                 isNeedRefresh = true;
             }
             }
-            if(status == ConnectionStatus.NETWORK_UNAVAILABLE){
+            if (status == ConnectionStatus.NETWORK_UNAVAILABLE) {
                 //网络不可用
                 //网络不可用
                 ToastUtil.getInstance().showShort("您的网络已断开,请检查网络~");
                 ToastUtil.getInstance().showShort("您的网络已断开,请检查网络~");
             }
             }
@@ -473,6 +474,11 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
         }
         }
 
 
         if (id == R.id.view_shop_car_anim) {
         if (id == R.id.view_shop_car_anim) {
+            if (liveIsFinish) {
+                //直播已结束,不可点击购物车
+                ToastUtil.getInstance().show(LiveRoomActivity.this, "直播已结束");
+                return;
+            }
             if (viewBinding.llShopCarMenu.getVisibility() != View.VISIBLE) {
             if (viewBinding.llShopCarMenu.getVisibility() != View.VISIBLE) {
                 viewBinding.llShopCarMenu.setVisibility(View.VISIBLE);
                 viewBinding.llShopCarMenu.setVisibility(View.VISIBLE);
             } else {
             } else {
@@ -1325,16 +1331,8 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
         }
         }
         Log.i("pq", "receive mic mode control msg 禁麦模式:" + isEnableMic);
         Log.i("pq", "receive mic mode control msg 禁麦模式:" + isEnableMic);
         this.isEnableMic = isEnableMic;
         this.isEnableMic = isEnableMic;
-        if (isEnableMic) {
+        if (isEnableMic && isOnApplyMic()) {
             handleCloseMicEvent();
             handleCloseMicEvent();
-            if (mLlMicContainer != null) {
-                mLlMicContainer.post(new Runnable() {
-                    @Override
-                    public void run() {
-                        mLlMicContainer.delAll();
-                    }
-                });
-            }
         }
         }
     }
     }
 
 
@@ -1495,6 +1493,7 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
         if (isFinishing() || isDestroyed()) {
         if (isFinishing() || isDestroyed()) {
             return;
             return;
         }
         }
+        this.liveIsPause = true;
         ToastUtil.getInstance().show(this, getString(R.string.live_is_pause_str));
         ToastUtil.getInstance().show(this, getString(R.string.live_is_pause_str));
         handleCloseMicEvent();
         handleCloseMicEvent();
         if (mMicManagerDialog != null) {
         if (mMicManagerDialog != null) {
@@ -1650,6 +1649,7 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
         mFlLiveView.post(new Runnable() {
         mFlLiveView.post(new Runnable() {
             @Override
             @Override
             public void run() {
             public void run() {
+                LiveRoomActivity.this.liveIsPause = false;
                 ArrayList<RCRTCVideoStream> videoStreams = new ArrayList<RCRTCVideoStream>();
                 ArrayList<RCRTCVideoStream> videoStreams = new ArrayList<RCRTCVideoStream>();
                 videoStreams.addAll(outputStreams);
                 videoStreams.addAll(outputStreams);
                 videoStreams.addAll(inputStreams);
                 videoStreams.addAll(inputStreams);
@@ -1922,6 +1922,10 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
      * 检查mic模式
      * 检查mic模式
      */
      */
     public boolean checkMicMode() {
     public boolean checkMicMode() {
+        if (liveIsPause) {
+            ToastUtil.getInstance().show(LiveRoomActivity.this, "直播已暂停");
+            return true;
+        }
         if (liveIsFinish) {
         if (liveIsFinish) {
             ToastUtil.getInstance().show(LiveRoomActivity.this, "直播已结束");
             ToastUtil.getInstance().show(LiveRoomActivity.this, "直播已结束");
             return true;
             return true;

+ 1 - 1
student/src/main/res/values/strings.xml

@@ -34,7 +34,7 @@
     <string name="cancel_seat_on_connecting">连麦申请中,确认取消连麦申请吗?</string>
     <string name="cancel_seat_on_connecting">连麦申请中,确认取消连麦申请吗?</string>
     <string name="cancel_seat_on_connected">连麦中,确认取消连麦吗?</string>
     <string name="cancel_seat_on_connected">连麦中,确认取消连麦吗?</string>
     <string name="exit_str">退出</string>
     <string name="exit_str">退出</string>
-    <string name="enable_mic_mode_tip">禁止连麦模式</string>
+    <string name="enable_mic_mode_tip">老师已关闭连麦申请</string>
     <string name="enter_live_tip_str">%1$s 进入直播间</string>
     <string name="enter_live_tip_str">%1$s 进入直播间</string>
     <string name="live_snap_up_tip_str">%1$s 正在抢购</string>
     <string name="live_snap_up_tip_str">%1$s 正在抢购</string>
 
 

+ 7 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/live/TeacherLiveRoomActivity.java

@@ -171,7 +171,7 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
                 isNeedRefresh = true;
                 isNeedRefresh = true;
             }
             }
 
 
-            if(status == ConnectionStatus.NETWORK_UNAVAILABLE){
+            if (status == ConnectionStatus.NETWORK_UNAVAILABLE) {
                 //网络不可用
                 //网络不可用
                 ToastUtil.getInstance().showShort("您的网络已断开,请检查网络~");
                 ToastUtil.getInstance().showShort("您的网络已断开,请检查网络~");
             }
             }
@@ -1112,7 +1112,7 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
         //用户离开直播间消息
         //用户离开直播间消息
         if (presenter != null && mRoomMicMemberHelper != null) {
         if (presenter != null && mRoomMicMemberHelper != null) {
             //删除连麦申请
             //删除连麦申请
-            if(!TextUtils.isEmpty(targetUserId)){
+            if (!TextUtils.isEmpty(targetUserId)) {
                 delApplyUser(targetUserId);
                 delApplyUser(targetUserId);
             }
             }
         }
         }
@@ -1316,6 +1316,11 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
             mLiveMicManagerDialog.setOnEventListener(new LiveMicManagerDialog.OnEventListener() {
             mLiveMicManagerDialog.setOnEventListener(new LiveMicManagerDialog.OnEventListener() {
                 @Override
                 @Override
                 public void onAgreeApply(User user) {
                 public void onAgreeApply(User user) {
+                    ArrayList<User> onMicUsers = mRoomMicMemberHelper.getOnMicUsers();
+                    if (onMicUsers != null && onMicUsers.size() >= 4) {
+                        ToastUtil.getInstance().showShort("最多支持4人上麦哦~");
+                        return;
+                    }
                     //同意连麦申请
                     //同意连麦申请
                     presenter.handleAction(LiveRoomMsgConstants.ACTION_AGREE_MIC_APPLY, user);
                     presenter.handleAction(LiveRoomMsgConstants.ACTION_AGREE_MIC_APPLY, user);
                     if (mRoomMicMemberHelper != null) {
                     if (mRoomMicMemberHelper != null) {