浏览代码

修改老师端个人风采页面

Pq 3 年之前
父节点
当前提交
b622e72140

+ 5 - 0
BaseLibrary/src/main/res/drawable/shape_2dc7aa_14dp.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+    <solid android:color="@color/color_2dc7aa" />
+    <corners android:radius="14dp" />
+</shape>

+ 1 - 1
BaseLibrary/src/main/res/layout/common_toolbar_layout.xml

@@ -60,7 +60,7 @@
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="right|center_vertical"
-        android:layout_marginRight="15dp"
+        android:layout_marginRight="14dp"
         android:scaleType="centerCrop"
         android:text=""
         android:textColor="@color/color_333333"

+ 5 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/MineStylePageContract.java

@@ -1,10 +1,13 @@
 package com.cooleshow.teacher.contract;
 
+import com.common.im.bean.ContactRoomListBean;
 import com.cooleshow.base.presenter.view.BaseView;
 import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 
+import java.util.List;
+
 /**
  * 创建日期:2022/5/13 14:15
  *
@@ -28,6 +31,8 @@ public interface MineStylePageContract {
         void submitSetDetailSuccess(SetDetailBean setDetailBean);
 
         void getUserInfoSuccess(TeacherUserInfo data);
+
+        void getFunGroupList(List<ContactRoomListBean> list);
     }
 
     interface Presenter {

+ 19 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/minestyle/MineStylePagePresenter.java

@@ -11,6 +11,7 @@ import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.RequestOptions;
 import com.bumptech.glide.request.target.SimpleTarget;
 import com.bumptech.glide.request.transition.Transition;
+import com.common.im.bean.ContactRoomListBean;
 import com.cooleshow.base.constanst.UploadConstants;
 import com.cooleshow.base.data.net.BaseResponse;
 import com.cooleshow.base.presenter.BasePresenter;
@@ -25,6 +26,7 @@ import com.cooleshow.teacher.api.APIService;
 import com.cooleshow.teacher.bean.HomePageSheetMusicListBean;
 import com.cooleshow.teacher.bean.TeacherSelfStyleInfoBean;
 import com.cooleshow.teacher.bean.TeacherUserInfo;
+import com.cooleshow.teacher.bean.request.QueryGroupListEntry;
 import com.cooleshow.teacher.contract.MineStylePageContract;
 import com.cooleshow.teacher.ui.minestyle.MineStylePageActivity;
 import com.cooleshow.usercenter.bean.SetDetailBean;
@@ -34,6 +36,7 @@ import com.daya.live_teaching.repository.ClassRepository;
 import com.luck.picture.lib.tools.BitmapUtils;
 
 import java.io.File;
+import java.util.List;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -234,6 +237,22 @@ public class MineStylePagePresenter extends BasePresenter<MineStylePageContract.
         });
     }
 
+    /**
+     * 获取粉丝群
+     */
+    public void getTeaGroupList() {
+        QueryGroupListEntry entry = new QueryGroupListEntry();
+        entry.type = "FAN";
+        addSubscribe(create(APIService.class).queryTeaGroupList(entry), new BaseObserver<List<ContactRoomListBean>>(getView()) {
+            @Override
+            protected void onSuccess(List<ContactRoomListBean> list) {
+                if (getView() != null) {
+                    getView().getFunGroupList(list);
+                }
+            }
+        });
+    }
+
 
     public void getUploadVideoCover(Activity activity, String videoFilePath) {
         Observable.create(new ObservableOnSubscribe<String>() {

+ 48 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/minestyle/MineStylePageActivity.java

@@ -8,6 +8,7 @@ import android.os.Bundle;
 import android.text.Editable;
 import android.text.TextUtils;
 import android.text.TextWatcher;
+import android.view.Gravity;
 import android.view.View;
 import android.view.WindowManager;
 import android.widget.EditText;
@@ -16,10 +17,12 @@ import android.widget.TextView;
 
 import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
+import com.common.im.bean.ContactRoomListBean;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
 import com.cooleshow.base.ui.video.VideoPlayActivity;
@@ -34,7 +37,9 @@ import com.cooleshow.base.utils.SoftKeyboardUtils;
 import com.cooleshow.base.utils.ToastUtil;
 import com.cooleshow.base.utils.UiUtils;
 import com.cooleshow.base.widgets.CommonItemDecoration;
+import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
+import com.cooleshow.teacher.adapter.MineStyleFansGroupListAdapter;
 import com.cooleshow.teacher.adapter.MineStyleVideoAdapter;
 import com.cooleshow.teacher.adapter.TeachableSelectAdapter;
 import com.cooleshow.teacher.bean.TeachableInstrumentBean;
@@ -44,6 +49,7 @@ import com.cooleshow.teacher.contract.MineStylePageContract;
 import com.cooleshow.teacher.databinding.ActivityMineStylePageBinding;
 import com.cooleshow.teacher.presenter.minestyle.MineStylePagePresenter;
 import com.cooleshow.teacher.widgets.MineStyleVideoItemDecoration;
+import com.cooleshow.teacher.widgets.StyleEmptyView;
 import com.cooleshow.usercenter.bean.SetDetailBean;
 import com.cooleshow.usercenter.helper.UserHelper;
 import com.daya.live_teaching.utils.GlideEngine;
@@ -66,6 +72,8 @@ import java.util.ArrayList;
 import java.util.List;
 
 import io.rong.imkit.utils.StatusBarUtil;
+import io.rong.imkit.utils.helper.ChatGroupHelper;
+import io.rong.imkit.utils.helper.OpenChatHelper;
 
 /**
  * 创建日期:2022/5/13 14:02
@@ -91,6 +99,7 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
     private String currentAvatarUrl;
     private String currentNickName;
     private String isReal;
+    private MineStyleFansGroupListAdapter mFansGroupListAdapter;
 
 
     @Override
@@ -103,6 +112,7 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
                         .withBundle("bundle", bundle)
                         .navigation(this, SELECT_RESULT);
                 break;
+            case R.id.tv_right_text:
             case R.id.tv_save:
                 myStyleInfoBean.styleVideo.clear();
                 for (TeacherSelfStyleInfoBean.StyleVideoBean styleVideoBean : videoBeanList) {
@@ -165,6 +175,12 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
                     viewBinding.etSelfIntroduction.setSelection(length);
                 }
                 break;
+
+            case R.id.tv_create_fans_group:
+                //创建粉丝群
+                ARouter.getInstance().build(RouterPath.ChatCenter.CHAT_CREATE_GROUP)
+                        .navigation();
+                break;
         }
     }
 
@@ -180,6 +196,18 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
     @Override
     public void initData() {
         super.initData();
+        mFansGroupListAdapter = new MineStyleFansGroupListAdapter();
+        EmptyViewLayout emptyViewLayout = new EmptyViewLayout(this);
+        emptyViewLayout.setContent(R.mipmap.teacher_fans_empty_icon, getString(R.string.fans_empty_text));
+        mFansGroupListAdapter.setEmptyView(emptyViewLayout);
+        viewBinding.recyclerViewFans.setLayoutManager(new LinearLayoutManager(this));
+        viewBinding.recyclerViewFans.setAdapter(mFansGroupListAdapter);
+        viewBinding.recyclerViewFans.setNestedScrollingEnabled(false);
+        mFansGroupListAdapter.setOnItemClickListener((adapter, view, position) -> {
+            ContactRoomListBean item = (ContactRoomListBean) adapter.getItem(position);
+            OpenChatHelper.goGroupChat(MineStylePageActivity.this, String.valueOf(item.getId()), item.getName());
+        });
+
         if (presenter != null) {
             presenter.getTeacherSelfStyle();
         }
@@ -190,6 +218,7 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
         super.onResume();
         if (presenter != null) {
             presenter.getUserInfoDetail();
+            presenter.getTeaGroupList();
         }
     }
 
@@ -199,8 +228,16 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
     @Override
     protected void initView() {
         initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "个人风采");
+        viewBinding.toolbarInclude.tvRightText.setVisibility(View.VISIBLE);
+        viewBinding.toolbarInclude.tvRightText.setText("保存");
+        viewBinding.toolbarInclude.tvRightText.setTextColor(getResources().getColor(R.color.white));
+        viewBinding.toolbarInclude.tvRightText.setTextSize(14);
+        viewBinding.toolbarInclude.tvRightText.setBackgroundResource(com.cooleshow.base.R.drawable.shape_2dc7aa_14dp);
+        viewBinding.toolbarInclude.tvRightText.setGravity(Gravity.CENTER);
+        viewBinding.toolbarInclude.tvRightText.setPadding(SizeUtils.dp2px(12), SizeUtils.dp2px(4), SizeUtils.dp2px(12), SizeUtils.dp2px(4));
         etSelfIntroduction = viewBinding.etSelfIntroduction;
         videoList = viewBinding.rvTeacherStyleVideo;
+        viewBinding.toolbarInclude.tvRightText.setOnClickListener(this);
         viewBinding.tvSelectFans.setOnClickListener(this);
         viewBinding.tvSave.setOnClickListener(this);
         viewBinding.tvAddStyle.setOnClickListener(this);
@@ -209,6 +246,7 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
         viewBinding.viewRealNameClick.setOnClickListener(this);
         viewBinding.viewPhoneClick.setOnClickListener(this);
         viewBinding.tvEditIntroduce.setOnClickListener(this);
+        viewBinding.tvCreateFansGroup.setOnClickListener(this);
         GridLayoutManager manager = new GridLayoutManager(this, 2);
         videoList.setLayoutManager(manager);
 //        addEmptyVideoBean();
@@ -497,6 +535,16 @@ public class MineStylePageActivity extends BaseMVPActivity<ActivityMineStylePage
         }
     }
 
+    @Override
+    public void getFunGroupList(List<ContactRoomListBean> list) {
+        if (!checkActivityExist()) {
+            return;
+        }
+        if (mFansGroupListAdapter != null) {
+            mFansGroupListAdapter.setNewInstance(list);
+        }
+    }
+
     private void addEmptyVideoBean() {
         TeacherSelfStyleInfoBean.StyleVideoBean styleVideoBean = new TeacherSelfStyleInfoBean.StyleVideoBean();
         styleVideoBean.type = 1;

+ 3 - 0
teacher/src/main/res/layout/activity_mine_style_page.xml

@@ -500,6 +500,8 @@
                 android:layout_marginStart="14dp"
                 android:layout_marginTop="12dp"
                 android:layout_marginEnd="14dp"
+                app:layout_constraintBottom_toBottomOf="parent"
+                android:layout_marginBottom="44dp"
                 android:background="@drawable/bg_white_10dp"
                 app:layout_constraintTop_toBottomOf="@+id/cl_eacher_style">
 
@@ -558,6 +560,7 @@
             </androidx.constraintlayout.widget.ConstraintLayout>
 
             <TextView
+                android:visibility="gone"
                 android:id="@+id/tv_save"
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/dp_44"