|
@@ -1,13 +1,23 @@
|
|
|
package com.cooleshow.teacher.ui.course;
|
|
|
|
|
|
+import android.text.TextUtils;
|
|
|
+import android.view.View;
|
|
|
+import android.widget.LinearLayout;
|
|
|
+
|
|
|
import com.alibaba.android.arouter.facade.annotation.Route;
|
|
|
import com.cooleshow.base.presenter.BasePresenter;
|
|
|
import com.cooleshow.base.router.RouterPath;
|
|
|
import com.cooleshow.base.ui.activity.BaseMVPActivity;
|
|
|
+import com.cooleshow.base.utils.GlideUtils;
|
|
|
+import com.cooleshow.base.utils.SizeUtils;
|
|
|
+import com.cooleshow.teacher.R;
|
|
|
+import com.cooleshow.teacher.bean.SparringCourseHomeworkBean;
|
|
|
+import com.cooleshow.teacher.constants.CourseConstants;
|
|
|
import com.cooleshow.teacher.contract.SparringCourseContract;
|
|
|
import com.cooleshow.teacher.contract.SparringCourseDetailContract;
|
|
|
import com.cooleshow.teacher.databinding.ActivitySparringCourseDetailLayoutBinding;
|
|
|
import com.cooleshow.teacher.presenter.course.SparringCourseDetailPresenter;
|
|
|
+import com.cooleshow.teacher.widgets.HomeworkVideoThumbnailView;
|
|
|
|
|
|
import androidx.annotation.NonNull;
|
|
|
import androidx.viewbinding.ViewBinding;
|
|
@@ -16,7 +26,10 @@ import androidx.viewbinding.ViewBinding;
|
|
|
* Author by pq, Date on 2022/4/27.
|
|
|
*/
|
|
|
@Route(path = RouterPath.CourseCenter.SPARRING_COURSE_DETAIL)
|
|
|
-public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparringCourseDetailLayoutBinding, SparringCourseDetailPresenter> implements SparringCourseDetailContract.SparringCourseDetailView {
|
|
|
+public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparringCourseDetailLayoutBinding, SparringCourseDetailPresenter> implements SparringCourseDetailContract.SparringCourseDetailView, View.OnClickListener {
|
|
|
+ public static final String COURSE_ID = "course_id";
|
|
|
+ private String mCourseId;
|
|
|
+
|
|
|
@NonNull
|
|
|
@Override
|
|
|
protected ActivitySparringCourseDetailLayoutBinding getLayoutView() {
|
|
@@ -25,11 +38,181 @@ public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparri
|
|
|
|
|
|
@Override
|
|
|
protected void initView() {
|
|
|
+ super.initView();
|
|
|
+ initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "课程详情");
|
|
|
+ mCourseId = getIntent().getStringExtra(COURSE_ID);
|
|
|
+ if (TextUtils.isEmpty(mCourseId)) {
|
|
|
+ finish();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ viewBinding.tvSetHomework.setOnClickListener(this);
|
|
|
+ viewBinding.tvHomeworkSetComment.setOnClickListener(this);
|
|
|
+ }
|
|
|
|
|
|
+ @Override
|
|
|
+ public void initData() {
|
|
|
+ super.initData();
|
|
|
+ presenter.getSparringCourseHomework(mCourseId);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
protected SparringCourseDetailPresenter createPresenter() {
|
|
|
return new SparringCourseDetailPresenter();
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取课程详情成功
|
|
|
+ *
|
|
|
+ * @param infoBean
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void getSparringCourseHomeworkSuccess(SparringCourseHomeworkBean infoBean) {
|
|
|
+ if (isFinishing() || isDestroyed()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (infoBean == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //时间
|
|
|
+ viewBinding.tvCourseTime.setText(infoBean.classDate);
|
|
|
+ //学生头像
|
|
|
+ GlideUtils.INSTANCE.loadImage(this, infoBean.studentAvatar, viewBinding.ivAvatar,R.drawable.icon_teacher_default_head);
|
|
|
+ //title
|
|
|
+ viewBinding.tvTitle.setText(infoBean.studentName);
|
|
|
+ //subjectName
|
|
|
+ viewBinding.tvCourseName.setText(infoBean.subjectName);
|
|
|
+
|
|
|
+
|
|
|
+ String status = infoBean.courseStatus;
|
|
|
+ if (TextUtils.equals(CourseConstants.COURSE_STATUS_NOT_START, status)) {
|
|
|
+ //课程未开始
|
|
|
+ viewBinding.tvCourseStatus.setText(getString(R.string.course_not_start_str));
|
|
|
+ viewBinding.tvCourseStatus.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_ff802c));
|
|
|
+ }
|
|
|
+ if (TextUtils.equals(CourseConstants.COURSE_STATUS_ING, status)) {
|
|
|
+ //课程进行中
|
|
|
+ viewBinding.tvCourseStatus.setText(R.string.course_ing_str);
|
|
|
+ viewBinding.tvCourseStatus.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_2dc7aa));
|
|
|
+ }
|
|
|
+ if (TextUtils.equals(CourseConstants.COURSE_STATUS_COMPLETE, status)) {
|
|
|
+ //课程已结束
|
|
|
+ viewBinding.tvCourseStatus.setText(R.string.course_is_completed);
|
|
|
+ viewBinding.tvCourseStatus.setTextColor(getResources().getColor(com.cooleshow.base.R.color.color_999999));
|
|
|
+ }
|
|
|
+ //课后作业
|
|
|
+ handleHomeworkData(infoBean);
|
|
|
+ //作业视频
|
|
|
+ handleHomeworkStudentSubmit(infoBean);
|
|
|
+ //作业点评
|
|
|
+ handleHomeworkComment(infoBean);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 作业点评
|
|
|
+ */
|
|
|
+ private void handleHomeworkComment(SparringCourseHomeworkBean bean) {
|
|
|
+ //tv_homework_comment_content
|
|
|
+ if (bean == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!TextUtils.isEmpty(bean.teacherReplied)) {
|
|
|
+ //老师已点评作业
|
|
|
+ viewBinding.tvHomeworkCommentEmptyText.setVisibility(View.GONE);
|
|
|
+ viewBinding.tvHomeworkSetComment.setVisibility(View.GONE);
|
|
|
+ viewBinding.tvHomeworkCommentContent.setVisibility(View.VISIBLE);
|
|
|
+ viewBinding.tvHomeworkCommentContent.setText(bean.teacherReplied);
|
|
|
+ } else {
|
|
|
+ viewBinding.tvHomeworkCommentEmptyText.setVisibility(View.VISIBLE);
|
|
|
+ viewBinding.tvHomeworkSetComment.setVisibility(View.VISIBLE);
|
|
|
+ viewBinding.tvHomeworkCommentContent.setVisibility(View.GONE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 学生提交的作业
|
|
|
+ *
|
|
|
+ * @param bean
|
|
|
+ */
|
|
|
+ private void handleHomeworkStudentSubmit(SparringCourseHomeworkBean bean) {
|
|
|
+ if (bean == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ //tv_homework_video_empty_text
|
|
|
+ if (bean.submitHomework == CourseConstants.COURSE_HOMEWORK_STU_SUBMIT) {
|
|
|
+ //学员已提交课后作业
|
|
|
+ viewBinding.tvHomeworkVideoEmptyText.setVisibility(View.GONE);
|
|
|
+ viewBinding.llHomeworkVideoContent.removeAllViews();
|
|
|
+ addVideoThumbnailView(bean.studentAttachments);
|
|
|
+ } else {
|
|
|
+ //学员未提交课后作业
|
|
|
+ viewBinding.tvHomeworkVideoEmptyText.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加视频缩略图
|
|
|
+ *
|
|
|
+ * @param videoUrls
|
|
|
+ */
|
|
|
+ private void addVideoThumbnailView(String videoUrls) {
|
|
|
+ try {
|
|
|
+ if (!TextUtils.isEmpty(videoUrls)) {
|
|
|
+ String[] results = TextUtils.split(videoUrls, ",");
|
|
|
+ for (int i = 0; i < results.length; i++) {
|
|
|
+ HomeworkVideoThumbnailView videoThumbnailView = new HomeworkVideoThumbnailView(SparringCourseDetailActivity.this);
|
|
|
+ videoThumbnailView.setData(results[i]);
|
|
|
+ LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
|
|
|
+ int left = i == 0 ? 0 : SizeUtils.dp2px(6);
|
|
|
+ layoutParams.setMargins(left, 0, 0, 0);
|
|
|
+ layoutParams.weight = 1;
|
|
|
+ viewBinding.llHomeworkVideoContent.addView(videoThumbnailView, layoutParams);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ viewBinding.llHomeworkVideoContent.removeAllViews();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 课后作业
|
|
|
+ */
|
|
|
+ private void handleHomeworkData(SparringCourseHomeworkBean bean) {
|
|
|
+ if (bean == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (bean.decorateHomework == CourseConstants.COURSE_HOMEWORK_SET) {
|
|
|
+ //已布置课后作业
|
|
|
+ viewBinding.tvHomeworkEmptyText.setVisibility(View.GONE);
|
|
|
+ viewBinding.tvHomeworkContent.setVisibility(View.VISIBLE);
|
|
|
+ viewBinding.tvHomeworkContent.setText(bean.content);
|
|
|
+ viewBinding.tvSetHomework.setVisibility(View.GONE);
|
|
|
+ } else {
|
|
|
+ //未布置课后作业
|
|
|
+ viewBinding.tvHomeworkEmptyText.setVisibility(View.VISIBLE);
|
|
|
+ viewBinding.tvHomeworkContent.setVisibility(View.GONE);
|
|
|
+ viewBinding.tvSetHomework.setVisibility(View.VISIBLE);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void handleTeacherComment() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void getSparringCourseHomeworkError() {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ if (v.getId() == R.id.tv_set_homework) {
|
|
|
+ //布置作业
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (v.getId() == R.id.tv_homework_set_comment) {
|
|
|
+ //点评作业
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|