SwitchInfoFragment.java 5.46 KB
package com.studymachine.www.ui.fragment;

import android.text.TextUtils;
import android.view.View;
import android.widget.Button;

import androidx.recyclerview.widget.RecyclerView;

import com.hjq.base.BaseAdapter;
import com.hjq.http.EasyHttp;
import com.hjq.http.listener.HttpCallback;
import com.studymachine.www.R;
import com.studymachine.www.app.AppActivity;
import com.studymachine.www.app.AppFragment;
import com.studymachine.www.enumtype.DictionariesEnum;
import com.studymachine.www.event.DictionariesEvent;
import com.studymachine.www.event.UserInfoEvent;
import com.studymachine.www.http.api.EditUserInfoApi;
import com.studymachine.www.http.api.GetDictionariesApi;
import com.studymachine.www.http.model.HttpData;
import com.studymachine.www.manager.DictionariesManager;
import com.studymachine.www.manager.UserManager;
import com.studymachine.www.ui.activity.CopyActivity;
import com.studymachine.www.ui.activity.HomeActivity;
import com.studymachine.www.ui.adapter.RadioAdapter;

import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.ArrayList;
import java.util.List;

import timber.log.Timber;

/**
 * desc   : 切换信息
 */
public final class SwitchInfoFragment extends AppFragment<AppActivity> implements RadioAdapter.OnRadioListener {


    private RadioAdapter mGradeAdapter, mTextbookAdapter;
    private RecyclerView mRvGrade, mTextbook;
    private Button mCommitBtn;
    private GetDictionariesApi.Bean mSelectGrade, mSelectTextbook;
    private List<GetDictionariesApi.Bean> mGradeDataList = new ArrayList<>();
    private List<GetDictionariesApi.Bean> mTextbookDataList = new ArrayList<>();

    public static SwitchInfoFragment newInstance() {
        return new SwitchInfoFragment();
    }

    @Override
    protected int getLayoutId() {
        return R.layout.switch_info_fragment;
    }

    @Override
    protected void initView() {
        mCommitBtn = findViewById(R.id.btn_commit);
        mRvGrade = findViewById(R.id.rv_grade);
        mTextbook = findViewById(R.id.rv_textbook);
        setOnClickListener(mCommitBtn);
    }


    @Override
    protected void onFragmentResume(boolean first) {
        super.onFragmentResume(first);
        initGrade();
        initTextbook();
        DictionariesManager.getInstance().getHttpData();
    }

    @Override
    protected void initData() {

    }

    private void initTextbook() {
        mTextbookDataList = DictionariesManager.getInstance().getDictionItem(DictionariesEnum.CATEGORY_KEY);
        List<GetDictionariesApi.Bean> beanList = new ArrayList<>();
        String category = UserManager.getInstance().getUserBean().getCategory();
        if (!TextUtils.isEmpty(category)) {
            for (int i = 0; i < mTextbookDataList.size(); i++) {
                if (mTextbookDataList.get(i).getValue().equals(category)) {
                    beanList.add(mTextbookDataList.get(i));
                    mSelectTextbook = mTextbookDataList.get(i);
                    break;
                }
            }
        }
        mTextbookAdapter = new RadioAdapter(getAttachActivity(), beanList);
        mTextbookAdapter.setListener(this);
        mTextbook.setAdapter(mTextbookAdapter);
        mTextbookAdapter.setData(mTextbookDataList);

    }

    private void initGrade() {
        mGradeDataList = DictionariesManager.getInstance().getDictionItem(DictionariesEnum.GRADE_KEY);
        List<GetDictionariesApi.Bean> beanList = new ArrayList<>();
        String grade = UserManager.getInstance().getUserBean().getGrade();
        if (!TextUtils.isEmpty(grade)) {
            for (int i = 0; i < mGradeDataList.size(); i++) {
                if (mGradeDataList.get(i).getValue().equals(grade)) {
                    beanList.add(mGradeDataList.get(i));
                    mSelectGrade = mGradeDataList.get(i);
                    break;
                }
            }
        }
        mGradeAdapter = new RadioAdapter(getAttachActivity(), beanList);
        mGradeAdapter.setListener(this);
        mRvGrade.setAdapter(mGradeAdapter);
        mGradeAdapter.setData(mGradeDataList);
    }


    @Override
    public void onClick(View view) {
        if (view == mCommitBtn) {
            EasyHttp.post(this)
                    .api(new EditUserInfoApi()
                            .setCategory(mSelectTextbook.getValue())
                            .setGrade(mSelectGrade.getValue()))
                    .request(new HttpCallback<HttpData>(this) {
                        @Override
                        public void onSucceed(HttpData result) {
                            UserManager.getInstance().getUserInfo();
                            HomeActivity.start(getAttachActivity(), HomeFragment.class);
                        }

                        @Override
                        public void onFail(Exception e) {
                            super.onFail(e);
                        }
                    });
        }
    }

    @Override
    public void onItemClick(RecyclerView recyclerView, int position, List<GetDictionariesApi.Bean> mSelectList) {
        if (recyclerView == mRvGrade) {
            mSelectGrade = mSelectList.get(0);
        } else if (recyclerView == mTextbook) {
            mSelectTextbook = mSelectList.get(0);
        }
    }

    @Subscribe(threadMode = ThreadMode.MAIN)
    public void onEventBus(UserInfoEvent userInfoEvent) {
    }

    @Subscribe(threadMode = ThreadMode.MAIN)
    public void onEventBus(DictionariesEvent dictionariesEvent) {
        initGrade();
        initTextbook();
    }


}