|
@@ -16,9 +16,12 @@ 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.base.widgets.poplist.PopMenuBean;
|
|
|
+import com.cooleshow.base.widgets.poplist.PopupListWindow;
|
|
|
import com.cooleshow.teacher.R;
|
|
|
import com.cooleshow.teacher.adapter.MineLiveCoursePagerAdapter;
|
|
|
import com.cooleshow.teacher.bean.MusicSheetShareBean;
|
|
|
+import com.cooleshow.teacher.bean.QuerySubjectBean;
|
|
|
import com.cooleshow.teacher.constants.TeacherInfoConstants;
|
|
|
import com.cooleshow.teacher.contract.MineScoreActContract;
|
|
|
import com.cooleshow.teacher.databinding.ActivityMineScoreBinding;
|
|
@@ -53,18 +56,21 @@ import io.rong.imkit.utils.StatusBarUtil;
|
|
|
@Route(path = RouterPath.ScoreCenter.TEACHER_MINE_SCORE)
|
|
|
public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding, MineScoreActPresenter> implements MineScoreActContract.MineScoreActView, View.OnClickListener {
|
|
|
private String musicianAuthStatus;
|
|
|
+ private String currentSubjectId = "";
|
|
|
+ private String currentSearchStr = "";
|
|
|
private TabLayout tabLayout;
|
|
|
private ViewPager viewPager;
|
|
|
private List<String> titles = new ArrayList<String>(Arrays.asList("已上架", "审核中", "审核失败"));
|
|
|
private List<String> auditStatusList = new ArrayList<String>(Arrays.asList("PASS", "DOING", "UNPASS"));
|
|
|
private List<Fragment> fragments = new ArrayList<>();
|
|
|
+ private ArrayList<QuerySubjectBean> subjectBeanList = new ArrayList<>();
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View view) {
|
|
|
switch (view.getId()) {
|
|
|
case R.id.tv_right:
|
|
|
- if(!TextUtils.equals(musicianAuthStatus, TeacherInfoConstants.MUSICIAN_STATUS_PASS)){
|
|
|
- ToastUtil.getInstance().show(this,"您还没有上传曲谱");
|
|
|
+ if (!TextUtils.equals(musicianAuthStatus, TeacherInfoConstants.MUSICIAN_STATUS_PASS)) {
|
|
|
+ ToastUtil.getInstance().show(this, "您还没有上传曲谱");
|
|
|
return;
|
|
|
}
|
|
|
presenter.musicSheetShare();
|
|
@@ -83,6 +89,18 @@ public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding,
|
|
|
viewPager = viewBinding.viewpager;
|
|
|
viewPager.setCurrentItem(0);
|
|
|
mShareListener = new CustomShareListener(this);
|
|
|
+ viewBinding.searchView.setOnSearchListener(new View.OnClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onClick(View v) {
|
|
|
+ String target = viewBinding.searchView.getSearchEdit().getText().toString().trim();
|
|
|
+ currentSearchStr = target;
|
|
|
+ updateByFilter();
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ viewBinding.searchView.setOnLeftClickListener(v -> {
|
|
|
+ selectVocalPart();
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -90,11 +108,58 @@ public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding,
|
|
|
super.onCreate(savedInstanceState);
|
|
|
StatusBarUtil.setStatusBarDarkTheme(this, true);
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public void initData() {
|
|
|
super.initData();
|
|
|
- musicianAuthStatus= getIntent().getStringExtra("musicianAuthStatus");
|
|
|
+ musicianAuthStatus = getIntent().getStringExtra("musicianAuthStatus");
|
|
|
initTabLayoutAndViewPager();
|
|
|
+ presenter.querySubjectItem();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 选择声部
|
|
|
+ */
|
|
|
+ private void selectVocalPart() {
|
|
|
+ if (subjectBeanList.size() == 0) {
|
|
|
+ subjectBeanList.add(new QuerySubjectBean("声部", 0));
|
|
|
+ }
|
|
|
+ List<PopMenuBean> popList = new ArrayList<>();
|
|
|
+ for (QuerySubjectBean bean : subjectBeanList) {
|
|
|
+ PopMenuBean popMenuBean = new PopMenuBean();
|
|
|
+ popMenuBean.setActionName(bean.name);
|
|
|
+ popList.add(popMenuBean);
|
|
|
+ }
|
|
|
+ initCoursePop(viewBinding.searchView, popList, position -> {
|
|
|
+ QuerySubjectBean bean = subjectBeanList.get(position);
|
|
|
+ currentSubjectId = String.valueOf(bean.id);
|
|
|
+ viewBinding.searchView.getLeftText().setText(bean.name);
|
|
|
+ updateByFilter();
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void updateByFilter() {
|
|
|
+ int currentItem = viewPager.getCurrentItem();
|
|
|
+ for (int i = 0; i < fragments.size(); i++) {
|
|
|
+ MineScoreFragment mineScoreFragment = (MineScoreFragment) fragments.get(i);
|
|
|
+ if (i == currentItem) {
|
|
|
+ mineScoreFragment.goSearch(currentSearchStr, currentSubjectId);
|
|
|
+ } else {
|
|
|
+ mineScoreFragment.updateFilter(currentSearchStr, currentSubjectId);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 选择声部pop
|
|
|
+ *
|
|
|
+ * @param targetView
|
|
|
+ * @param popList
|
|
|
+ * @param listener
|
|
|
+ */
|
|
|
+ private void initCoursePop(View targetView, List<PopMenuBean> popList, PopupListWindow.PopupListListener listener) {
|
|
|
+ PopupListWindow popWindow = new PopupListWindow(this);
|
|
|
+ popWindow.showListPop(targetView, popList, position -> listener.onPopupListClick(position));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -112,7 +177,7 @@ public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding,
|
|
|
fragments.clear();
|
|
|
for (int i = 0; i < titles.size(); i++) {
|
|
|
tabLayout.addTab(tabLayout.newTab().setText(titles.get(i)));
|
|
|
- Fragment adFragment = MineScoreFragment.newInstance(auditStatusList.get(i),musicianAuthStatus);
|
|
|
+ Fragment adFragment = MineScoreFragment.newInstance(auditStatusList.get(i), musicianAuthStatus);
|
|
|
fragments.add(adFragment);
|
|
|
}
|
|
|
viewPager.setAdapter(new MineLiveCoursePagerAdapter(getSupportFragmentManager(), fragments, titles));
|
|
@@ -124,14 +189,26 @@ public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding,
|
|
|
showScoreShareDialog(data);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void querySubjectItemSuccess(List<QuerySubjectBean> data) {
|
|
|
+ if (!checkActivityExist()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ subjectBeanList.clear();
|
|
|
+ subjectBeanList.add(new QuerySubjectBean("声部", 0));
|
|
|
+ subjectBeanList.addAll(data);
|
|
|
+ }
|
|
|
+
|
|
|
private void showScoreShareDialog(MusicSheetShareBean data) {
|
|
|
- DialogUtils.showScoreShare(this,data, bitmap -> share(bitmap));
|
|
|
+ DialogUtils.showScoreShare(this, data, bitmap -> share(bitmap));
|
|
|
}
|
|
|
+
|
|
|
private ShareAction mShareAction;
|
|
|
private UMShareListener mShareListener;
|
|
|
- private void share(Bitmap bitmap){
|
|
|
+
|
|
|
+ private void share(Bitmap bitmap) {
|
|
|
mShareAction = new ShareAction(MineScoreActivity.this).setDisplayList(
|
|
|
- SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE, SHARE_MEDIA.SINA)
|
|
|
+ SHARE_MEDIA.WEIXIN, SHARE_MEDIA.WEIXIN_CIRCLE, SHARE_MEDIA.QQ, SHARE_MEDIA.QZONE, SHARE_MEDIA.SINA)
|
|
|
.setShareboardclickCallback(new ShareBoardlistener() {
|
|
|
@Override
|
|
|
public void onclick(SnsPlatform snsPlatform, SHARE_MEDIA share_media) {
|
|
@@ -145,6 +222,7 @@ public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding,
|
|
|
});
|
|
|
mShareAction.open();
|
|
|
}
|
|
|
+
|
|
|
private static class CustomShareListener implements UMShareListener {
|
|
|
|
|
|
private WeakReference<MineScoreActivity> mActivity;
|
|
@@ -215,6 +293,7 @@ public class MineScoreActivity extends BaseMVPActivity<ActivityMineScoreBinding,
|
|
|
mShareAction.close();
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
@Override
|
|
|
public void onDestroy() {
|
|
|
super.onDestroy();
|