邓琴文 3 anni fa
parent
commit
6422a9a279
43 ha cambiato i file con 343 aggiunte e 291 eliminazioni
  1. 5 0
      BaseLibrary/src/main/java/com/cooleshow/base/common/WebConstants.java
  2. 8 0
      BaseLibrary/src/main/java/com/cooleshow/base/utils/ErrorParse.java
  3. 2 1
      student/src/main/java/com/cooleshow/student/adapter/CourseTableListAdapter.kt
  4. 26 16
      student/src/main/java/com/cooleshow/student/adapter/HomeworkAdapter.java
  5. 2 1
      student/src/main/java/com/cooleshow/student/adapter/MessageBoxAdapter.java
  6. 21 27
      student/src/main/java/com/cooleshow/student/bean/HomeworkListBean.java
  7. 13 0
      student/src/main/java/com/cooleshow/student/constants/HomeWorkConstants.java
  8. 5 1
      student/src/main/java/com/cooleshow/student/presenter/course/LiveCoursePresenter.java
  9. 1 1
      student/src/main/java/com/cooleshow/student/ui/work/HomeWorkFragment.java
  10. 2 1
      student/src/main/res/layout/layout_item_homework.xml
  11. 4 1
      teacher/src/main/java/com/cooleshow/teacher/adapter/CourseCommentNotReplyAdapter.java
  12. 2 1
      teacher/src/main/java/com/cooleshow/teacher/adapter/CourseTableListAdapter.kt
  13. 2 1
      teacher/src/main/java/com/cooleshow/teacher/adapter/MessageBoxAdapter.java
  14. 1 1
      teacher/src/main/java/com/cooleshow/teacher/adapter/MineLiveCourseAdapter.java
  15. 9 1
      teacher/src/main/java/com/cooleshow/teacher/adapter/MineStyleVideoAdapter.java
  16. 1 0
      teacher/src/main/java/com/cooleshow/teacher/adapter/PianoRoomCourseListAdapter.java
  17. 26 6
      teacher/src/main/java/com/cooleshow/teacher/adapter/TeachableInstrumentAdapter.java
  18. 13 24
      teacher/src/main/java/com/cooleshow/teacher/adapter/TeachableInstrumentItemAdapter.java
  19. 1 1
      teacher/src/main/java/com/cooleshow/teacher/bean/MusicSheetListBean.java
  20. 5 1
      teacher/src/main/java/com/cooleshow/teacher/presenter/course/LiveCoursePresenter.java
  21. 34 47
      teacher/src/main/java/com/cooleshow/teacher/ui/comment/CourseCommentHasReplyFragment.java
  22. 25 27
      teacher/src/main/java/com/cooleshow/teacher/ui/comment/CourseCommentNoReplyFragment.java
  23. 1 0
      teacher/src/main/java/com/cooleshow/teacher/ui/course/MineLiveCourseActivity.java
  24. 23 29
      teacher/src/main/java/com/cooleshow/teacher/ui/course/MineLiveCourseFragment.java
  25. 1 1
      teacher/src/main/java/com/cooleshow/teacher/ui/course/SparringCourseDetailActivity.java
  26. 2 2
      teacher/src/main/java/com/cooleshow/teacher/ui/homepage/HomePageActivity.java
  27. 4 4
      teacher/src/main/java/com/cooleshow/teacher/ui/homepage/MineStyleFragment.java
  28. 8 2
      teacher/src/main/java/com/cooleshow/teacher/ui/main/HomeFragment.kt
  29. 2 2
      teacher/src/main/java/com/cooleshow/teacher/ui/main/MineFragment.java
  30. 50 65
      teacher/src/main/java/com/cooleshow/teacher/ui/mine/ModifyPasswordActivity.java
  31. 8 7
      teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/MineStylePageActivity.java
  32. 2 2
      teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/TeachableInstrumentActivity.java
  33. 14 7
      teacher/src/main/java/com/cooleshow/teacher/ui/score/MineScoreFragment.java
  34. 3 0
      teacher/src/main/java/com/cooleshow/teacher/ui/web/HtmlActivity.java
  35. 5 8
      teacher/src/main/java/com/cooleshow/teacher/widgets/CourseSetCommentDialog.java
  36. 1 0
      teacher/src/main/res/layout/activity_home_page_layout.xml
  37. 1 1
      teacher/src/main/res/layout/activity_teachable_instrument.xml
  38. 5 1
      teacher/src/main/res/layout/fragment_home_layout.xml
  39. 1 0
      teacher/src/main/res/layout/fragment_mine_layout.xml
  40. 1 0
      teacher/src/main/res/layout/item_sparring_course_list_layout.xml
  41. 1 0
      usercenter/src/main/java/com/cooleshow/usercenter/constants/UserConstants.java
  42. 2 0
      usercenter/src/main/java/com/cooleshow/usercenter/ui/activity/VerifyCodeLoginActivity.java
  43. 0 1
      usercenter/src/main/res/layout/activity_login.xml

+ 5 - 0
BaseLibrary/src/main/java/com/cooleshow/base/common/WebConstants.java

@@ -110,5 +110,10 @@ public abstract class WebConstants {
     //商品订单
     public static final String MALL_GOODS_ORDER = getBaseUrlH5() + "/#/goodsOrder";
 
+    //曲谱审核失败 - 重新编辑页面
+    public static final String EDIT_SCORE_PAGE = getBaseUrlH5() + "/#/music-upload/%s/edit";
+    //曲谱审核成功
+    public static final String SCORE_DETAIL_PAGE = BuildConfig.BASE_SERVER_URL + "accompany?id=%s&client=teacher";
+
 
 }

+ 8 - 0
BaseLibrary/src/main/java/com/cooleshow/base/utils/ErrorParse.java

@@ -1,6 +1,9 @@
 package com.cooleshow.base.utils;
 
+import android.app.Activity;
+
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.cooleshow.base.common.AppManager;
 import com.cooleshow.base.data.net.ApiException;
 import com.cooleshow.base.router.RouterPath;
 
@@ -42,6 +45,11 @@ public class ErrorParse {
     }
 
     private void logOut() {
+        String LOGIN_ADDRESS = "com.cooleshow.usercenter.ui.activity.VerifyCodeLoginActivity";
+        Activity activity = AppManager.Companion.getInstance().currentActivity();
+        if (activity != null && LOGIN_ADDRESS.equals(activity.getComponentName().getClassName())) {
+            return;
+        }
         ARouter.getInstance().build(RouterPath.UserCenter.PATH_VERIFY_LOGIN)
                 .navigation();
        /* UserHelper.saveUserToken("");

+ 2 - 1
student/src/main/java/com/cooleshow/student/adapter/CourseTableListAdapter.kt

@@ -8,6 +8,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter
 import com.chad.library.adapter.base.viewholder.BaseViewHolder
 import com.cooleshow.base.ext.setVisible
 import com.cooleshow.base.utils.GlideUtils
+import com.cooleshow.base.utils.UiUtils
 import com.cooleshow.student.R
 import com.cooleshow.student.bean.CourseTableDataBean
 
@@ -36,7 +37,7 @@ class CourseTableListAdapter(layoutResId: Int) :
         val tvBuyNum = baseViewHolder.getView<TextView>(R.id.tv_buy_num)
         val tvCourseStatusBt = baseViewHolder.getView<TextView>(R.id.tv_course_status_bt)
         //开始时间
-        tvTime.text = data?.startTime;
+        tvTime.text = UiUtils.getCourseTimeString(data?.startTime,data?.endTime);
         //title
         baseViewHolder.setText(R.id.tv_title, data?.name);
         //subjectName

+ 26 - 16
student/src/main/java/com/cooleshow/student/adapter/HomeworkAdapter.java

@@ -14,8 +14,10 @@ import com.chad.library.adapter.base.module.BaseLoadMoreModule;
 import com.chad.library.adapter.base.module.LoadMoreModule;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.cooleshow.base.utils.GlideUtils;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.student.R;
 import com.cooleshow.student.bean.HomeworkListBean;
+import com.cooleshow.student.constants.HomeWorkConstants;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,23 +30,21 @@ import java.util.List;
  */
 public class HomeworkAdapter extends BaseQuickAdapter<HomeworkListBean.RowsBean, BaseViewHolder> implements LoadMoreModule {
 
-    private String submit;
-    public HomeworkAdapter(List<HomeworkListBean.RowsBean> data,String submit) {
+    public HomeworkAdapter(List<HomeworkListBean.RowsBean> data) {
         super(R.layout.layout_item_homework, data);
-        this.submit=submit;
     }
 
 
     @Override
     protected void convert(BaseViewHolder helper, HomeworkListBean.RowsBean item) {
-        TextView tv_date=helper.getView(R.id.tv_date);
-        TextView tv_state=helper.getView(R.id.tv_state);
-        TextView tv_join_state=helper.getView(R.id.tv_join_state);
-        TextView tv_submit=helper.getView(R.id.tv_submit);
+        TextView tv_date = helper.getView(R.id.tv_date);
+        TextView tv_state = helper.getView(R.id.tv_state);
+        TextView tv_join_state = helper.getView(R.id.tv_join_state);
+        TextView tv_submit = helper.getView(R.id.tv_submit);
 
-        ImageView im_header=helper.getView(R.id.im_header);
-        TextView tv_name=helper.getView(R.id.tv_name);
-        RecyclerView rv_mark=helper.getView(R.id.rv_mark);
+        ImageView im_header = helper.getView(R.id.im_header);
+        TextView tv_name = helper.getView(R.id.tv_name);
+        RecyclerView rv_mark = helper.getView(R.id.rv_mark);
         GlideUtils.INSTANCE.loadImage(getContext(), item.teacherAvatar, im_header, R.drawable.icon_teacher_default_head);
         tv_name.setText(item.teacherName);
         if (!TextUtils.isEmpty(item.subjectName)) {
@@ -66,27 +66,37 @@ public class HomeworkAdapter extends BaseQuickAdapter<HomeworkListBean.RowsBean,
         } else {
             rv_mark.setVisibility(View.GONE);
         }
-        tv_date.setText(item.classDate);
-        if (item.absenteeism.equals("YES")){
+        tv_date.setText(UiUtils.getCourseTimeString(item.startTime, item.endTime));
+        if (item.absenteeism == 0) {
             //到课
             tv_join_state.setText("到课");
             tv_join_state.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_999999));
-        }else {
+        } else {
             //旷课
             tv_join_state.setText("旷课");
             tv_join_state.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_ff4e19));
         }
 
-        if (submit.equals("YES")){
+        if (TextUtils.equals(item.homeworkStatus, HomeWorkConstants.COURSE_HOMEWORK_COMMIT)) {
             tv_submit.setText("已提交");
             tv_submit.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_999999));
             tv_submit.setBackgroundResource(R.drawable.bg_999999_border);
-        }else {
+        } else if (TextUtils.equals(item.homeworkStatus, HomeWorkConstants.COURSE_HOMEWORK_UN_COMMIT)) {
             tv_submit.setText("去提交");
             tv_submit.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_2dc7aa));
             tv_submit.setBackgroundResource(R.drawable.bg_2dc7aa_border);
         }
-
+        if (TextUtils.equals(item.homeworkStatus, HomeWorkConstants.COURSE_HOMEWORK_NOTREVIEW)) {
+            tv_state.setVisibility(View.VISIBLE);
+            tv_state.setText("未评价");
+            tv_state.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_2dc7aa));
+        } else if (TextUtils.equals(item.homeworkStatus, HomeWorkConstants.COURSE_HOMEWORK_REVIEWED)) {
+            tv_state.setVisibility(View.VISIBLE);
+            tv_state.setText("已评价");
+            tv_state.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_999999));
+        }else {
+            tv_state.setVisibility(View.GONE);
+        }
     }
 
     @NonNull

+ 2 - 1
student/src/main/java/com/cooleshow/student/adapter/MessageBoxAdapter.java

@@ -10,6 +10,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.module.BaseLoadMoreModule;
 import com.chad.library.adapter.base.module.LoadMoreModule;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
+import com.cooleshow.base.utils.TimeUtils;
 import com.cooleshow.student.R;
 import com.cooleshow.student.bean.SystemMessageBean;
 
@@ -36,7 +37,7 @@ public class MessageBoxAdapter extends BaseQuickAdapter<SystemMessageBean.RowsBe
         TextView tv_content=helper.getView(R.id.tv_content);
         tv_content.setText(item.content);
         TextView tv_date=helper.getView(R.id.tv_date);
-        tv_date.setText(item.sendTime);
+        tv_date.setText(TimeUtils.date2String(TimeUtils.string2Date(item.sendTime),"yyyy-MM-dd"));
         View view_unread=helper.getView(R.id.view_unread);
         if (item.readStatus==0){
             view_unread.setVisibility(View.VISIBLE);

+ 21 - 27
student/src/main/java/com/cooleshow/student/bean/HomeworkListBean.java

@@ -1,5 +1,10 @@
 package com.cooleshow.student.bean;
 
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -19,39 +24,28 @@ public class HomeworkListBean {
     public List<RowsBean> rows;
 
     public static class RowsBean {
-        /*
 
 
-        	"absenteeism": "",
-                    "classDate": "",
-                    "courseGroupId": 0,
-                    "courseId": 0,
-                    "decorateTime": "",
-                    "endTime": "",
-                    "startTime": "",
-                    "studentAvatar": "",
-                    "studentId": 0,
-                    "studentName": "",
-                    "subjectName": "",
-                    "submitTime": "",
-                    "teacherAvatar": "",
-                    "teacherId": 0,
-                    "teacherName": ""
-         */
-        public String absenteeism;
-        public String classDate;
-        public int courseGroupId;
-        public int courseId;
-        public String decorateTime;
+        public String startTime;
         public String endTime;
         public String studentAvatar;
-        public int studentId;
         public String studentName;
-        public String subjectName;
-        public String submitTime;
+        public String teacherName;
         public String teacherAvatar;
+        public int absenteeism; //旷课 0:否,1:是,可用值:NO,YES
+        public String courseGroupName;
+        public String subjectName;
+        public int courseId;
+        public int classNum;
         public int teacherId;
-        public String teacherName;
-
+        public int studentId;
+        public Object submitTime;
+        public int courseGroupId;
+        public String backgroundPic;
+        public String classDate;
+        public String homeworkStatus;
+        public String decorateTime;
+        public int homeworkId;
+        public String type;
     }
 }

+ 13 - 0
student/src/main/java/com/cooleshow/student/constants/HomeWorkConstants.java

@@ -0,0 +1,13 @@
+package com.cooleshow.student.constants;
+
+/**
+ * @author dengqw
+ * @time 2022/7/2 23:09
+ * @describe:
+ **/
+public class HomeWorkConstants {
+    public static final String COURSE_HOMEWORK_COMMIT = "COMMIT";//已提交
+    public static final String COURSE_HOMEWORK_UN_COMMIT = "NOTCOMMIT";//未提交
+    public static final String COURSE_HOMEWORK_NOTREVIEW = "NOTREVIEW";// 未评价
+    public static final String COURSE_HOMEWORK_REVIEWED = "REVIEWED";// 已评价
+}

+ 5 - 1
student/src/main/java/com/cooleshow/student/presenter/course/LiveCoursePresenter.java

@@ -1,5 +1,7 @@
 package com.cooleshow.student.presenter.course;
 
+import android.text.TextUtils;
+
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
@@ -30,7 +32,9 @@ public class LiveCoursePresenter extends BasePresenter<LiveCourseContract.LiveCo
         JSONObject jsonObject = new JSONObject();
         try {
             jsonObject.putOpt("classDate", month);
-            jsonObject.putOpt("courseState", status);
+            if(!TextUtils.isEmpty(status)){
+                jsonObject.putOpt("courseState", status);
+            }
             if (subjectId != 0) {
                 jsonObject.putOpt("subjectId", subjectId);
             }

+ 1 - 1
student/src/main/java/com/cooleshow/student/ui/work/HomeWorkFragment.java

@@ -80,7 +80,7 @@ public class HomeWorkFragment extends BaseMVPFragment<FragmentHomeworkBinding, H
         RecyclerView rvAddress = mViewBinding.recyclerView;
         LinearLayoutManager manager = new LinearLayoutManager(getContext());
         rvAddress.setLayoutManager(manager);
-        homeworkAdapter = new HomeworkAdapter(dataList,submit);
+        homeworkAdapter = new HomeworkAdapter(dataList);
         LayoutInflater inflater = LayoutInflater.from(getContext());
         View emptyLayout = inflater.inflate(R.layout.layout_empty_conent, null);
         homeworkAdapter.setEmptyView(emptyLayout);

+ 2 - 1
student/src/main/res/layout/layout_item_homework.xml

@@ -17,6 +17,7 @@
             android:layout_width="@dimen/dp_16"
             android:layout_height="@dimen/dp_16"
             android:layout_marginLeft="11dp"
+            android:layout_marginTop="@dimen/dp_12"
             android:background="@drawable/icon_clock"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintTop_toTopOf="parent" />
@@ -39,7 +40,6 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginRight="11dp"
-            android:text="已结束"
             android:textColor="@color/color_999999"
             android:textSize="@dimen/sp_14"
             app:layout_constraintBottom_toBottomOf="@+id/im_clock"
@@ -52,6 +52,7 @@
             android:layout_height="wrap_content"
             android:textColor="@color/color_999999"
             android:textSize="@dimen/sp_13"
+            android:visibility="gone"
             app:layout_constraintBottom_toBottomOf="@+id/tv_state"
             app:layout_constraintRight_toLeftOf="@+id/tv_state"
             app:layout_constraintTop_toTopOf="@+id/tv_state" />

+ 4 - 1
teacher/src/main/java/com/cooleshow/teacher/adapter/CourseCommentNotReplyAdapter.java

@@ -8,6 +8,7 @@ import com.chad.library.adapter.base.module.BaseLoadMoreModule;
 import com.chad.library.adapter.base.module.LoadMoreModule;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.cooleshow.base.utils.GlideUtils;
+import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.bean.CourseCommentListBean;
 import com.cooleshow.teacher.bean.ReceivedCommentListBean;
@@ -33,7 +34,9 @@ public class CourseCommentNotReplyAdapter extends BaseQuickAdapter<CourseComment
         //声部名称
         holder.setText(R.id.tv_course_name, bean.subjectName);
         //时间
-        holder.setText(R.id.tv_time, bean.startTime);
+        holder.setText(R.id.tv_time, UiUtils.getCourseTimeString(bean.startTime,bean.endTime));
+
+
     }
 
     @NonNull

+ 2 - 1
teacher/src/main/java/com/cooleshow/teacher/adapter/CourseTableListAdapter.kt

@@ -8,6 +8,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter
 import com.chad.library.adapter.base.viewholder.BaseViewHolder
 import com.cooleshow.base.ext.setVisible
 import com.cooleshow.base.utils.GlideUtils
+import com.cooleshow.base.utils.UiUtils
 import com.cooleshow.teacher.R
 import com.cooleshow.teacher.bean.CourseTableDataBean
 
@@ -40,7 +41,7 @@ class CourseTableListAdapter(layoutResId: Int) :
         val tvBuyNum = baseViewHolder.getView<TextView>(R.id.tv_buy_num)
         val tvCourseStatusBt = baseViewHolder.getView<TextView>(R.id.tv_course_status_bt)
         //开始时间
-        tvTime.text = data?.startTime;
+        tvTime.text = UiUtils.getCourseTimeString(data?.startTime,data?.endTime);
         //title
         baseViewHolder.setText(R.id.tv_title, data?.name);
         //subjectName

+ 2 - 1
teacher/src/main/java/com/cooleshow/teacher/adapter/MessageBoxAdapter.java

@@ -10,6 +10,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.module.BaseLoadMoreModule;
 import com.chad.library.adapter.base.module.LoadMoreModule;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
+import com.cooleshow.base.utils.TimeUtils;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.bean.SystemMessageBean;
 
@@ -36,7 +37,7 @@ public class MessageBoxAdapter extends BaseQuickAdapter<SystemMessageBean.RowsBe
         TextView tv_content=helper.getView(R.id.tv_content);
         tv_content.setText(item.content);
         TextView tv_date=helper.getView(R.id.tv_date);
-        tv_date.setText(item.sendTime);
+        tv_date.setText(TimeUtils.date2String(TimeUtils.string2Date(item.sendTime),"yyyy-MM-dd"));
         View view_unread=helper.getView(R.id.view_unread);
         if (item.readStatus==0){
             view_unread.setVisibility(View.VISIBLE);

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/adapter/MineLiveCourseAdapter.java

@@ -33,7 +33,7 @@ public class MineLiveCourseAdapter extends BaseQuickAdapter<MineLiveCourseListBe
         ImageView im_pic = helper.getView(R.id.im_pic);
         GlideUtils.INSTANCE.loadImage(getContext(), item.backgroundPic, im_pic);
         TextView tv_subject_name=helper.getView(R.id.tv_subject_name);
-        tv_subject_name.setText(item.subjectName);
+        tv_subject_name.setText(item.courseGroupName);
         ImageView im_header=helper.getView(R.id.im_header);
         GlideUtils.INSTANCE.loadImage(getContext(), item.avatar, im_header,R.drawable.icon_teacher_default_head);
         TextView tv_teacher_name=helper.getView(R.id.tv_teacher_name);

+ 9 - 1
teacher/src/main/java/com/cooleshow/teacher/adapter/MineStyleVideoAdapter.java

@@ -66,7 +66,13 @@ public class MineStyleVideoAdapter extends BaseMultiItemQuickAdapter<TeacherSelf
                 });
                 break;
         }
-
+        holder.itemView.setOnClickListener(v -> {
+            if (getItemViewType(holder.getAbsoluteAdapterPosition()) == 0) {
+                if (null != itemAddClickAction) {
+                    itemAddClickAction.play(styleVideoBean.videoUrl);
+                }
+            }
+        });
     }
 
     private ItemAddClickAction itemAddClickAction;
@@ -79,6 +85,8 @@ public class MineStyleVideoAdapter extends BaseMultiItemQuickAdapter<TeacherSelf
     public interface ItemAddClickAction {
         void add();
 
+        void play(String videoUrl);
+
         void delete(String url);
     }
 

+ 1 - 0
teacher/src/main/java/com/cooleshow/teacher/adapter/PianoRoomCourseListAdapter.java

@@ -17,6 +17,7 @@ import com.cooleshow.teacher.constants.CourseConstants;
 
 import androidx.annotation.NonNull;
 
+
 /**
  * Author by pq, Date on 2022/4/25.
  */

+ 26 - 6
teacher/src/main/java/com/cooleshow/teacher/adapter/TeachableInstrumentAdapter.java

@@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
+import com.cooleshow.base.utils.ToastUtil;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.bean.TeachableInstrumentBean;
 
@@ -19,10 +20,14 @@ import java.util.List;
  * @author Ryan
  * 类说明:
  */
-public class TeachableInstrumentAdapter  extends BaseQuickAdapter<TeachableInstrumentBean, BaseViewHolder> {
+public class TeachableInstrumentAdapter extends BaseQuickAdapter<TeachableInstrumentBean, BaseViewHolder> {
 
-    public TeachableInstrumentAdapter(List<TeachableInstrumentBean> data) {
+    private int mSelectCount;
+    private int count;
+
+    public TeachableInstrumentAdapter(List<TeachableInstrumentBean> data, int selectCount) {
         super(R.layout.layout_teachable_instrument, data);
+        mSelectCount = selectCount;
     }
 
 
@@ -30,16 +35,31 @@ public class TeachableInstrumentAdapter  extends BaseQuickAdapter<TeachableInstr
     protected void convert(BaseViewHolder helper, TeachableInstrumentBean item) {
         TextView tv_title = helper.getView(R.id.tv_title);
         tv_title.setText(item.name);
-        RecyclerView rv_item=helper.getView(R.id.rv_item);
-        if (null!=item.subjects&&item.subjects.size()>0){
+        RecyclerView rv_item = helper.getView(R.id.rv_item);
+        if (null != item.subjects && item.subjects.size() > 0) {
             rv_item.setVisibility(View.VISIBLE);
             GridLayoutManager manager = new GridLayoutManager(getContext(), 3);
             rv_item.setHasFixedSize(true);
             rv_item.setLayoutManager(manager);
-            TeachableInstrumentItemAdapter teachableInstrumentItemAdapter=new TeachableInstrumentItemAdapter(item.subjects);
+            TeachableInstrumentItemAdapter teachableInstrumentItemAdapter = new TeachableInstrumentItemAdapter(item.subjects);
             rv_item.setNestedScrollingEnabled(false);
             rv_item.setAdapter(teachableInstrumentItemAdapter);
-        }else {
+            teachableInstrumentItemAdapter.setSelectedListener((bean, position) -> {
+                if (!bean.isSelect) {
+                    count++;
+                    bean.isSelect = true;
+                    if (count + mSelectCount > 5) {
+                        count--;
+                        bean.isSelect = false;
+                        ToastUtil.getInstance().showShort("最多选5个乐器!");
+                    }
+                } else {
+                    bean.isSelect = false;
+                    count--;
+                }
+                teachableInstrumentItemAdapter.notifyItemChanged(position);
+            });
+        } else {
             rv_item.setVisibility(View.GONE);
         }
 

+ 13 - 24
teacher/src/main/java/com/cooleshow/teacher/adapter/TeachableInstrumentItemAdapter.java

@@ -1,14 +1,11 @@
 package com.cooleshow.teacher.adapter;
 
-import android.view.View;
 import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.cooleshow.base.utils.GlideUtils;
-import com.cooleshow.base.utils.ToastUtil;
-import com.cooleshow.base.utils.ToastUtils;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.bean.TeachableInstrumentBean;
 
@@ -22,6 +19,8 @@ import java.util.List;
  */
 public class TeachableInstrumentItemAdapter extends BaseQuickAdapter<TeachableInstrumentBean, BaseViewHolder> {
 
+    private OnItemSelectedListener mSelectedListener;
+
     public TeachableInstrumentItemAdapter(List<TeachableInstrumentBean> data) {
         super(R.layout.layout_teachable_instrument_item, data);
     }
@@ -42,28 +41,18 @@ public class TeachableInstrumentItemAdapter extends BaseQuickAdapter<TeachableIn
             im_check.setBackgroundResource(R.drawable.icon_check_normal);
         }
         tv_name.setText(item.name);
-        iv_pic.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                item.isSelect = !item.isSelect;
-                if (item.isSelect) {
-                    int selectCount = 0;
-                    for (TeachableInstrumentBean datum : getData()) {
-                        if (datum.isSelect) {
-                            selectCount++;
-                        }
-                    }
-                    if (selectCount==6){
-                        ToastUtils.showShort("最多选5个乐器!");
-                        item.isSelect=false;
-                        return;
-                    }
-
-                    im_check.setBackgroundResource(R.drawable.icon_check_select);
-                } else {
-                    im_check.setBackgroundResource(R.drawable.icon_check_normal);
-                }
+        iv_pic.setOnClickListener(view -> {
+            if(mSelectedListener!=null){
+                mSelectedListener.select(item, helper.getAbsoluteAdapterPosition());
             }
         });
     }
+
+    public void setSelectedListener(OnItemSelectedListener selectedListener) {
+        mSelectedListener = selectedListener;
+    }
+
+    public interface OnItemSelectedListener {
+        void select(TeachableInstrumentBean isSelect, int absoluteAdapterPosition);
+    }
 }

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/bean/MusicSheetListBean.java

@@ -79,7 +79,7 @@ public class MusicSheetListBean {
         public String favorite;
         public String hasBeat;
         public String hotFlag;
-        public int id;
+        public String  id;
         public String metronomeUrl;
         public String midiUrl;
         public String mp3Type;

+ 5 - 1
teacher/src/main/java/com/cooleshow/teacher/presenter/course/LiveCoursePresenter.java

@@ -1,5 +1,7 @@
 package com.cooleshow.teacher.presenter.course;
 
+import android.text.TextUtils;
+
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
@@ -25,7 +27,9 @@ public class LiveCoursePresenter extends BasePresenter<LiveCourseContract.LiveCo
         JSONObject jsonObject = new JSONObject();
         try {
             jsonObject.putOpt("classDate", month);
-            jsonObject.putOpt("status", status);
+            if(!TextUtils.isEmpty(status)){
+                jsonObject.putOpt("courseState", status);
+            }
             if (subjectId != 0) {
                 jsonObject.putOpt("subjectId", subjectId);
             }

+ 34 - 47
teacher/src/main/java/com/cooleshow/teacher/ui/comment/CourseCommentHasReplyFragment.java

@@ -44,8 +44,6 @@ public class CourseCommentHasReplyFragment extends BaseMVPFragment<FragmentCours
     private String currentStudentName;
     private int currentPage = 1;
     private EmptyViewLayout mEmptyView;
-    private TextView mTvEmptyTip;
-    private ImageView mEmptyIcon;
     private boolean hasNext = true;
     private CourseCommentNotReplyAdapter mAdapter;
 
@@ -74,37 +72,35 @@ public class CourseCommentHasReplyFragment extends BaseMVPFragment<FragmentCours
         reBuildFilter(currentSelectDate, currentStudentName);
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        currentPage = 1;
+        queryComment(false);
+    }
+
     private void initListener() {
         mViewBinding.tvDate.setOnClickListener(this);
         mViewBinding.tvSearch.setOnClickListener(this);
-        mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
-            @Override
-            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                currentPage = 1;
-                queryComment(true);
-            }
+        mViewBinding.refreshLayout.setOnRefreshListener(refreshLayout -> {
+            currentPage = 1;
+            queryComment(true);
         });
 
-        mAdapter.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-                if (position < mAdapter.getData().size()) {
-                    CourseCommentListBean.RowsBean rowsBean = mAdapter.getData().get(position);
-                    startDetailActivity(rowsBean);
-                }
+        mAdapter.setOnItemClickListener((adapter, view, position) -> {
+            if (position < mAdapter.getData().size()) {
+                CourseCommentListBean.RowsBean rowsBean = mAdapter.getData().get(position);
+                startDetailActivity(rowsBean);
             }
         });
 
-        mAdapter.getLoadMoreModule().setOnLoadMoreListener(new OnLoadMoreListener() {
-            @Override
-            public void onLoadMore() {
-                //上拉加载
-                if (hasNext) {
-                    currentPage++;
-                    queryComment(false);
-                } else {
-                    mAdapter.getLoadMoreModule().loadMoreEnd();
-                }
+        mAdapter.getLoadMoreModule().setOnLoadMoreListener(() -> {
+            //上拉加载
+            if (hasNext) {
+                currentPage++;
+                queryComment(false);
+            } else {
+                mAdapter.getLoadMoreModule().loadMoreEnd();
             }
         });
     }
@@ -137,9 +133,7 @@ public class CourseCommentHasReplyFragment extends BaseMVPFragment<FragmentCours
         }
         currentStudentName = targetStr;
         currentFilterDate = targetDateTimeStr;
-        currentPage = 1;
         mViewBinding.tvDate.setText(currentFilterDate);
-        queryComment(true);
     }
 
     private void queryComment(boolean isShowLoading) {
@@ -154,27 +148,18 @@ public class CourseCommentHasReplyFragment extends BaseMVPFragment<FragmentCours
         if (pvTime == null) {
             pvTime = new TimePickerBuilder(requireContext(), (date, v) -> {//选中事件回调
                 reBuildFilter(date, currentStudentName);
-            }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_default_layout, new CustomListener() {
-                @Override
-                public void customLayout(View v) {
-                    //自定义布局中的控件初始化及事件处理
-                    final TextView tvSubmit = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_finish);
-                    TextView ivCancel = (TextView) v.findViewById(com.cooleshow.base.R.id.tv_cancel);
-                    tvSubmit.setOnClickListener(new View.OnClickListener() {
-                        @Override
-                        public void onClick(View v) {
-                            pvTime.returnData();
-                            pvTime.dismiss();
-                        }
-                    });
-                    ivCancel.setOnClickListener(new View.OnClickListener() {
-                        @Override
-                        public void onClick(View v) {
-                            pvTime.dismiss();
-                        }
-                    });
+                currentPage = 1;
+                queryComment(true);
+            }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_default_layout, v -> {
+                //自定义布局中的控件初始化及事件处理
+                final TextView tvSubmit =  v.findViewById(com.cooleshow.base.R.id.tv_finish);
+                TextView ivCancel =  v.findViewById(com.cooleshow.base.R.id.tv_cancel);
+                tvSubmit.setOnClickListener(v1 -> {
+                    pvTime.returnData();
+                    pvTime.dismiss();
+                });
+                ivCancel.setOnClickListener(v12 -> pvTime.dismiss());
 
-                }
             })
                     .setLineSpacingMultiplier(2.5f)
                     .setType(new boolean[]{true, true, false, false, false, false})// 默认全部显示
@@ -203,6 +188,8 @@ public class CourseCommentHasReplyFragment extends BaseMVPFragment<FragmentCours
             //搜索
             String targetName = mViewBinding.etTargetName.getText().toString();
             reBuildFilter(currentSelectDate, targetName);
+            currentPage = 1;
+            queryComment(true);
         }
     }
 

+ 25 - 27
teacher/src/main/java/com/cooleshow/teacher/ui/comment/CourseCommentNoReplyFragment.java

@@ -44,10 +44,8 @@ public class CourseCommentNoReplyFragment extends BaseMVPFragment<FragmentCourse
     private String currentStudentName;
     private int currentPage = 1;
     private EmptyViewLayout mEmptyView;
-    private TextView mTvEmptyTip;
     private boolean hasNext = true;
     private CourseCommentNotReplyAdapter mAdapter;
-    private ImageView mEmptyIcon;
 
     @Override
     protected FragmentCourseCommentNoReplyLayoutBinding getLayoutView() {
@@ -74,37 +72,35 @@ public class CourseCommentNoReplyFragment extends BaseMVPFragment<FragmentCourse
         reBuildFilter(currentSelectDate, currentStudentName);
     }
 
+    @Override
+    public void onResume() {
+        super.onResume();
+        currentPage = 1;
+        queryComment(false);
+    }
+
     private void initListener() {
         mViewBinding.tvDate.setOnClickListener(this);
         mViewBinding.tvSearch.setOnClickListener(this);
-        mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
-            @Override
-            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                currentPage = 1;
-                queryComment(true);
-            }
+        mViewBinding.refreshLayout.setOnRefreshListener(refreshLayout -> {
+            currentPage = 1;
+            queryComment(true);
         });
-        mAdapter.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-                if (position < mAdapter.getData().size()) {
-                    CourseCommentListBean.RowsBean rowsBean = mAdapter.getData().get(position);
-                    startDetailActivity(rowsBean);
-                }
+        mAdapter.setOnItemClickListener((adapter, view, position) -> {
+            if (position < mAdapter.getData().size()) {
+                CourseCommentListBean.RowsBean rowsBean = mAdapter.getData().get(position);
+                startDetailActivity(rowsBean);
             }
         });
 
 
-        mAdapter.getLoadMoreModule().setOnLoadMoreListener(new OnLoadMoreListener() {
-            @Override
-            public void onLoadMore() {
-                //上拉加载
-                if (hasNext) {
-                    currentPage++;
-                    queryComment(false);
-                } else {
-                    mAdapter.getLoadMoreModule().loadMoreEnd();
-                }
+        mAdapter.getLoadMoreModule().setOnLoadMoreListener(() -> {
+            //上拉加载
+            if (hasNext) {
+                currentPage++;
+                queryComment(false);
+            } else {
+                mAdapter.getLoadMoreModule().loadMoreEnd();
             }
         });
     }
@@ -137,9 +133,7 @@ public class CourseCommentNoReplyFragment extends BaseMVPFragment<FragmentCourse
         }
         currentStudentName = targetStr;
         currentFilterDate = targetDateTimeStr;
-        currentPage = 1;
         mViewBinding.tvDate.setText(currentFilterDate);
-        queryComment(true);
     }
 
     private void queryComment(boolean isShowLoading) {
@@ -154,6 +148,8 @@ public class CourseCommentNoReplyFragment extends BaseMVPFragment<FragmentCourse
         if (pvTime == null) {
             pvTime = new TimePickerBuilder(requireContext(), (date, v) -> {//选中事件回调
                 reBuildFilter(date, currentStudentName);
+                currentPage = 1;
+                queryComment(true);
             }).setLayoutRes(com.cooleshow.base.R.layout.pickerview_default_layout, new CustomListener() {
                 @Override
                 public void customLayout(View v) {
@@ -203,6 +199,8 @@ public class CourseCommentNoReplyFragment extends BaseMVPFragment<FragmentCourse
             //搜索
             String targetName = mViewBinding.etTargetName.getText().toString();
             reBuildFilter(currentSelectDate, targetName);
+            currentPage = 1;
+            queryComment(true);
         }
     }
 

+ 1 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/course/MineLiveCourseActivity.java

@@ -84,6 +84,7 @@ public class MineLiveCourseActivity extends BaseMVPActivity<ActivityMineLiveCour
             fragments.add(adFragment);
         }
         viewPager.setAdapter(new MineLiveCoursePagerAdapter(getSupportFragmentManager(), fragments, titles));
+        viewPager.setOffscreenPageLimit(fragments.size());
         tabLayout.setupWithViewPager(viewPager);
     }
 

+ 23 - 29
teacher/src/main/java/com/cooleshow/teacher/ui/course/MineLiveCourseFragment.java

@@ -7,6 +7,7 @@ import android.view.View;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -102,16 +103,12 @@ public class MineLiveCourseFragment extends BaseMVPFragment<FragmentMineLiveCour
         mineLiveCourseAdapter.setEmptyView(emptyLayout);
         rvAddress.setAdapter(mineLiveCourseAdapter);
         mViewBinding.tvOpen.setOnClickListener(this);
-        mineLiveCourseAdapter.setOnItemClickListener(new OnItemClickListener() {
-            @Override
-            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
-                MineLiveCourseListBean.RowsBean item = (MineLiveCourseListBean.RowsBean) adapter.getItem(position);
-
-                ARouter.getInstance()
-                        .build(RouterPath.WebCenter.ACTIVITY_HTML)
-                        .withString(WebConstants.WEB_URL, WebConstants.TEACHER_LIVE_DETAIL + "?groupId=" + item.courseGroupId)
-                        .navigation();
-            }
+        mineLiveCourseAdapter.setOnItemClickListener((adapter, view, position) -> {
+            MineLiveCourseListBean.RowsBean item = (MineLiveCourseListBean.RowsBean) adapter.getItem(position);
+            ARouter.getInstance()
+                    .build(RouterPath.WebCenter.ACTIVITY_HTML)
+                    .withString(WebConstants.WEB_URL, WebConstants.TEACHER_LIVE_DETAIL + "?groupId=" + item.courseGroupId)
+                    .navigation();
         });
 
     }
@@ -120,23 +117,18 @@ public class MineLiveCourseFragment extends BaseMVPFragment<FragmentMineLiveCour
 
     @Override
     protected void initData() {
-        mViewBinding.refreshLayout.setOnRefreshListener(new OnRefreshListener() {
-            @Override
-            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
-                currentPage = 1;
-                queryCourse(true);
-            }
+        presenter.getTeacherUserInfo();
+        mViewBinding.refreshLayout.setOnRefreshListener(refreshLayout -> {
+            currentPage = 1;
+            queryCourse(true);
         });
-        mineLiveCourseAdapter.getLoadMoreModule().setOnLoadMoreListener(new OnLoadMoreListener() {
-            @Override
-            public void onLoadMore() {
-                //上拉加载
-                if (hasNext) {
-                    currentPage++;
-                    queryCourse(false);
-                } else {
-                    mineLiveCourseAdapter.getLoadMoreModule().loadMoreEnd();
-                }
+        mineLiveCourseAdapter.getLoadMoreModule().setOnLoadMoreListener(() -> {
+            //上拉加载
+            if (hasNext) {
+                currentPage++;
+                queryCourse(false);
+            } else {
+                mineLiveCourseAdapter.getLoadMoreModule().loadMoreEnd();
             }
         });
 
@@ -200,9 +192,11 @@ public class MineLiveCourseFragment extends BaseMVPFragment<FragmentMineLiveCour
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
-        presenter.getTeacherUserInfo();
+    public void setUserVisibleHint(boolean isVisibleToUser) {
+        super.setUserVisibleHint(isVisibleToUser);
+        if(isVisibleToUser && presenter!=null){
+            presenter.getTeacherUserInfo();
+        }
     }
 
     @Override

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/ui/course/SparringCourseDetailActivity.java

@@ -270,7 +270,7 @@ public class SparringCourseDetailActivity extends BaseMVPActivity<ActivitySparri
                 return;
             }
             if (mInfoBean.decorateHomework != CourseConstants.COURSE_HOMEWORK_SET) {
-                ToastUtil.getInstance().show(this, "您还未布置作业");
+                ToastUtil.getInstance().show(this, "您还未布置作业");
                 return;
             }
             if (mInfoBean.submitHomework != CourseConstants.COURSE_HOMEWORK_STU_SUBMIT) {

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/HomePageActivity.java

@@ -148,11 +148,11 @@ public class HomePageActivity extends BaseMVPActivity<ActivityHomePageLayoutBind
             mMusicPageFragment.setMusicPersonCertStatus(info.musicianAuthStatus);
         }
         //星级
-        if (info.starGrade > 0) {
+        if (info.starGrade > 0 && TextUtils.equals(info.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
             viewBinding.ratingBar.setVisibility(View.VISIBLE);
             viewBinding.ratingBar.setRating(info.starGrade);
             viewBinding.tvNoScore.setVisibility(View.GONE);
-        } else {
+        } else if(TextUtils.equals(info.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)){
             viewBinding.ratingBar.setVisibility(View.INVISIBLE);
             viewBinding.tvNoScore.setVisibility(View.VISIBLE);
         }

+ 4 - 4
teacher/src/main/java/com/cooleshow/teacher/ui/homepage/MineStyleFragment.java

@@ -68,10 +68,10 @@ public class MineStyleFragment extends BaseMVPFragment<FragmentMineStyleLayoutBi
                             .navigation();
                 });
         mFansGroupListAdapter.setEmptyView(fansEmptyView);
-        mFansGroupListAdapter.setOnItemClickListener((adapter, view, position) -> {
-            ContactRoomListBean item = (ContactRoomListBean) adapter.getItem(position);
-            goChat(item.getId() + "", item.getName());
-        });
+//        mFansGroupListAdapter.setOnItemClickListener((adapter, view, position) -> {
+//            ContactRoomListBean item = (ContactRoomListBean) adapter.getItem(position);
+//            goChat(item.getId() + "", item.getName());
+//        });
     }
 
     @Override

+ 8 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/main/HomeFragment.kt

@@ -77,11 +77,17 @@ class HomeFragment : BaseMVPFragment<FragmentHomeLayoutBinding, HomePresenter>()
         mViewBinding.tvNickname.text =
             UserHelper.getTeacherName(teacherUserInfo.username, teacherUserInfo.userId);
         //星级
-        if (teacherUserInfo.starGrade.toFloat() > 0) {
+        if (teacherUserInfo.starGrade.toFloat() > 0 && TextUtils.equals(
+                teacherUserInfo.entryStatus,
+                TeacherInfoConstants.ENTRY_STATUS_PASS
+            )) {
             mViewBinding.ratingBar.visibility = View.VISIBLE
             mViewBinding.tvNoScore.visibility = View.GONE
             mViewBinding.ratingBar.rating = teacherUserInfo.starGrade.toFloat()
-        } else {
+        } else if(TextUtils.equals(
+                teacherUserInfo.entryStatus,
+                TeacherInfoConstants.ENTRY_STATUS_PASS
+            )){
             mViewBinding.ratingBar.visibility = View.GONE
             mViewBinding.tvNoScore.visibility = View.VISIBLE
         }

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/main/MineFragment.java

@@ -71,11 +71,11 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
         //昵称
         mViewBinding.tvNickname.setText(UserHelper.getTeacherName(teacherUserInfo.username, teacherUserInfo.userId));
         //星级
-        if (teacherUserInfo.starGrade > 0) {
+        if (teacherUserInfo.starGrade > 0 && TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
             mViewBinding.ratingBar.setVisibility(View.VISIBLE);
             mViewBinding.ratingBar.setRating(teacherUserInfo.starGrade);
             mViewBinding.tvNoScore.setVisibility(View.GONE);
-        } else {
+        } else if(TextUtils.equals(teacherUserInfo.entryStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)){
             mViewBinding.ratingBar.setVisibility(View.GONE);
             mViewBinding.tvNoScore.setVisibility(View.VISIBLE);
         }

+ 50 - 65
teacher/src/main/java/com/cooleshow/teacher/ui/mine/ModifyPasswordActivity.java

@@ -15,6 +15,7 @@ import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.utils.ToastUtil;
 import com.cooleshow.base.utils.ToastUtils;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.contract.ModifyPasswordContract;
@@ -23,6 +24,7 @@ import com.cooleshow.teacher.presenter.mine.ModifyPasswordPresenter;
 import com.cooleshow.usercenter.constants.UserConstants;
 import com.cooleshow.usercenter.helper.UserHelper;
 
+import org.jetbrains.annotations.NotNull;
 import org.json.JSONException;
 import org.json.JSONObject;
 
@@ -30,7 +32,12 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.Timer;
 import java.util.TimerTask;
+import java.util.concurrent.TimeUnit;
 
+import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers;
+import io.reactivex.rxjava3.core.Observable;
+import io.reactivex.rxjava3.core.Observer;
+import io.reactivex.rxjava3.disposables.Disposable;
 import io.rong.imkit.utils.StatusBarUtil;
 
 /**
@@ -41,25 +48,27 @@ import io.rong.imkit.utils.StatusBarUtil;
  */
 @Route(path = RouterPath.MineCenter.MINE_MODIFY_PASSWORD)
 public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswordBinding, ModifyPasswordPresenter> implements ModifyPasswordContract.ModifyPasswordView, View.OnClickListener {
+    private Disposable disposable;
+
     @Override
     public void onClick(View view) {
-        switch (view.getId()){
+        switch (view.getId()) {
             case R.id.tv_confirm:
                 String password = viewBinding.etPassword.getText().toString().trim();
-                if (TextUtils.isEmpty(password)||password.length()<6||password.length()>20){
+                if (TextUtils.isEmpty(password) || password.length() < 6 || password.length() > 20) {
                     ToastUtils.showShort("请输入6-20位密码");
                     break;
                 }
                 String authCode = viewBinding.etAuthCode.getText().toString().trim();
-                if (TextUtils.isEmpty(authCode)){
+                if (TextUtils.isEmpty(authCode)) {
                     ToastUtils.showShort("请输入验证码");
                     break;
                 }
 
                 Map<String, String> params = new HashMap<>();
-                params.put("mobile",phoneNum);
-                params.put("authCode",authCode);
-                params.put("newPassword",password);
+                params.put("mobile", phoneNum);
+                params.put("authCode", authCode);
+                params.put("newPassword", password);
                 presenter.updatePassword(params);
                 break;
             case R.id.tv_get_auth_code:
@@ -80,6 +89,7 @@ public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswo
         super.onCreate(savedInstanceState);
         StatusBarUtil.setStatusBarDarkTheme(this, true);
     }
+
     @Autowired(name = "phoneNum")
     String phoneNum;
 
@@ -89,7 +99,7 @@ public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswo
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "修改密码");
         viewBinding.tvConfirm.setOnClickListener(this);
         viewBinding.tvGetAuthCode.setOnClickListener(this);
-        String cPhone = phoneNum.substring(0, 3) + "****" + phoneNum.substring(7, phoneNum.length());
+        String cPhone = phoneNum.substring(0, 3) + "****" + phoneNum.substring(7);
         viewBinding.tvPhone.setText(cPhone);
     }
 
@@ -105,6 +115,7 @@ public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswo
 
     @Override
     public void updatePasswordSuccess(Object object) {
+        ToastUtil.getInstance().showShort("修改成功");
         UserHelper.saveUserToken("");
         ARouter.getInstance().build(RouterPath.UserCenter.PATH_VERIFY_LOGIN)
                 .withString(UserConstants.PHONE_NUM_KEY, UserHelper.getUserPhone())
@@ -123,82 +134,56 @@ public class ModifyPasswordActivity extends BaseMVPActivity<ActivityModifyPasswo
     public void getCodeSuccess() {
         ToastUtils.showShort("验证码发送成功,请注意查收!");
         startTimer();
-    }
 
+    }
     /**
-     * 执行完成
-     */
-    public static final int EXECUTE_FINISH = 0X11000;
-    /**
-     * 执行中
+     * 开始倒计时
      */
-    public static final int EXECUTE_LOADING = 0X4000;
-    private int mTimerId = 60;
+    private void startTimer() {
+        Observable.interval(1000, TimeUnit.MILLISECONDS)
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new Observer<Long>() {
+                    @Override
+                    public void onSubscribe(@NotNull Disposable d) {
+                        disposable = d;
+                    }
 
-    private TimerTask timerTask;
+                    @Override
+                    public void onNext(@NotNull Long aLong) {
+                        if (aLong < 60) {
+                            viewBinding.tvGetAuthCode.setText(59 - aLong + "s");
+                            viewBinding.tvGetAuthCode.setClickable(false);
+                        } else {
+                            onComplete();
+                        }
+                    }
 
-    private Timer timer;
+                    @Override
+                    public void onError(@NotNull Throwable e) {
 
-    /**
-     * 开始倒计时
-     */
-    private void startTimer() {
+                    }
 
-        if (timerTask == null) {
-            timerTask = new TimerTask() {
-                @Override
-                public void run() {
-                    Message msg = new Message();
-                    msg.what = EXECUTE_LOADING;
-                    msg.arg1 = --mTimerId;
-                    handler.sendMessage(msg);
-                }
-            };
-            timer = new Timer();
-            timer.schedule(timerTask, 100, 1000);
-        }
+                    @Override
+                    public void onComplete() {
+                        closeTimer();
+                    }
+                });
     }
 
     /**
      * 结束计时
      */
     private void closeTimer() {
-        if (timer != null) {
-            timer.cancel();
-            timer = null;
-        }
-        if (timerTask != null) {
-            timerTask = null;
+        if (disposable != null && !disposable.isDisposed()) {
+            disposable.dispose();
         }
-        mTimerId = 60;
-        handler.sendEmptyMessage(EXECUTE_FINISH);
+        viewBinding.tvGetAuthCode.setText("获取验证码");
+        viewBinding.tvGetAuthCode.setClickable(true);
     }
 
-    @SuppressLint("HandlerLeak")
-    private Handler handler = new Handler() {
-        @Override
-        public void handleMessage(Message msg) {
-            switch (msg.what) {
-                case EXECUTE_LOADING:
-                    viewBinding.tvGetAuthCode.setText(msg.arg1 + "s");
-                    viewBinding.tvGetAuthCode.setClickable(false);
-                    if (msg.arg1 == 0) {
-                        closeTimer();
-                        viewBinding.tvGetAuthCode.setClickable(true);
-                    }
-                    break;
-                case EXECUTE_FINISH:
-                    viewBinding.tvGetAuthCode.setClickable(true);
-                    viewBinding.tvGetAuthCode.setText("获取验证码");
-                    break;
-            }
-            super.handleMessage(msg);
-        }
-    };
-
     @Override
     public void onDestroy() {
+        closeTimer();
         super.onDestroy();
-        handler.removeCallbacksAndMessages(EXECUTE_LOADING);
     }
 }

+ 8 - 7
teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/MineStylePageActivity.java

@@ -12,20 +12,19 @@ import android.view.View;
 import android.view.WindowManager;
 import android.widget.EditText;
 
-import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.GridLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
-import com.chad.library.adapter.base.BaseQuickAdapter;
-import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.ui.video.VideoPlayActivity;
 import com.cooleshow.base.utils.ActivityUtils;
 import com.cooleshow.base.utils.FileUtils;
 import com.cooleshow.base.utils.ToastUtil;
+import com.cooleshow.base.utils.ToastUtils;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.MineStyleVideoAdapter;
 import com.cooleshow.teacher.adapter.TeachableSelectAdapter;
@@ -34,7 +33,6 @@ import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
 import com.cooleshow.teacher.contract.MineStylePageContract;
 import com.cooleshow.teacher.databinding.ActivityMineStylePageBinding;
 import com.cooleshow.teacher.presenter.minestyle.MineStylePagePresenter;
-import com.cooleshow.usercenter.helper.UserHelper;
 import com.google.android.flexbox.AlignItems;
 import com.google.android.flexbox.FlexDirection;
 import com.google.android.flexbox.FlexWrap;
@@ -142,6 +140,11 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
             }
 
             @Override
+            public void play(String videoUrl) {
+                VideoPlayActivity.start(MineStylePageActivity.this, videoUrl);
+            }
+
+            @Override
             public void delete(String url) {
                 for (TeacherSelfStyleInfoBean.StyleVideoBean styleVideoBean : videoBeanList) {
                     if (styleVideoBean.type == 0 && styleVideoBean.videoUrl.equals(url)) {
@@ -239,12 +242,12 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
 
     @Override
     public void saveTeacherStyleSuccess(TeacherSelfStyleInfoBean styleInfoBean) {
+        ToastUtil.getInstance().showShort("保存成功");
         finish();
     }
 
     @Override
     public void upLoadVideoSuccess(TeacherSelfStyleInfoBean.StyleVideoBean styleVideoBean) {
-        hideLoading();
         videoBeanList.add(0, styleVideoBean);
         mMineStyleVideoListAdapter.notifyDataSetChanged();
 
@@ -252,7 +255,6 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
 
     @Override
     public void upLoadVideoFailure() {
-        hideLoading();
     }
 
     private void addEmptyVideoBean() {
@@ -272,7 +274,6 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
                 selectTeachableInstrument.addAll(dataSerializableExtra);
                 teachableSelectAdapter.notifyDataSetChanged();
             } else if (requestCode == CHOOSE_VIDEO) {
-                showLoading();
                 Uri uri = data.getData();
                 String v_path = FileUtils.getFilePathForN(uri, MineStylePageActivity.this);
                 presenter.upLoadVideo(MineStylePageActivity.this, v_path);

+ 2 - 2
teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/TeachableInstrumentActivity.java

@@ -68,14 +68,14 @@ public class TeachableInstrumentActivity extends BaseMVPActivity<ActivityTeachab
     @Override
     protected void initView() {
         ARouter.getInstance().inject(this);
+        initCarryData();
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "可教授乐器");
         instrumentList = viewBinding.rvInstrument;
         viewBinding.tvConfirm.setOnClickListener(this);
         LinearLayoutManager manager = new LinearLayoutManager(this);
         instrumentList.setLayoutManager(manager);
-        teachableInstrumentAdapter = new TeachableInstrumentAdapter(dataList);
+        teachableInstrumentAdapter = new TeachableInstrumentAdapter(dataList,carryList.size());
         instrumentList.setAdapter(teachableInstrumentAdapter);
-        initCarryData();
     }
 
     private List<TeachableInstrumentBean> carryList = new ArrayList<>();

+ 14 - 7
teacher/src/main/java/com/cooleshow/teacher/ui/score/MineScoreFragment.java

@@ -16,6 +16,7 @@ import com.alibaba.android.arouter.launcher.ARouter;
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.chad.library.adapter.base.listener.OnLoadMoreListener;
+import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.constanst.Constants;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.fragment.BaseMVPFragment;
@@ -126,13 +127,19 @@ public class MineScoreFragment extends BaseMVPFragment<FragmentMineScoreBinding,
         mineScoreAdapter.setOnItemClickListener((adapter, view, position) -> {
             List<MusicSheetListBean.RowsBean> data = mineScoreAdapter.getData();
             MusicSheetListBean.RowsBean rowsBean = data.get(position);
-//            ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_ACCOMPANY_HTML)
-//                    .withString("url", rowsBean.url)
-//                    .withBoolean("isHideTitle", true)
-//                    .withBoolean("statusBarTextColor", statusBarTextColor)
-//                    .withBoolean("isOpenLight", isOpenLight)
-//                    .withInt("orientation", orientation)
-//                    .navigation();
+            if(TextUtils.equals(rowsBean.auditStatus,"UNPASS")){
+                ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_HTML)
+                        .withString(WebConstants.WEB_URL, String.format(WebConstants.EDIT_SCORE_PAGE,rowsBean.id))
+                        .navigation();
+                return;
+            }
+            ARouter.getInstance().build(RouterPath.WebCenter.ACTIVITY_ACCOMPANY_HTML)
+                    .withString("url", String.format(WebConstants.SCORE_DETAIL_PAGE,rowsBean.id))
+                    .withBoolean("isHideTitle", true)
+                    .withBoolean("statusBarTextColor", true)
+                    .withBoolean("isOpenLight", true)
+                    .withInt("orientation", 0)
+                    .navigation();
         });
 
     }

+ 3 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/web/HtmlActivity.java

@@ -1119,6 +1119,9 @@ public class HtmlActivity extends BaseActivity<ActivityHtml1Binding> implements
 //            clearUploadMessage();
             return;
         } else if (requestCode == 1011) {
+            if (data == null) {
+                return;
+            }
             String selectAddress = data.getStringExtra("selectAddress");
             selectAddress(selectAddress);
         } else {

+ 5 - 8
teacher/src/main/java/com/cooleshow/teacher/widgets/CourseSetCommentDialog.java

@@ -44,14 +44,11 @@ public class CourseSetCommentDialog extends Dialog implements View.OnClickListen
         mViewBinding.ivClose.setOnClickListener(this);
         mViewBinding.tvSubmit.setOnClickListener(this);
         mViewBinding.flContent.setOnClickListener(this);
-        setOnDismissListener(new OnDismissListener() {
-            @Override
-            public void onDismiss(DialogInterface dialog) {
-                if (mViewBinding != null) {
-                    if (mViewBinding.etContent != null) {
-                        mViewBinding.etContent.clearFocus();
-                        KeyboardUtils.hideSoftInput(mViewBinding.etContent);
-                    }
+        setOnDismissListener(dialog -> {
+            if (mViewBinding != null) {
+                if (mViewBinding.etContent != null) {
+                    mViewBinding.etContent.clearFocus();
+//                    KeyboardUtils.hideSoftInput(mViewBinding.etContent);
                 }
             }
         });

+ 1 - 0
teacher/src/main/res/layout/activity_home_page_layout.xml

@@ -112,6 +112,7 @@
         android:numStars="5"
         android:rating="0"
         android:stepSize="1"
+        android:visibility="invisible"
         app:layout_constraintLeft_toLeftOf="@+id/iv_avatar"
         app:layout_constraintTop_toBottomOf="@+id/iv_avatar" />
 

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

@@ -33,10 +33,10 @@
         android:layout_below="@+id/tv_tips"
         android:layout_marginLeft="10dp"
         android:layout_marginTop="16dp"
-        android:overScrollMode="never"
         android:layout_marginRight="10dp"
         android:layout_marginBottom="119dp"
         android:nestedScrollingEnabled="false"
+        android:overScrollMode="never"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent" />
 

+ 5 - 1
teacher/src/main/res/layout/fragment_home_layout.xml

@@ -42,6 +42,8 @@
             android:layout_height="wrap_content"
             android:layout_marginStart="14dp"
             android:layout_marginTop="25dp"
+            android:visibility="gone"
+            app:layout_goneMarginTop="@dimen/dp_25"
             android:src="@drawable/icon_app_name_word"
             app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/view_status_bar" />
@@ -80,8 +82,9 @@
             android:layout_width="52dp"
             android:layout_height="52dp"
             android:layout_marginTop="37dp"
+            android:layout_marginLeft="@dimen/dp_14"
             android:src="@drawable/icon_teacher_default_head"
-            app:layout_constraintLeft_toLeftOf="@+id/iv_app_name"
+            app:layout_constraintLeft_toLeftOf="parent"
             app:layout_constraintTop_toBottomOf="@+id/iv_app_name" />
 
         <TextView
@@ -129,6 +132,7 @@
             android:numStars="5"
             android:rating="0"
             android:stepSize="1"
+            android:visibility="invisible"
             app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
             app:layout_constraintLeft_toLeftOf="@+id/tv_nickname"
             app:layout_constraintTop_toBottomOf="@+id/tv_nickname" />

+ 1 - 0
teacher/src/main/res/layout/fragment_mine_layout.xml

@@ -96,6 +96,7 @@
             android:numStars="5"
             android:rating="0"
             android:stepSize="1"
+            android:visibility="invisible"
             app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
             app:layout_constraintLeft_toLeftOf="@+id/tv_nickname"
             app:layout_constraintTop_toBottomOf="@+id/tv_nickname" />

+ 1 - 0
teacher/src/main/res/layout/item_sparring_course_list_layout.xml

@@ -139,6 +139,7 @@
         android:gravity="center"
         android:textColor="@color/color_2dc7aa"
         android:textSize="@dimen/sp_14"
+        android:visibility="gone"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintRight_toRightOf="parent"
         tools:text="调课" />

+ 1 - 0
usercenter/src/main/java/com/cooleshow/usercenter/constants/UserConstants.java

@@ -14,6 +14,7 @@ public class UserConstants {
     public static final String LOGIN_STATUS="login_status";
     public static final String LOGIN_STATUS_SUCCESS="login_success";
     public static final String PAGE_TITLE="page_title";
+    public static final String PAGE_ERROR_TEXT="page_error_text";
     public static final String EMPTY_ICON_RESID="empty_icon_resid";
     public static final String EMPTY_BTN_TEXT="empty_btn_text";
 

+ 2 - 0
usercenter/src/main/java/com/cooleshow/usercenter/ui/activity/VerifyCodeLoginActivity.java

@@ -11,6 +11,7 @@ import android.view.View;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.cooleshow.base.common.AppManager;
 import com.cooleshow.base.common.BaseApplication;
 import com.cooleshow.base.common.WebConstants;
 import com.cooleshow.base.data.net.CommonParamsHelper;
@@ -156,6 +157,7 @@ public class VerifyCodeLoginActivity extends BaseMVPActivity<ActivityVerifyCodeL
 
     @Override
     public void onBackPressed() {
+        AppManager.Companion.getInstance().finishAllActivity();
     }
 
     private void startWebActivity(String agreement) {

+ 0 - 1
usercenter/src/main/res/layout/activity_login.xml

@@ -53,7 +53,6 @@
         android:hint="@string/please_input_phone_num"
         android:inputType="phone"
         android:maxLength="11"
-        android:text="13627281518"
         android:textColorHint="@color/color_ffc1c1c1"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintRight_toRightOf="parent"