Parcourir la source

暂时隐藏连麦逻辑

Pq il y a 2 ans
Parent
commit
1cee5be4d1

+ 7 - 0
student/src/main/java/com/cooleshow/student/ui/live/LiveRoomActivity.java

@@ -49,6 +49,7 @@ import com.cooleshow.student.bean.FriendInfoBean;
 import com.cooleshow.student.ui.live.floatPop.FloatWindowHelper;
 import com.cooleshow.student.ui.live.floatPop.FloatingWindowService;
 import com.cooleshow.student.widgets.dialog.LiveRoomCloseTipDialog;
+import com.cooleshow.student.widgets.dialog.LiveRoomMicManagerDialog;
 import com.cooleshow.student.widgets.dialog.OpenOverlayPermissionTipDialog;
 import com.cooleshow.student.widgets.helper.LiveRoomAddLikeHelper;
 import com.cooleshow.base.widgets.dialog.InputBarDialog;
@@ -486,6 +487,12 @@ public class LiveRoomActivity extends BaseMVPActivity<ActivityLiveroomLayoutBind
         }
     }
 
+    private void showMicManagerDialog() {
+        LiveRoomMicManagerDialog micManagerDialog = new LiveRoomMicManagerDialog(this);
+        micManagerDialog.show();
+        micManagerDialog.setMicStatus(currentSeatStatus);
+    }
+
     private void startTeacherHomePage(int viewId) {
         String params = "";
         if (viewId == R.id.tv_appointment_course) {

+ 111 - 0
student/src/main/java/com/cooleshow/student/widgets/dialog/LiveRoomMicManagerDialog.java

@@ -0,0 +1,111 @@
+package com.cooleshow.student.widgets.dialog;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.Gravity;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.cooleshow.student.R;
+import com.rong.io.live.LiveRoomMsgConstants;
+
+import androidx.annotation.NonNull;
+import androidx.constraintlayout.widget.ConstraintLayout;
+
+/**
+ * Author by pq, Date on 2022/8/11.
+ */
+public class LiveRoomMicManagerDialog extends Dialog implements View.OnClickListener {
+
+    private LinearLayout mLlApply;
+    private TextView mTvApplyMic;
+    private TextView mTvCancel;
+    private ConstraintLayout mCsApplying;
+    private TextView mTvCancelApply;
+    private ImageView mIvOwnerAvatar;
+    private ImageView mIvTeacherAvatar;
+    private LinearLayout mLlCloseMic;
+    private TextView mTvCloseMic;
+    private TextView mTvCancel2;
+
+    public LiveRoomMicManagerDialog(@NonNull Context context) {
+        super(context, R.style.MyBottomDialogStyle);
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.dialog_live_room_mic_manager_layout);
+        Window window = getWindow();
+        //设置dialog在屏幕底部
+        window.setGravity(Gravity.BOTTOM);
+        //设置dialog弹出时的动画效果,从屏幕底部向上弹出
+        window.setWindowAnimations(com.cooleshow.base.R.style.BottomAnimation);
+        window.getDecorView().setPadding(0, 0, 0, 0);
+        //获得window窗口的属性
+        WindowManager.LayoutParams lp = window.getAttributes();
+        //设置窗口宽度为充满全屏
+        lp.width = WindowManager.LayoutParams.MATCH_PARENT;
+        //设置窗口高度为包裹内容
+        lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
+        lp.horizontalMargin = 0;
+        lp.verticalMargin = 0;
+        //将设置好的属性set回去
+        window.setAttributes(lp);
+
+        mLlApply = findViewById(R.id.ll_apply);
+        mTvApplyMic = findViewById(R.id.tv_apply_mic);
+        mTvCancel = findViewById(R.id.tv_cancel);
+        mCsApplying = findViewById(R.id.cs_applying);
+        mTvCancelApply = findViewById(R.id.tv_cancel_apply);
+        mIvOwnerAvatar = findViewById(R.id.iv_owner_avatar);
+        mIvTeacherAvatar = findViewById(R.id.iv_teacher_avatar);
+        mLlCloseMic = findViewById(R.id.ll_close_mic);
+        mTvCloseMic = findViewById(R.id.tv_close_mic);
+        mTvCancel2 = findViewById(R.id.tv_cancel2);
+        initListener();
+    }
+
+    private void initListener() {
+        mTvApplyMic.setOnClickListener(this);
+        mTvCancel.setOnClickListener(this);
+        mTvCancelApply.setOnClickListener(this);
+        mTvCloseMic.setOnClickListener(this);
+        mTvCancel2.setOnClickListener(this);
+    }
+
+    public void setMicStatus(int micStatus) {
+        if (mLlApply != null) {
+            mLlApply.setVisibility(micStatus == LiveRoomMsgConstants.MIC_STATUS_NORMAL ? View.VISIBLE : View.GONE);
+        }
+        if (mCsApplying != null) {
+            mCsApplying.setVisibility(micStatus == LiveRoomMsgConstants.MIC_STATUS_CONNECTING ? View.VISIBLE : View.GONE);
+        }
+        if (mLlCloseMic != null) {
+            mLlCloseMic.setVisibility(micStatus == LiveRoomMsgConstants.MIC_STATUS_CONNECT_SUCCESS ? View.VISIBLE : View.GONE);
+        }
+    }
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (id == R.id.tv_cancel || id == R.id.tv_cancel2) {
+            dismiss();
+            return;
+        }
+        if (id == R.id.tv_cancel_apply) {
+            //取消申请
+        }
+        if (id == R.id.tv_apply_mic) {
+            //申请连麦
+        }
+        if (id == R.id.tv_close_mic) {
+            //关闭连麦
+        }
+    }
+}

BIN
student/src/main/res/drawable-xhdpi/icon_mic_applying.png


BIN
student/src/main/res/drawable-xxhdpi/icon_mic_applying.png


+ 155 - 0
student/src/main/res/layout/dialog_live_room_mic_manager_layout.xml

@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <LinearLayout
+        android:id="@+id/ll_apply"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/bg_white_top_10dp"
+        android:orientation="vertical"
+        android:paddingBottom="20dp"
+        android:visibility="visible">
+
+        <TextView
+            android:id="@+id/tv_apply_mic"
+            android:layout_width="match_parent"
+            android:layout_height="60dp"
+            android:gravity="center"
+            android:text="申请连麦"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_18"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:background="@color/color_dedede" />
+
+        <TextView
+            android:id="@+id/tv_cancel"
+            android:layout_width="match_parent"
+            android:layout_height="60dp"
+            android:gravity="center"
+            android:text="取消"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_18"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+    </LinearLayout>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:visibility="gone"
+        android:id="@+id/cs_applying"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/bg_white_top_10dp"
+        android:minHeight="288dp">
+
+        <TextView
+            android:id="@+id/tv_cancel_apply"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:includeFontPadding="false"
+            android:padding="18dp"
+            android:text="取消申请"
+            android:textColor="@color/color_999999"
+            android:textSize="@dimen/sp_14"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <de.hdodenhof.circleimageview.CircleImageView
+            android:id="@+id/iv_owner_avatar"
+            android:layout_width="48dp"
+            android:layout_height="48dp"
+            android:layout_marginTop="64dp"
+            app:layout_constraintHorizontal_chainStyle="packed"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toLeftOf="@+id/iv_applying"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:id="@+id/iv_applying"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="14dp"
+            android:layout_marginEnd="14dp"
+            android:src="@drawable/icon_mic_applying"
+            app:layout_constraintBottom_toBottomOf="@+id/iv_owner_avatar"
+            app:layout_constraintLeft_toRightOf="@+id/iv_owner_avatar"
+            app:layout_constraintRight_toLeftOf="@+id/iv_teacher_avatar"
+            app:layout_constraintTop_toTopOf="@+id/iv_owner_avatar" />
+
+        <de.hdodenhof.circleimageview.CircleImageView
+            android:id="@+id/iv_teacher_avatar"
+            android:layout_width="48dp"
+            android:layout_height="48dp"
+            app:layout_constraintLeft_toRightOf="@+id/iv_applying"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toTopOf="@+id/iv_owner_avatar" />
+
+
+        <TextView
+            android:id="@+id/tv_tip"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="38dp"
+            android:text="已申请连麦"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_18"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintRight_toRightOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/iv_owner_avatar" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:paddingTop="8dp"
+            android:text="等待老师通过"
+            android:textColor="@color/color_999999"
+            android:textSize="@dimen/sp_14"
+            app:layout_constraintLeft_toLeftOf="@+id/tv_tip"
+            app:layout_constraintRight_toRightOf="@+id/tv_tip"
+            app:layout_constraintTop_toBottomOf="@+id/tv_tip" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <LinearLayout
+        android:id="@+id/ll_close_mic"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/bg_white_top_10dp"
+        android:orientation="vertical"
+        android:paddingBottom="20dp"
+        android:visibility="gone">
+
+        <TextView
+            android:id="@+id/tv_close_mic"
+            android:layout_width="match_parent"
+            android:layout_height="60dp"
+            android:gravity="center"
+            android:text="断开连麦"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_18"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="0.5dp"
+            android:background="@color/color_dedede" />
+
+        <TextView
+            android:id="@+id/tv_cancel2"
+            android:layout_width="match_parent"
+            android:layout_height="60dp"
+            android:gravity="center"
+            android:text="取消"
+            android:textColor="@color/color_333333"
+            android:textSize="@dimen/sp_18"
+            app:layout_constraintLeft_toLeftOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+    </LinearLayout>
+</FrameLayout>

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

@@ -688,7 +688,7 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
 
         if (id == R.id.iv_mic) {
             //连麦管理
-            showMicManagerDialog();
+//            showMicManagerDialog();
             return;
         }
 
@@ -1004,24 +1004,24 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
         if (!isOwn(seatApplyMessage.getTeacherId())) {
             return;
         }
-        if (seatApplyMessage.getType() == LiveRoomMsgConstants.MIC_ACTION_SEAT_BY_USER) {
-            //观众申请
-            User user = new User();
-            user.setUserName(seatApplyMessage.getAudienceName());
-            user.setUserId(seatApplyMessage.getAudienceId());
-            user.setPortrait(seatApplyMessage.getAudienceAvatar());
-            mRoomMicMemberHelper.addApplyUser(user);
-            updateMicManagerData();
-        }
-        if (seatApplyMessage.getType() == LiveRoomMsgConstants.MIC_ACTION_CANCEL_SEAT_BY_USER) {
-            //观众取消
-            User user = new User();
-            user.setUserName(seatApplyMessage.getAudienceName());
-            user.setUserId(seatApplyMessage.getAudienceId());
-            user.setPortrait(seatApplyMessage.getAudienceAvatar());
-            mRoomMicMemberHelper.delApplyUser(user);
-            updateMicManagerData();
-        }
+//        if (seatApplyMessage.getType() == LiveRoomMsgConstants.MIC_ACTION_SEAT_BY_USER) {
+//            //观众申请
+//            User user = new User();
+//            user.setUserName(seatApplyMessage.getAudienceName());
+//            user.setUserId(seatApplyMessage.getAudienceId());
+//            user.setPortrait(seatApplyMessage.getAudienceAvatar());
+//            mRoomMicMemberHelper.addApplyUser(user);
+//            updateMicManagerData();
+//        }
+//        if (seatApplyMessage.getType() == LiveRoomMsgConstants.MIC_ACTION_CANCEL_SEAT_BY_USER) {
+//            //观众取消
+//            User user = new User();
+//            user.setUserName(seatApplyMessage.getAudienceName());
+//            user.setUserId(seatApplyMessage.getAudienceId());
+//            user.setPortrait(seatApplyMessage.getAudienceAvatar());
+//            mRoomMicMemberHelper.delApplyUser(user);
+//            updateMicManagerData();
+//        }
     }
 
     @Override
@@ -1030,22 +1030,22 @@ public class TeacherLiveRoomActivity extends BaseMVPActivity<ActivityTeacherLive
     }
 
     private void updateMicManagerData() {
-        if (mLiveMicManagerDialog != null) {
-            mLiveMicManagerDialog.setApplyListData(mRoomMicMemberHelper.getOnApplyMicUsers());
-            mLiveMicManagerDialog.setOnMicListData(mRoomMicMemberHelper.getOnMicUsers());
-        }
-        if (llMicContainer != null) {
-            llMicContainer.refreshUIByUser(mRoomMicMemberHelper.getOnMicUsers());
-        }
-        if (mTvOnMicNumTip != null) {
-            ArrayList<User> onApplyMicUsers = mRoomMicMemberHelper.getOnApplyMicUsers();
-            if (onApplyMicUsers != null && onApplyMicUsers.size() > 0) {
-                mTvOnMicNumTip.setVisibility(View.VISIBLE);
-                mTvOnMicNumTip.setText(String.valueOf(onApplyMicUsers.size()));
-            } else {
-                mTvOnMicNumTip.setVisibility(View.GONE);
-            }
-        }
+//        if (mLiveMicManagerDialog != null) {
+//            mLiveMicManagerDialog.setApplyListData(mRoomMicMemberHelper.getOnApplyMicUsers());
+//            mLiveMicManagerDialog.setOnMicListData(mRoomMicMemberHelper.getOnMicUsers());
+//        }
+//        if (llMicContainer != null) {
+//            llMicContainer.refreshUIByUser(mRoomMicMemberHelper.getOnMicUsers());
+//        }
+//        if (mTvOnMicNumTip != null) {
+//            ArrayList<User> onApplyMicUsers = mRoomMicMemberHelper.getOnApplyMicUsers();
+//            if (onApplyMicUsers != null && onApplyMicUsers.size() > 0) {
+//                mTvOnMicNumTip.setVisibility(View.GONE);
+//                mTvOnMicNumTip.setText(String.valueOf(onApplyMicUsers.size()));
+//            } else {
+//                mTvOnMicNumTip.setVisibility(View.GONE);
+//            }
+//        }
     }
 
     /**

+ 1 - 1
teacher/src/main/res/layout/view_live_room_main_layout.xml

@@ -256,7 +256,7 @@
         android:layout_height="wrap_content"
         android:layout_marginEnd="11dp"
         android:src="@drawable/icon_mic_contro"
-        android:visibility="visible"
+        android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="@+id/icon_finish_live"
         app:layout_constraintRight_toLeftOf="@+id/icon_finish_live"
         app:layout_constraintTop_toTopOf="@+id/icon_finish_live" />