|
@@ -6,6 +6,8 @@ import android.view.View;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
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.common.WebConstants;
|
|
|
import com.cooleshow.base.router.RouterPath;
|
|
|
import com.cooleshow.base.ui.fragment.BaseMVPFragment;
|
|
@@ -16,6 +18,8 @@ import com.cooleshow.base.utils.Utils;
|
|
|
import com.cooleshow.base.utils.helper.WebStartHelper;
|
|
|
import com.cooleshow.base.widgets.DialogUtil;
|
|
|
import com.cooleshow.teacher.R;
|
|
|
+import com.cooleshow.teacher.bean.MineCommonToolAdapter;
|
|
|
+import com.cooleshow.teacher.bean.MineToolMenuBean;
|
|
|
import com.cooleshow.teacher.bean.TeacherPromoteIncomeBean;
|
|
|
import com.cooleshow.teacher.bean.TeacherUserInfo;
|
|
|
import com.cooleshow.teacher.constants.TeacherInfoConstants;
|
|
@@ -23,14 +27,19 @@ import com.cooleshow.teacher.contract.MineContract;
|
|
|
import com.cooleshow.teacher.databinding.FragmentMineLayoutBinding;
|
|
|
import com.cooleshow.teacher.presenter.main.MinePresenter;
|
|
|
import com.cooleshow.teacher.widgets.dialog.BadgeDesDialog;
|
|
|
+import com.cooleshow.teacher.widgets.helper.MineFragmentToolsHelper;
|
|
|
import com.cooleshow.usercenter.helper.UserHelper;
|
|
|
import com.tbruyelle.rxpermissions3.RxPermissions;
|
|
|
|
|
|
+import androidx.annotation.NonNull;
|
|
|
+import androidx.recyclerview.widget.GridLayoutManager;
|
|
|
+
|
|
|
/**
|
|
|
* Author by pq, Date on 2022/5/9.
|
|
|
*/
|
|
|
public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, MinePresenter> implements MineContract.MineView, View.OnClickListener {
|
|
|
private String teacherCertStatus = TeacherInfoConstants.ENTRY_STATUS_UNPAALY;
|
|
|
+ private MineCommonToolAdapter mMineCommonToolAdapter;
|
|
|
|
|
|
@Override
|
|
|
protected void initView(View rootView) {
|
|
@@ -74,6 +83,24 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
|
|
|
@Override
|
|
|
protected void initData() {
|
|
|
mViewBinding.llBadge.hideVip();
|
|
|
+ mMineCommonToolAdapter = new MineCommonToolAdapter();
|
|
|
+ GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 4);
|
|
|
+ mViewBinding.recyclerViewTools.setLayoutManager(gridLayoutManager);
|
|
|
+ mViewBinding.recyclerViewTools.setAdapter(mMineCommonToolAdapter);
|
|
|
+ mMineCommonToolAdapter.setNewInstance(MineFragmentToolsHelper.getData(null));
|
|
|
+ initListener();
|
|
|
+ }
|
|
|
+
|
|
|
+ private void initListener() {
|
|
|
+ mMineCommonToolAdapter.setOnItemClickListener(new OnItemClickListener() {
|
|
|
+ @Override
|
|
|
+ public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
|
|
|
+ if (position < mMineCommonToolAdapter.getData().size()) {
|
|
|
+ MineToolMenuBean mineToolMenuBean = mMineCommonToolAdapter.getData().get(position);
|
|
|
+ handleToolClick(mineToolMenuBean.type);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
//是否有直播权限 0 否 1 是
|
|
@@ -174,22 +201,10 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
|
|
|
mViewBinding.ivUnCertificationTip.setVisibility(View.GONE);
|
|
|
break;
|
|
|
case R.id.tv_mine_page:
|
|
|
- if (TextUtils.equals(teacherCertStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
|
|
|
- //个人主页
|
|
|
- ARouter.getInstance().build(RouterPath.MineCenter.HOME_PAGE)
|
|
|
- .navigation();
|
|
|
- } else {
|
|
|
- goCert();
|
|
|
- }
|
|
|
+ goHomePage();
|
|
|
break;
|
|
|
case R.id.tv_mine_style:
|
|
|
- if (TextUtils.equals(teacherCertStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
|
|
|
- //个人风采
|
|
|
- ARouter.getInstance().build(RouterPath.MineCenter.MINE_STYLE_PAGE)
|
|
|
- .navigation();
|
|
|
- } else {
|
|
|
- goCert();
|
|
|
- }
|
|
|
+ goStyle();
|
|
|
break;
|
|
|
case R.id.iv_avatar:
|
|
|
//个人设置
|
|
@@ -339,6 +354,70 @@ public class MineFragment extends BaseMVPFragment<FragmentMineLayoutBinding, Min
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private void handleToolClick(String type) {
|
|
|
+ if (TextUtils.equals(type, MineFragmentToolsHelper.TYPE_MINE_HOME_PAGE)) {
|
|
|
+ //我的主页
|
|
|
+ goHomePage();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (TextUtils.equals(type, MineFragmentToolsHelper.TYPE_MINE_INCOME)) {
|
|
|
+ //我的收入
|
|
|
+ ARouter.getInstance().build(RouterPath.IncomeCenter.TEACHER_MINE_INCOME)
|
|
|
+ .navigation();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (TextUtils.equals(type, MineFragmentToolsHelper.TYPE_MINE_STYLE)) {
|
|
|
+ //个人风采
|
|
|
+ goStyle();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (TextUtils.equals(type, MineFragmentToolsHelper.TYPE_MINE_GOODS_ORDER)) {
|
|
|
+ //商品订单
|
|
|
+ ARouter.getInstance()
|
|
|
+ .build(RouterPath.WebCenter.ACTIVITY_HTML)
|
|
|
+ .withString(WebConstants.WEB_URL, WebConstants.MALL_GOODS_ORDER)
|
|
|
+ .navigation();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (TextUtils.equals(type, MineFragmentToolsHelper.TYPE_MINE_MUSIC_SHEET)) {
|
|
|
+ //我的曲谱
|
|
|
+ ARouter.getInstance().build(RouterPath.ScoreCenter.TEACHER_MINE_SCORE)
|
|
|
+ .navigation();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (TextUtils.equals(type, MineFragmentToolsHelper.TYPE_MINE_COURSE)) {
|
|
|
+ //我的曲谱
|
|
|
+ ARouter.getInstance().build(RouterPath.CourseCenter.TEACHER_MINE_COURSE)
|
|
|
+ .navigation();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (TextUtils.equals(type, MineFragmentToolsHelper.TYPE_MINE_COUPON)) {
|
|
|
+ //我的优惠券
|
|
|
+ WebStartHelper.startCouponsPage();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void goStyle() {
|
|
|
+ if (TextUtils.equals(teacherCertStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
|
|
|
+ //个人风采
|
|
|
+ ARouter.getInstance().build(RouterPath.MineCenter.MINE_STYLE_PAGE)
|
|
|
+ .navigation();
|
|
|
+ } else {
|
|
|
+ goCert();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ private void goHomePage() {
|
|
|
+ if (TextUtils.equals(teacherCertStatus, TeacherInfoConstants.ENTRY_STATUS_PASS)) {
|
|
|
+ //个人主页
|
|
|
+ ARouter.getInstance().build(RouterPath.MineCenter.HOME_PAGE)
|
|
|
+ .navigation();
|
|
|
+ } else {
|
|
|
+ goCert();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
private void showBadgeDialog() {
|
|
|
BadgeDesDialog badgeDesDialog = new BadgeDesDialog(getContext());
|
|
|
badgeDesDialog.show();
|