123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- package com.edufound.reader.fragment;
- import android.annotation.SuppressLint;
- import android.graphics.Rect;
- import android.os.Build;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.GridLayout;
- import android.widget.HorizontalScrollView;
- import android.widget.ImageView;
- import android.widget.Space;
- import com.baidu.duer.bot.directive.payload.AmountInfo;
- import com.baidu.duer.botsdk.BotIntent;
- import com.edufound.reader.R;
- import com.edufound.reader.activity.SafflowerActivity;
- import com.edufound.reader.base.BaseMvpFragment;
- import com.edufound.reader.bean.UserEventEnum;
- import com.edufound.reader.contract.CharacterFragmentContract;
- import com.edufound.reader.presenter.CharacterFragmentPresenter;
- 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.jakewharton.rxbinding4.view.RxViewGroup;
- import com.jakewharton.rxbinding4.view.ViewGroupHierarchyChangeEvent;
- 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 CharacterFragment extends BaseMvpFragment<CharacterFragmentPresenter> implements CharacterFragmentContract.View {
- View mRootView;
- HorizontalScrollView mScrollView;
- GridLayout mGridLayout;
- Space mBottomView;
- Rect mScreenRect;
- boolean isNeedLoad = false;
- @RequiresApi(api = Build.VERSION_CODES.M)
- @Override
- protected void initView(View view) {
- mRootView = view;
- mPresenter = new CharacterFragmentPresenter(getContext());
- mPresenter.attachView(this);
- mScreenRect = new Rect(0, 0, Consts.getScreenSize()[0], Consts.getScreenSize()[1]);
- //初始化左侧广告UI
- ImageView mCharacterImage = view.findViewById(R.id.fragment_main_character_img);
- GlideUtils.loadImageSizeKipMemoryCache(getContext(), "http://reader-apk.ai160.com/reader-apk/res/character_image_1.png", mCharacterImage);
- mScrollView = view.findViewById(R.id.fragment_main_character_scrollview);
- mGridLayout = view.findViewById(R.id.fragment_my_recyclerview);
- mBottomView = view.findViewById(R.id.fragment_main_character_bottomview);
- addUiClick(mCharacterImage, o -> {
- if (EfunboxUtil.checkLogin(getActivity())) {
- mPresenter.getUserApi().postUserEvent(getActivity(), UserEventEnum.EVENT_INTEGRAL.getEvent());
- toNextActivity(SafflowerActivity.class);
- }
- });
- mPresenter.getExampleAll();
- }
- @Override
- protected int getLayoutId() {
- return R.layout.fragment_main_character;
- }
- @SuppressLint("AutoDispose")
- @RequiresApi(api = Build.VERSION_CODES.M)
- @Override
- protected void initViewListener() {
- RxView.scrollChangeEvents(mScrollView).subscribe(viewScrollChangeEvent -> {
- if (mBottomView.getLocalVisibleRect(mScreenRect)) {
- if (isNeedLoad) {
- isNeedLoad = false;
- mPresenter.initGridLayout(mGridLayout);
- }
- } else {
- isNeedLoad = true;
- }
- });
- }
- @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 getExampleAllSuccess() {
- mPresenter.initGridLayout(mGridLayout);
- }
- @Override
- public Space getBottomView() {
- return mBottomView;
- }
- @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() {
- super.onDestroyView();
- mPresenter.onDestory(mGridLayout);
- }
- }
|