瀏覽代碼

修改网络教室加入群组流程

Pq 1 年之前
父節點
當前提交
c198eed775

+ 4 - 0
classRoom/src/main/java/com/dayayuemeng/classroom/contract/StudentNetClassRoomContract.java

@@ -51,6 +51,10 @@ public interface StudentNetClassRoomContract {
 
         void onGroupAttributeChanged(String groupID, Map<String, String> groupAttributeMap);
 
+        void joinGroupSuccess();
+
+        void joinGroupError(int errorCode, String errorStr);
+
     }
 
     interface Presenter {

+ 4 - 0
classRoom/src/main/java/com/dayayuemeng/classroom/contract/TeacherNetClassRoomContract.java

@@ -34,6 +34,10 @@ public interface TeacherNetClassRoomContract {
         void receiveTextMessage(TTMessage textMessage);
 
         void onUserVoiceVolume(ArrayList<TRTCCloudDef.TRTCVolumeInfo> userVolumes, int totalVolume);
+
+        void joinGroupSuccess();
+
+        void joinGroupError(int errorCode, String errorStr);
     }
 
     interface Presenter {

+ 25 - 5
classRoom/src/main/java/com/dayayuemeng/classroom/presenter/StudentNetClassRoomPresenter.java

@@ -75,7 +75,7 @@ public class StudentNetClassRoomPresenter extends BasePresenter<StudentNetClassR
         @Override
         public void onStopPublishing(int err, String errMsg) {
             super.onStopPublishing(err, errMsg);
-            Log.i(TAG, "onStopPublishing:" + err + "--errMsg:" + errMsg);
+            LOG.i(TAG, "onStopPublishing:" + err + "--errMsg:" + errMsg);
             if (getView() != null) {
                 getView().onStopPublishing();
             }
@@ -83,7 +83,7 @@ public class StudentNetClassRoomPresenter extends BasePresenter<StudentNetClassR
 
         @Override
         public void onStartPublishing(int err, String errMsg) {
-            Log.i(TAG, "onStartPublishing:" + err + "--errMsg:" + errMsg);
+            LOG.i(TAG, "onStartPublishing:" + err + "--errMsg:" + errMsg);
             if (getView() != null) {
                 getView().onPublishSuccess();
             }
@@ -153,7 +153,7 @@ public class StudentNetClassRoomPresenter extends BasePresenter<StudentNetClassR
         V2TIMManager.getInstance().login(userId, userSig, new V2TIMCallback() {
             @Override
             public void onSuccess() {
-                Log.i("TTLiveRoomActivity", "login IM success");
+                LOG.i("TTLiveRoomActivity", "login IM success");
                 handleLoginSuccessEvent();
             }
 
@@ -163,7 +163,7 @@ public class StudentNetClassRoomPresenter extends BasePresenter<StudentNetClassR
                 // 1. ERR_USER_SIG_EXPIRED(6206)
                 // 2. ERR_SVR_ACCOUNT_USERSIG_EXPIRED(70001)
                 // 注意:其他的错误码,请不要在这里调用登录接口,避免 IM SDK 登录进入死循环。
-                Log.i("TTLiveRoomActivity", "connectIM failure, code:" + code + ", desc:" + desc);
+                LOG.i("TTLiveRoomActivity", "connectIM failure, code:" + code + ", desc:" + desc);
                 if (getView() != null) {
                     getView().connectIMError(code, desc);
                 }
@@ -177,6 +177,26 @@ public class StudentNetClassRoomPresenter extends BasePresenter<StudentNetClassR
         }
     }
 
+    public void joinIMGroup(String targetId) {
+        LOG.i("pq", "joinGroup :" + targetId);
+        TCIMSdkManager.getInstance().joinGroup(targetId, new ResultCallback<Boolean>() {
+            @Override
+            public void onSuccess(Boolean aBoolean) {
+                if (getView() != null && aBoolean) {
+                    getView().joinGroupSuccess();
+                }
+            }
+
+            @Override
+            public void onFail(int errorCode, String errorStr) {
+                LOG.i("pq", "joinGroup errorCode:" + errorCode + "--" + errorStr);
+                if (getView() != null) {
+                    getView().joinGroupError(errorCode, errorStr);
+                }
+            }
+        });
+    }
+
     private void registerListener(String roomId) {
         setObMessageListener(roomId);
         bindGroupListener();
@@ -335,7 +355,7 @@ public class StudentNetClassRoomPresenter extends BasePresenter<StudentNetClassR
                 continue;
             }
 
-            Log.i("pq", "设置" + userId + "音量:" + (isEnable ? 100 : 0));
+            LOG.i("pq", "设置" + userId + "音量:" + (isEnable ? 100 : 0));
             TRTCSdkManager.getInstance().setRemoteAudioVolume(userId, isEnable ? 100 : 0);
         }
     }

+ 24 - 5
classRoom/src/main/java/com/dayayuemeng/classroom/presenter/TeacherNetClassRoomPresenter.java

@@ -76,7 +76,7 @@ public class TeacherNetClassRoomPresenter extends BasePresenter<TeacherNetClassR
         @Override
         public void onStopPublishing(int err, String errMsg) {
             super.onStopPublishing(err, errMsg);
-            Log.i(TAG, "onStopPublishing:" + err + "--errMsg:" + errMsg);
+            LOG.i(TAG, "onStopPublishing:" + err + "--errMsg:" + errMsg);
             if (getView() != null) {
                 getView().onStopPublishing();
             }
@@ -84,7 +84,7 @@ public class TeacherNetClassRoomPresenter extends BasePresenter<TeacherNetClassR
 
         @Override
         public void onStartPublishing(int err, String errMsg) {
-            Log.i(TAG, "onStartPublishing:" + err + "--errMsg:" + errMsg);
+            LOG.i(TAG, "onStartPublishing:" + err + "--errMsg:" + errMsg);
             if (getView() != null) {
                 getView().onPublishSuccess();
             }
@@ -175,7 +175,7 @@ public class TeacherNetClassRoomPresenter extends BasePresenter<TeacherNetClassR
         V2TIMManager.getInstance().login(userId, userSig, new V2TIMCallback() {
             @Override
             public void onSuccess() {
-                Log.i("TTLiveRoomActivity", "login IM success");
+                LOG.i("TTLiveRoomActivity", "login IM success");
                 handleLoginSuccessEvent();
             }
 
@@ -185,7 +185,7 @@ public class TeacherNetClassRoomPresenter extends BasePresenter<TeacherNetClassR
                 // 1. ERR_USER_SIG_EXPIRED(6206)
                 // 2. ERR_SVR_ACCOUNT_USERSIG_EXPIRED(70001)
                 // 注意:其他的错误码,请不要在这里调用登录接口,避免 IM SDK 登录进入死循环。
-                Log.i("TTLiveRoomActivity", "connectIM failure, code:" + code + ", desc:" + desc);
+                LOG.i("TTLiveRoomActivity", "connectIM failure, code:" + code + ", desc:" + desc);
                 if (getView() != null) {
                     getView().connectIMError(code, desc);
                 }
@@ -240,6 +240,25 @@ public class TeacherNetClassRoomPresenter extends BasePresenter<TeacherNetClassR
         disposablesManager.add(subscribe);
     }
 
+    public void joinIMGroup(String targetId) {
+        LOG.i("pq", "joinGroup :" + targetId);
+        TCIMSdkManager.getInstance().joinGroup(targetId, new ResultCallback<Boolean>() {
+            @Override
+            public void onSuccess(Boolean aBoolean) {
+                if (getView() != null && aBoolean) {
+                    getView().joinGroupSuccess();
+                }
+            }
+
+            @Override
+            public void onFail(int errorCode, String errorStr) {
+                LOG.i("pq", "joinGroup errorCode:" + errorCode + "--" + errorStr);
+                if (getView() != null) {
+                    getView().joinGroupError(errorCode, errorStr);
+                }
+            }
+        });
+    }
 
     public void startLocalPreview(TXCloudVideoView txCloudVideoView) {
         TRTCSdkManager.getInstance().startLocalPreview(txCloudVideoView);
@@ -285,7 +304,7 @@ public class TeacherNetClassRoomPresenter extends BasePresenter<TeacherNetClassR
                 }
             }
         }
-        Log.i("pq", builder.toString().trim());
+        LOG.i("pq", builder.toString().trim());
     }
 
     public void changeRemoteAudioVolume(String targetId,boolean isEnable){

+ 16 - 3
classRoom/src/main/java/com/dayayuemeng/classroom/ui/StudentNetClassRoomActivity.java

@@ -721,6 +721,19 @@ public class StudentNetClassRoomActivity extends BaseMVPActivity<AcNetClassRoomS
     @Override
     public void loginIMSuccess() {
         //IM登录成功
+        presenter.joinIMGroup(getRoomId());
+    }
+
+    @Override
+    public void connectIMError(int code, String desc) {
+        hideLoading();
+        Log.i(TAG, "joinGroupError errorCode:" + code + "--errorStr:" + desc);
+        ToastUtil.getInstance().show(this, "IM连接失败");
+        finish();
+    }
+
+    @Override
+    public void joinGroupSuccess() {
         presenter.getAllGroupAttributes(getRoomId());
         classViewModel.getImConnectStatus().postValue(true);
         hideLoading();
@@ -728,10 +741,10 @@ public class StudentNetClassRoomActivity extends BaseMVPActivity<AcNetClassRoomS
     }
 
     @Override
-    public void connectIMError(int code, String desc) {
+    public void joinGroupError(int errorCode, String errorStr) {
         hideLoading();
-        Log.i(TAG, "joinGroupError errorCode:" + code + "--errorStr:" + desc);
-        ToastUtil.getInstance().show(this, "IM连接失败");
+        ToastUtil.getInstance().show(this, "加入群组失败:" + errorCode + "-" + errorStr);
+        finish();
     }
 
     @Override

+ 17 - 3
classRoom/src/main/java/com/dayayuemeng/classroom/ui/TeacherNetClassRoomActivity.java

@@ -816,9 +816,7 @@ public class TeacherNetClassRoomActivity extends BaseMVPActivity<AcNetClassRoomT
     @Override
     public void loginIMSuccess() {
         //IM登录成功
-        classViewModel.getImConnectStatus().postValue(true);
-        hideLoading();
-        classViewModel.getRoomInfo(getRoomId());
+        presenter.joinIMGroup(getRoomId());
     }
 
     @Override
@@ -826,6 +824,22 @@ public class TeacherNetClassRoomActivity extends BaseMVPActivity<AcNetClassRoomT
         hideLoading();
         Log.i(TAG, "connectIMError errorCode:" + code + "--errorStr:" + desc);
         ToastUtil.getInstance().show(this, "IM连接失败");
+        finish();
+    }
+
+
+    @Override
+    public void joinGroupSuccess() {
+        classViewModel.getImConnectStatus().postValue(true);
+        hideLoading();
+        classViewModel.getRoomInfo(getRoomId());
+    }
+
+    @Override
+    public void joinGroupError(int errorCode, String errorStr) {
+        hideLoading();
+        ToastUtil.getInstance().show(this, "加入群组失败:" + errorCode + "-" + errorStr);
+        finish();
     }
 
     @Override

+ 4 - 2
classRoom/src/main/res/layout/ac_net_class_room_stu_layout.xml

@@ -12,9 +12,11 @@
     tools:ignore="MissingDefaultResource">
     <com.dayayuemeng.classroom.widget.CameraPlaceholderView
         android:visibility="invisible"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
         android:id="@+id/camera_placeholder"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
+        android:layout_width="300dp"
+        android:layout_height="300dp"/>
 
     <FrameLayout
         android:id="@+id/share_screen_fragment"

+ 4 - 2
classRoom/src/main/res/layout/ac_net_class_room_teacher_layout.xml

@@ -13,9 +13,11 @@
 
     <com.dayayuemeng.classroom.widget.CameraPlaceholderView
         android:visibility="invisible"
+        app:layout_constraintLeft_toLeftOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
         android:id="@+id/camera_placeholder"
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
+        android:layout_width="300dp"
+        android:layout_height="300dp"/>
 
     <FrameLayout
         android:id="@+id/share_screen_fragment"