소스 검색

修改学生端直播间禁止连麦逻辑

Pq 1 년 전
부모
커밋
11e03487c6

+ 1 - 0
tclive/src/main/java/com/daya/tclive/constants/TTLiveConfig.java

@@ -51,6 +51,7 @@ public class TTLiveConfig {
     public static final String LIVE_ROOM_GLOBAL_BAN_KEY = "GLOBAL_BAN";//群全局禁言状态 开启禁言"ON" 关闭禁言 "OFF"
     public static final String LIVE_ROOM_MIC_STATUS_KEY = "micStatus";//开关麦克风状态key
     public static final String LIVE_ROOM_MIC_STATUS_MODE_KEY = "ANCHOR_MIC";//主播全员闭麦状态key
+    public static final String LIVE_ROOM_MIC_APPLY_STATUS_KEY = "BAN_LINK_MIC";//连麦申请状态
     public static final String LIVE_ROOM_MIC_STATUS_ON_VALUE = "1";//
     public static final String LIVE_ROOM_MIC_STATUS_OFF_VALUE = "0";//
     public static final String STATUS_ON = "ON";//开 true

+ 12 - 2
tclive/src/main/java/com/daya/tclive/presenter/TCLivePresenter.java

@@ -573,7 +573,17 @@ public class TCLivePresenter extends BasePresenter<TCLiveRoomContract.TCLiveRoom
     }
 
     public void syncMicMode(String roomId, int micMode) {
-        create(TeacherAPIService.class).syncMicMode(roomId, micMode)
+        JSONObject jsonObject = new JSONObject();
+        try {
+            jsonObject.put("roomUid", roomId);
+            jsonObject.put("linkMic", micMode);
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+        RequestBody requestBody = RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString());
+        String currentTimeMillis = String.valueOf(System.currentTimeMillis());
+
+        create(TeacherAPIService.class).notifyLiveRoomStatusAction(currentTimeMillis, requestBody)
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new Observer<BaseResponse<Object>>() {
@@ -648,7 +658,7 @@ public class TCLivePresenter extends BasePresenter<TCLiveRoomContract.TCLiveRoom
         handleAction(LiveRoomMsgConstants.ACTION_SEND_LEAVE_ROOM);
         ImUserState imUserState = new ImUserState();
         imUserState.setStatus(ImUserState.ACTION_LEAVE_LIVE_ROOM);
-        imUserState.setUserid(UserHelper.getUserId());
+        imUserState.setUserid(UserHelper.getImUserId());
         imUserState.setOs("Android");
         ArrayList<ImUserState> imUserStates = new ArrayList();
         imUserStates.add(imUserState);

+ 18 - 3
tclive/src/main/java/com/daya/tclive/ui/TCStudentLiveRoomActivity.java

@@ -177,7 +177,7 @@ public class TCStudentLiveRoomActivity extends BaseMVPActivity<AcTtLiveroomLayou
     private ObjectAnimator hideHeaderInfoAnim;
     private ObjectAnimator showHeaderInfoAnim;
     private boolean isEnableChat = false;//默认不禁止
-    private boolean isEnableMic = false;//默认不禁止
+    private boolean isDisableMicApply = false;//默认不禁止
     private boolean isEnableAll = false;//默认不禁止 黑名单状态
     private boolean isPcClientLive = true;//默认为PC端直播
     private boolean isMuteAllMic = false;//默认为不禁止麦克风
@@ -1139,7 +1139,7 @@ public class TCStudentLiveRoomActivity extends BaseMVPActivity<AcTtLiveroomLayou
             return;
         }
         Log.i("pq", "receive mic mode control msg 禁麦模式:" + isEnableMic);
-        this.isEnableMic = isEnableMic;
+        this.isDisableMicApply = isEnableMic;
         if (isEnableMic && isOnApplyMic()) {
             handleCloseMicEvent();
         }
@@ -1803,6 +1803,8 @@ public class TCStudentLiveRoomActivity extends BaseMVPActivity<AcTtLiveroomLayou
             getGlobalBanStatus(groupAttributeJson);
             //全员闭麦模式
             getMuteAllMicStatus(groupAttributeJson);
+            //禁止连麦状态
+            getMicApplyStatus(groupAttributeJson);
         }
     }
 
@@ -1835,6 +1837,19 @@ public class TCStudentLiveRoomActivity extends BaseMVPActivity<AcTtLiveroomLayou
         }
     }
 
+    private void getMicApplyStatus(JSONObject groupAttributeJson) {
+        String micApplyStatus = groupAttributeJson.optString(TTLiveConfig.LIVE_ROOM_MIC_APPLY_STATUS_KEY);
+        if (!TextUtils.isEmpty(micApplyStatus)) {
+            Log.i("pq", " getMicApplyStatus micApplyStatus:" + micApplyStatus);
+            if (TextUtils.equals(micApplyStatus, TTLiveConfig.STATUS_ON)) {
+                //全局禁言开启
+                isDisableMicApply = true;
+            } else {
+                isDisableMicApply = false;
+            }
+        }
+    }
+
     private void getCameraStatus(JSONObject groupAttributeJson) {
         String cameraStatus = groupAttributeJson.optString(TTLiveConfig.LIVE_ROOM_ANCHOR_CAMERA_KEY);
         if (!TextUtils.isEmpty(cameraStatus)) {
@@ -2345,7 +2360,7 @@ public class TCStudentLiveRoomActivity extends BaseMVPActivity<AcTtLiveroomLayou
             ToastUtil.getInstance().show(TCStudentLiveRoomActivity.this, "您已被管理员禁言");
             return true;
         }
-        if (isEnableMic) {
+        if (isDisableMicApply) {
             ToastUtil.getInstance().show(TCStudentLiveRoomActivity.this, "管理员关闭连麦申请");
             return true;
         }