|
@@ -3,8 +3,11 @@ package com.cooleshow.teacher.ui.main;
|
|
|
import android.text.TextUtils;
|
|
|
import android.view.Gravity;
|
|
|
import android.view.View;
|
|
|
+import android.widget.TextView;
|
|
|
|
|
|
import com.alibaba.android.arouter.launcher.ARouter;
|
|
|
+import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
|
|
|
+import com.bigkoo.pickerview.view.OptionsPickerView;
|
|
|
import com.bumptech.glide.Glide;
|
|
|
import com.chad.library.adapter.base.BaseQuickAdapter;
|
|
|
import com.chad.library.adapter.base.listener.OnItemClickListener;
|
|
@@ -34,6 +37,8 @@ import com.cooleshow.teacher.bean.HomeHotMusicSheetBean;
|
|
|
import com.cooleshow.teacher.bean.HomeHotMusicSheetItemBean;
|
|
|
import com.cooleshow.teacher.bean.HomeLiveAndVideoBean;
|
|
|
import com.cooleshow.teacher.bean.HomeMenuBean;
|
|
|
+import com.cooleshow.teacher.bean.QuerySubjectBean;
|
|
|
+import com.cooleshow.teacher.bean.SubjectBean;
|
|
|
import com.cooleshow.teacher.bean.TeacherUserInfo;
|
|
|
import com.cooleshow.teacher.constants.CourseConstants;
|
|
|
import com.cooleshow.teacher.constants.TeacherInfoConstants;
|
|
@@ -88,7 +93,10 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
private SmartRefreshLayout refreshLayout;
|
|
|
private HomeHotMusicSheetAdapter mRecommendAdapter;
|
|
|
private HomeHotMusicSheetAdapter mLatestAdapter;
|
|
|
- // private HomeGoodMusicSheetAdapter mGoodMusicSheetAdapter;
|
|
|
+ private OptionsPickerView pvOptions;
|
|
|
+ private List<SubjectBean> subjectBeanList = new ArrayList<>();
|
|
|
+ private int currentSelectSubjectPosition = 0;
|
|
|
+ private String currentSubjectId = "";
|
|
|
|
|
|
@Override
|
|
|
protected void initView(View rootView) {
|
|
@@ -171,10 +179,10 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
mViewBinding.tvHotTrackMore.setOnClickListener(this);
|
|
|
mViewBinding.tvRecommendTrackMore.setOnClickListener(this);
|
|
|
mViewBinding.tvLatestTrackMore.setOnClickListener(this);
|
|
|
+ mViewBinding.tvCurrentSubject.setOnClickListener(this);
|
|
|
mViewBinding.refreshLayout.setOnRefreshListener(refreshLayout -> {
|
|
|
mViewBinding.refreshLayout.finishRefresh();
|
|
|
- presenter.getHotAlbumList();
|
|
|
- presenter.getHotMusicSheetList();
|
|
|
+ refreshMusicData();
|
|
|
presenter.queryCountOfUnread();
|
|
|
presenter.queryLiveAndVideo();
|
|
|
presenter.appHome();
|
|
@@ -218,10 +226,6 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
presenter.queryCountOfUnread();
|
|
|
presenter.queryLiveAndVideo();
|
|
|
presenter.appHome();
|
|
|
- //热门专辑
|
|
|
- presenter.getHotAlbumList();
|
|
|
- //热门曲目
|
|
|
- presenter.getHotMusicSheetList();
|
|
|
//获取领奖状态
|
|
|
presenter.getAwardStatus();
|
|
|
}
|
|
@@ -526,6 +530,11 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
if (mViewBinding == null || mViewBinding.tvTeacherName == null) {
|
|
|
return;
|
|
|
}
|
|
|
+ //处理声部
|
|
|
+ currentSubjectId = teacherUserInfo.defaultSubject;
|
|
|
+ mViewBinding.tvCurrentSubject.setText(!TextUtils.isEmpty(teacherUserInfo.defaultSubjectName) ? teacherUserInfo.defaultSubjectName : "全部");
|
|
|
+ handleSubjects(teacherUserInfo.subjectName, teacherUserInfo.subjectId);
|
|
|
+ refreshMusicData();
|
|
|
//昵称
|
|
|
if (teacherUserInfo != null) {
|
|
|
String teacherName = UserHelper.getTeacherName(teacherUserInfo.username, teacherUserInfo.userId);
|
|
@@ -580,6 +589,24 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void handleSubjects(String subjectName, String subjectId) {
|
|
|
+ try {
|
|
|
+ subjectBeanList.clear();
|
|
|
+ String[] subjectNames = UiUtils.splitSubjectName(subjectName);
|
|
|
+ String[] subjectIds = UiUtils.splitSubjectId(subjectId);
|
|
|
+ if (subjectIds != null && subjectIds.length > 0) {
|
|
|
+ for (int i = 0; i < subjectIds.length; i++) {
|
|
|
+ String id = subjectIds[i];
|
|
|
+ String name = subjectNames[i];
|
|
|
+ SubjectBean querySubjectBean = new SubjectBean(name, id);
|
|
|
+ subjectBeanList.add(querySubjectBean);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void handleBadgeUI(String tag) {
|
|
|
int badgeAbleCount = 0;
|
|
|
boolean enableStyleBadge = isEnableForBadge(tag, STYLE_TYPE);
|
|
@@ -699,6 +726,11 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
showBadgeDialog();
|
|
|
return;
|
|
|
}
|
|
|
+
|
|
|
+ if (id == R.id.tv_current_subject) {
|
|
|
+ selectSubject();
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private void showRecommendMenuDialog() {
|
|
@@ -728,4 +760,46 @@ public class NewHomeFragment extends BaseMVPFragment<FragmentNewHomeLayoutBindin
|
|
|
BadgeDesDialog badgeDesDialog = new BadgeDesDialog(getContext());
|
|
|
badgeDesDialog.show();
|
|
|
}
|
|
|
+
|
|
|
+ private void selectSubject() {
|
|
|
+ if (subjectBeanList.size() == 0) {
|
|
|
+ subjectBeanList.add(new SubjectBean("全部", ""));
|
|
|
+ }
|
|
|
+ pvOptions = new OptionsPickerBuilder(getContext(), (options1, options2, options3, v) -> {
|
|
|
+ this.currentSelectSubjectPosition = options1;
|
|
|
+ SubjectBean bean = subjectBeanList.get(options1);
|
|
|
+ currentSubjectId = bean.id;
|
|
|
+ mViewBinding.tvCurrentSubject.setText(bean.name);
|
|
|
+ if (presenter != null) {
|
|
|
+ //同步选中id
|
|
|
+ presenter.syncSubjectFilter(currentSubjectId);
|
|
|
+ }
|
|
|
+ refreshMusicData();
|
|
|
+ }).setLayoutRes(R.layout.pickerview_address_layout, 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(v12 -> {
|
|
|
+ pvOptions.returnData();
|
|
|
+ pvOptions.dismiss();
|
|
|
+ });
|
|
|
+ ivCancel.setOnClickListener(v1 -> pvOptions.dismiss());
|
|
|
+
|
|
|
+ }).isDialog(false).build();
|
|
|
+ pvOptions.setPicker(subjectBeanList);
|
|
|
+ if (currentSelectSubjectPosition < subjectBeanList.size()) {
|
|
|
+ pvOptions.setSelectOptions(currentSelectSubjectPosition);
|
|
|
+ }
|
|
|
+ pvOptions.show();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 刷新专辑和曲目数据
|
|
|
+ */
|
|
|
+ private void refreshMusicData() {
|
|
|
+ //热门专辑
|
|
|
+ presenter.getHotAlbumList(currentSubjectId);
|
|
|
+ //热门曲目
|
|
|
+ presenter.getHotMusicSheetList(currentSubjectId);
|
|
|
+ }
|
|
|
}
|