123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- package com.edufound.reader.fragment;
- import android.annotation.SuppressLint;
- import android.graphics.Rect;
- import android.os.Build;
- import android.os.Bundle;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.FrameLayout;
- import android.widget.GridLayout;
- import android.widget.HorizontalScrollView;
- import android.widget.ImageView;
- import android.widget.Space;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.baidu.duer.bot.directive.payload.AmountInfo;
- import com.baidu.duer.botsdk.BotIntent;
- import com.edufound.reader.R;
- import com.edufound.reader.activity.CustomerServiceActivity;
- import com.edufound.reader.activity.MessageActivity;
- import com.edufound.reader.activity.MyCollectionActivity;
- import com.edufound.reader.activity.MyFollowActivity;
- import com.edufound.reader.activity.PayActivity;
- import com.edufound.reader.activity.SafflowerActivity;
- import com.edufound.reader.activity.UserInfoSettingActivity;
- import com.edufound.reader.base.BaseMvpFragment;
- import com.edufound.reader.bean.MyInfoBean;
- import com.edufound.reader.bean.UserRecordBean;
- import com.edufound.reader.botsdk.BotRegisterListener;
- import com.edufound.reader.contract.MyTabFragmentContract;
- import com.edufound.reader.presenter.MyTabFragmentPresenter;
- import com.edufound.reader.util.Consts;
- import com.edufound.reader.util.EfunboxUtil;
- import com.edufound.reader.util.GlideUtils;
- import com.jakewharton.rxbinding4.view.RxView;
- import com.orhanobut.logger.Logger;
- import java.util.HashMap;
- import androidx.annotation.NonNull;
- import androidx.annotation.RequiresApi;
- import io.reactivex.rxjava3.annotations.Nullable;
- import io.reactivex.rxjava3.functions.Consumer;
- public class MyTabFragment extends BaseMvpFragment<MyTabFragmentPresenter> implements MyTabFragmentContract.View {
- View mRootView;
- HorizontalScrollView mScrollView;
- GridLayout mGridLayout;
- FrameLayout mNoRecordLayout;
- ImageView mHeaderUserImg;
- ImageView mHeadUserSetting;
- TextView mHeadUserPhone;
- TextView mHeadUserGrade;
- TextView mHeadUserFans;
- TextView mHeadUserPlayCount;
- FrameLayout mHeadUserVip;
- FrameLayout mHeadUserRedFlower;
- ImageView mHeadUserMyAttention;
- ImageView mHeadUserMyCollection;
- FrameLayout mUserLayout;
- FrameLayout mHeadUserMessage;
- ImageView mHeadUserCustomerService;
- TextView mRecordSize;
- ImageView mUnReadIcon;
- TextView mFlowerCount;
- TextView mOverDate;
- Space mBottomView;
- Rect mScreenRect;
- boolean isNeedLoad = true;
- @Override
- protected void initView(View view) {
- mPresenter = new MyTabFragmentPresenter(getContext());
- mPresenter.attachView(this);
- mRootView = view;
- mScrollView = view.findViewById(R.id.fragment_main_user_scrollview);
- mBottomView = view.findViewById(R.id.fragment_main_user_bottomview);
- mRecordSize = view.findViewById(R.id.fragment_main_user_myrecordsize);
- mScreenRect = new Rect(0, 0, Consts.getScreenSize()[0], Consts.getScreenSize()[1]);
- //初始化左侧header ui
- FrameLayout headlayout = view.findViewById(R.id.fragment_main_user_head_layout);
- mHeaderUserImg = headlayout.findViewById(R.id.fragment_main_user_head);
- mHeadUserSetting = headlayout.findViewById(R.id.fragment_main_user_setting);
- mHeadUserPhone = headlayout.findViewById(R.id.fragment_main_user_phonenum);
- mHeadUserGrade = headlayout.findViewById(R.id.fragment_main_user_grade);
- mHeadUserFans = headlayout.findViewById(R.id.fragment_main_user_fans);
- mHeadUserPlayCount = headlayout.findViewById(R.id.fragment_main_user_playcount);
- mHeadUserVip = headlayout.findViewById(R.id.fragment_main_user_vip);
- mOverDate = headlayout.findViewById(R.id.fragment_main_user_vip_date);
- mHeadUserRedFlower = headlayout.findViewById(R.id.fragment_main_user_redflower);
- mHeadUserMyAttention = headlayout.findViewById(R.id.fragment_main_user_myattention);
- mHeadUserMyCollection = headlayout.findViewById(R.id.fragment_main_user_mycollection);
- mHeadUserMessage = headlayout.findViewById(R.id.fragment_main_user_messagenotification);
- mHeadUserCustomerService = headlayout.findViewById(R.id.fragment_main_user_customerservice);
- mUnReadIcon = view.findViewById(R.id.fragment_main_user_unread_icon);
- mUserLayout = view.findViewById(R.id.fragment_main_user_layout);
- mGridLayout = view.findViewById(R.id.fragment_my_recyclerview);
- mNoRecordLayout = view.findViewById(R.id.fragment_main_user_norecord);
- mFlowerCount = view.findViewById(R.id.fragment_main_user_redflower_text);
- mPresenter.initGridLayout(mGridLayout, mNoRecordLayout);
- mPresenter.getMyInfo();
- mPresenter.getMyRecords();
- // mPresenter.getIsBuy();
- mPresenter.getAuth();
- }
- @Override
- protected int getLayoutId() {
- return R.layout.fragment_main_user;
- }
- @SuppressLint("AutoDispose")
- @RequiresApi(api = Build.VERSION_CODES.M)
- @Override
- protected void initViewListener() {
- RxView.scrollChangeEvents(mScrollView).subscribe(viewScrollChangeEvent -> {
- loadMoreItem();
- });
- // RxViewGroup.changeEvents(mGridLayout).subscribe(viewGroupHierarchyChangeEvent -> {
- // loadMoreItem();
- // });
- // Observable observable = RxView.clicks(mHeadUserSetting).share();
- // observable.buffer(observable.debounce(200, TimeUnit.MILLISECONDS).compose(bindUntilEvent(new Observable<ActivityEvent>() {
- // @Override
- // protected void subscribeActual(@NonNull Observer<? super ActivityEvent> observer) {
- // Logger.e("subscribeActual--subscribeActual--subscribeActual");
- // }
- // }, ActivityEvent.STOP)))
- // .subscribe(list -> {
- // Logger.e("iv3连续点击次数:" + list.size());
- // });//这里的时间指的是任意两次点击最长间隔时间);
- // addUiClick(mHeadUserSetting, o -> {
- // Toast.makeText(getActivity(), "click 设置", Toast.LENGTH_SHORT).show();
- // });
- addUiClick(mHeadUserVip, o -> {
- Toast.makeText(getActivity(), "click vip", Toast.LENGTH_SHORT).show();
- // toNextActivity(PayActivity.class);
- BotRegisterListener.payBaiDuVip();
- });
- addUiClick(mHeadUserRedFlower, o -> {
- Toast.makeText(getActivity(), "click 小红花", Toast.LENGTH_SHORT).show();
- toNextActivity(SafflowerActivity.class);
- });
- addUiClick(mHeadUserMyAttention, o -> {
- Toast.makeText(getActivity(), "click 我的关注", Toast.LENGTH_SHORT).show();
- toNextActivity(MyFollowActivity.class);
- });
- addUiClick(mHeadUserMyCollection, o -> {
- Toast.makeText(getActivity(), "click 我的收藏", Toast.LENGTH_SHORT).show();
- toNextActivity(MyCollectionActivity.class);
- });
- addUiClick(mHeadUserMessage, o -> {
- Toast.makeText(getActivity(), "click 消息通知", Toast.LENGTH_SHORT).show();
- toNextActivity(MessageActivity.class);
- });
- addUiClick(mHeadUserCustomerService, o -> {
- Toast.makeText(getActivity(), "click 联系客服", Toast.LENGTH_SHORT).show();
- toNextActivity(CustomerServiceActivity.class);
- });
- addUiClick(mUserLayout, o -> {
- Bundle bundle = new Bundle();
- bundle.putString("index", "123123123");
- toNextActivity(UserInfoSettingActivity.class, bundle);
- });
- }
- @Override
- public void showLoading() {
- }
- @Override
- public void hideLoading() {
- }
- @Override
- public void onError(String errMessage) {
- }
- @Override
- public ViewGroup getRootView() {
- return (ViewGroup) mRootView;
- }
- @Override
- public void addUiClick(View view, Consumer onNext) {
- addUiClickListener(view, onNext);
- }
- @Override
- public void setUserInfo(MyInfoBean bean) {
- if (bean.getUser().getAvatar() == null || bean.getUser().getAvatar().equals("")) {
- if (bean.getUser().getGender().equals("1")) {
- //男孩
- mHeaderUserImg.setImageResource(R.drawable.activity_userinfo_setting_boy);
- } else if (bean.getUser().getGender().equals("0")) {
- //女孩
- mHeaderUserImg.setImageResource(R.drawable.activity_userinfo_setting_girl);
- }
- } else {
- GlideUtils.loadCircleImage(getContext(), bean.getUser().getAvatar(), mHeaderUserImg);
- }
- mHeadUserPhone.setText(bean.getUser().getNickName());
- mHeadUserGrade.setText(EfunboxUtil.getCNGradeByEnum(bean.getUser().getGrade()));
- mHeadUserFans.setText(String.valueOf(bean.getFansAmount()));
- mHeadUserPlayCount.setText(String.valueOf(bean.getPlayAmount()));
- mFlowerCount.setText(String.valueOf(bean.getIntegralAmount()));
- if (Integer.valueOf(bean.getUnreadAmount()) <= 0) {
- mUnReadIcon.setVisibility(View.INVISIBLE);
- }
- }
- @Override
- public void setRecordSize(int size) {
- mRecordSize.setText("我的作品:" + size);
- }
- @Override
- public void onDestroy() {
- // isNeedLoad = true;
- // mPresenter.onDestory(mGridLayout);
- super.onDestroy();
- }
- @Override
- public void onGetDisconnect() {
- }
- @Override
- public void onGetMobileConnect() {
- }
- @Override
- public void onGetWifiConnect() {
- }
- @Override
- public void onDestroyView() {
- isNeedLoad = true;
- mPresenter.onDestory(mGridLayout);
- super.onDestroyView();
- }
- @Override
- public void loadMoreItem() {
- if (mBottomView.getLocalVisibleRect(mScreenRect) || mGridLayout.getChildCount() <= 2) {
- if (isNeedLoad) {
- isNeedLoad = false;
- mPresenter.setGridData(mGridLayout, mNoRecordLayout);
- }
- } else {
- isNeedLoad = true;
- }
- }
- @Override
- public void getIsBuySuccess(String date) {
- if (date == null || date.equals("")) {
- mHeadUserVip.setBackgroundResource(R.drawable.fragment_my_vip);
- mOverDate.setVisibility(View.GONE);
- } else {
- mHeadUserVip.setBackgroundResource(R.drawable.fragment_my_vip_renew);
- mOverDate.setVisibility(View.VISIBLE);
- mOverDate.setText("到期时间:" + date);
- }
- }
- }
|