|  | @@ -6,19 +6,24 @@ import android.text.TextUtils;
 | 
	
		
			
				|  |  |  import android.view.View;
 | 
	
		
			
				|  |  |  import android.widget.TextView;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import com.alibaba.android.arouter.launcher.ARouter;
 | 
	
		
			
				|  |  |  import com.bigkoo.pickerview.builder.TimePickerBuilder;
 | 
	
		
			
				|  |  |  import com.bigkoo.pickerview.listener.CustomListener;
 | 
	
		
			
				|  |  |  import com.bigkoo.pickerview.listener.OnDismissListener;
 | 
	
		
			
				|  |  |  import com.bigkoo.pickerview.view.TimePickerView;
 | 
	
		
			
				|  |  |  import com.chad.library.adapter.base.BaseQuickAdapter;
 | 
	
		
			
				|  |  | +import com.chad.library.adapter.base.listener.OnItemChildClickListener;
 | 
	
		
			
				|  |  | +import com.chad.library.adapter.base.listener.OnItemClickListener;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.bean.CommonCourseConfigBean;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.constanst.Constants;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.constanst.CourseAttendanceStatusType;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.constanst.CourseGroupStatusType;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.interfaces.IFilterViewData;
 | 
	
		
			
				|  |  | +import com.cooleshow.base.router.RouterPath;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.ui.fragment.BaseFragment;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.ui.fragment.BaseMVPFragment;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.utils.TimeUtils;
 | 
	
		
			
				|  |  | +import com.cooleshow.base.utils.ToastUtil;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.utils.UiUtils;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.widgets.EmptyViewLayout;
 | 
	
		
			
				|  |  |  import com.cooleshow.base.widgets.dialog.CommonFilterDialog;
 | 
	
	
		
			
				|  | @@ -32,6 +37,7 @@ import com.cooleshow.teacher.constants.CourseConstants;
 | 
	
		
			
				|  |  |  import com.cooleshow.teacher.contract.PianoCourseGroupDetailContract;
 | 
	
		
			
				|  |  |  import com.cooleshow.teacher.databinding.FgPianoCourseGroupDetailLayoutBinding;
 | 
	
		
			
				|  |  |  import com.cooleshow.teacher.presenter.course.PianoCourseGroupDetailPresenter;
 | 
	
		
			
				|  |  | +import com.dayayuemeng.classroom.helper.OpenClassRoomHelper;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.util.ArrayList;
 | 
	
		
			
				|  |  |  import java.util.Arrays;
 | 
	
	
		
			
				|  | @@ -39,6 +45,7 @@ import java.util.Calendar;
 | 
	
		
			
				|  |  |  import java.util.Date;
 | 
	
		
			
				|  |  |  import java.util.List;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +import androidx.annotation.NonNull;
 | 
	
		
			
				|  |  |  import androidx.recyclerview.widget.LinearLayoutManager;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
	
		
			
				|  | @@ -59,6 +66,7 @@ public class PianoCourseGroupDetailFragment extends BaseMVPFragment<FgPianoCours
 | 
	
		
			
				|  |  |      private int currentSelectAttendancePosition = 0;
 | 
	
		
			
				|  |  |      private CommonFilterDialog mAttendanceStatusFilterDialog;
 | 
	
		
			
				|  |  |      private CommonFilterDialog mStatusFilterDialog;
 | 
	
		
			
				|  |  | +    private CommonCourseConfigBean mConfigBean;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      protected FgPianoCourseGroupDetailLayoutBinding getLayoutView() {
 | 
	
	
		
			
				|  | @@ -103,6 +111,45 @@ public class PianoCourseGroupDetailFragment extends BaseMVPFragment<FgPianoCours
 | 
	
		
			
				|  |  |          mViewBinding.flTime.setOnClickListener(this);
 | 
	
		
			
				|  |  |          mViewBinding.flStatus.setOnClickListener(this);
 | 
	
		
			
				|  |  |          mViewBinding.flAttendance.setOnClickListener(this);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        mAdapter.setOnItemClickListener(new OnItemClickListener() {
 | 
	
		
			
				|  |  | +            @Override
 | 
	
		
			
				|  |  | +            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
 | 
	
		
			
				|  |  | +                if (position < mAdapter.getData().size()) {
 | 
	
		
			
				|  |  | +                    VIPCourseGroupDetailListBean bean = mAdapter.getData().get(position);
 | 
	
		
			
				|  |  | +                    ARouter.getInstance().build(RouterPath.CourseCenter.PIANO_ROOM_COURSE_DETAIL)
 | 
	
		
			
				|  |  | +                            .withString(CourseConstants.COURSE_ID, bean.getCourseId())
 | 
	
		
			
				|  |  | +                            .navigation();
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        mAdapter.setOnItemChildClickListener(new OnItemChildClickListener() {
 | 
	
		
			
				|  |  | +            @Override
 | 
	
		
			
				|  |  | +            public void onItemChildClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
 | 
	
		
			
				|  |  | +                //去上课
 | 
	
		
			
				|  |  | +                if (UiUtils.isFastClick()) {
 | 
	
		
			
				|  |  | +                    return;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +                if (view.getId() == R.id.tv_go_start) {
 | 
	
		
			
				|  |  | +                    if (position < mAdapter.getData().size()) {
 | 
	
		
			
				|  |  | +                        VIPCourseGroupDetailListBean bean = mAdapter.getData().get(position);
 | 
	
		
			
				|  |  | +                        goCourse(bean.getId(), bean.getStartTime(), bean.getSubjectName());
 | 
	
		
			
				|  |  | +                    }
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    private void goCourse(String id, String startTime, String subjectName) {
 | 
	
		
			
				|  |  | +        if (mConfigBean != null) {
 | 
	
		
			
				|  |  | +            boolean lessThanTargetTime = TimeUtils.isLessThanTargetTime(mConfigBean.getPianoStartTime(), startTime);
 | 
	
		
			
				|  |  | +            if (!lessThanTargetTime) {
 | 
	
		
			
				|  |  | +                ToastUtil.getInstance().showShort("课程还未开始,请在上课前" + mConfigBean.getPianoStartTime() + "分钟进入");
 | 
	
		
			
				|  |  | +                return;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            OpenClassRoomHelper.start(getActivity(), id, subjectName);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
	
		
			
				|  | @@ -156,7 +203,10 @@ public class PianoCourseGroupDetailFragment extends BaseMVPFragment<FgPianoCours
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 | 
	
		
			
				|  |  |      public void getCourseConfigSuccess(CommonCourseConfigBean data) {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +        if (isDetached()) {
 | 
	
		
			
				|  |  | +            return;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        this.mConfigBean = data;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      @Override
 |