|
@@ -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
|