| 
					
				 | 
			
			
				@@ -87,6 +87,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.recyclerview.widget.RecyclerView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import androidx.viewbinding.ViewBinding; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import io.reactivex.rxjava3.disposables.Disposable; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.daya.tclive.constants.TTLiveConfig; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import com.tencent.trtc.TRTCStatistics; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -94,7 +95,7 @@ import com.tencent.trtc.TRTCStatistics; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  * Author by pq, Date on 2023/3/2. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 @Route(path = ARouterConstace.ACTIVITY_TC_LIVE_ROOM_TEACHER) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacherLiveRoomLayoutBinding,TCLivePresenter> implements TCLiveRoomContract.TCLiveRoomView, SoftKeyboardUtil.OnSoftInputChangedListener, LiveRoomMicMemberHelper.OnEventListener, View.OnClickListener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacherLiveRoomLayoutBinding, TCLivePresenter> implements TCLiveRoomContract.TCLiveRoomView, SoftKeyboardUtil.OnSoftInputChangedListener, LiveRoomMicMemberHelper.OnEventListener, View.OnClickListener { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TXCloudVideoView mVideoView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FrameLayout mFlCreateOptions; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ConstraintLayout mCsMainLayout; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,8 +152,8 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private long serviceTimeStamp = -1;//服务器时间节点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private int currentCountType = LiveCourseCountTimeHelper.COUNT_TYPE_COURSE; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private long autoCloseNetworkRoomTime = 0;//直播课到时间强制退出时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private String liveCourseId = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private String subjectId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    boolean isNeedCountTime = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private Handler mHandler = new Handler(Looper.myLooper()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         @Override 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -392,9 +393,9 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mVideoView = viewBinding.liveVideoView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mFlCreateOptions = viewBinding.viewCreateOptions.flRoot; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mCsMainLayout = viewBinding.viewMainLayout.csRoot; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        recyclerMsg =viewBinding.viewMainLayout.recyclerMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mFlJoinBarrage =viewBinding.viewMainLayout.flJoinBarrage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        mTvJoinBarrage =viewBinding.viewMainLayout.tvJoinBarrage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        recyclerMsg = viewBinding.viewMainLayout.recyclerMsg; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mFlJoinBarrage = viewBinding.viewMainLayout.flJoinBarrage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        mTvJoinBarrage = viewBinding.viewMainLayout.tvJoinBarrage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mFlSnapUpBarrage = viewBinding.viewMainLayout.flSnapUpBarrage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mTvSnapUpBarrage = viewBinding.viewMainLayout.tvSnapUpBarrage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mTvOnMicNumTip = viewBinding.viewMainLayout.tvOnMicNumTip; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -432,9 +433,6 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void initData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         super.initData(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mRoomId = getIntent().getStringExtra(ROOMID_KEY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (getIntent().hasExtra(COURSE_ID_KEY)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            liveCourseId = getIntent().getStringExtra(COURSE_ID_KEY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (getIntent().hasExtra(SUBJECT_ID_KEY)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             subjectId = getIntent().getStringExtra(SUBJECT_ID_KEY); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -448,9 +446,6 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             finish(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (isLiveCourse()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            iconFinishLive.setImageResource(R.drawable.icon_live_course_pause); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mUserId = UserHelper.getImUserId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mRoomMicMemberHelper = new LiveRoomMicMemberHelper(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mRoomMicMemberHelper.setOnEventListener(this); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -498,7 +493,7 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private void initLiveConfig() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Log.i("pq", "initPublishConfig"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        presenter.initPublishConfig(this,mRoomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        presenter.initPublishConfig(this, mRoomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         prepareInitRoom(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -569,7 +564,7 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         mTvNumPeople.setText(String.format("%s人", LiveMemberHelper.getMemberCountText(peopleCount))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private void initClickListener(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private void initClickListener() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.viewCreateOptions.ivReverseCamera.setOnClickListener(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.viewCreateOptions.tvStartLive.setOnClickListener(this); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         viewBinding.viewCreateOptions.tvClose.setOnClickListener(this); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -603,9 +598,7 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //点开启直播之前再次验证一下房间信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 currentLiveMode = TTLiveConfig.LIVE_MODE_LIVE_START; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 presenter.getRoomInfo(mRoomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (!TextUtils.isEmpty(liveCourseId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    presenter.getLiveCourseInfo(liveCourseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                presenter.getRoomCountTimeInfo(mRoomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1512,17 +1505,22 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    public void getLiveCourseInfoSuccess(LiveCourseTimeInfo data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public void getRoomCountTimeInfoSuccess(LiveCourseTimeInfo data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!checkActivityExist()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (data != null && data.getCourseScheduleTimes() != null && data.getCourseScheduleTimes().size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isNeedCountTime = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            subjectId = data.getSubjectId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            iconFinishLive.setImageResource(R.drawable.icon_live_course_pause); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             LiveCourseCountTimeHelper.getInstance().setTimeInfoList(data.getCourseScheduleTimes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             long finishLimitTime = data.getAutoCloseNetworkRoomTime() * 60L * 1000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             LiveCourseCountTimeHelper.getInstance().setAutoCloseNetworkRoomTime(finishLimitTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.serviceTimeStamp = data.getTimestamp(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             startCountTime(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isNeedCountTime = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            iconFinishLive.setImageResource(R.drawable.icon_live_room_close_menu); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             llCountTimeTip.setVisibility(View.GONE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1554,8 +1552,8 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void onLiveCourseTimeChange() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if (presenter != null && !TextUtils.isEmpty(liveCourseId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            presenter.getLiveCourseInfo(liveCourseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (presenter != null && !TextUtils.isEmpty(mRoomId)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            presenter.getRoomCountTimeInfo(mRoomId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1668,7 +1666,7 @@ public class TCTeacherLiveRoomActivity extends BaseMVPActivity<ActivityTcTeacher 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private boolean isLiveCourse() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        return !TextUtils.isEmpty(liveCourseId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return isNeedCountTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 |