package com.android.yzd.memo.mvp.presenter.impl; import android.content.Context; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.view.View; import com.android.yzd.memo.mvp.model.Constants; import com.android.yzd.memo.mvp.model.bean.God; import com.android.yzd.memo.mvp.model.Realm.RealmHelper; import com.android.yzd.memo.mvp.model.evenbus.EventCenter; import com.android.yzd.memo.mvp.presenter.FragmentPresenter; import com.android.yzd.memo.mvp.ui.activity.EditActivity; import com.android.yzd.memo.mvp.ui.adapter.IndexViewAdapter; import com.android.yzd.memo.mvp.ui.view.LoginTypeFView; import java.util.ArrayList; /** * Created by Administrator on 2016/1/15. */ public class IndexFImpl implements FragmentPresenter, IndexViewAdapter.OnRecyclerItemClickListener { private final Context mContext; private final LoginTypeFView mLoginTypeFView; private IndexViewAdapter mAdapter; private ArrayList<God> selector; private int position; private boolean isCreate; public IndexFImpl(Context context, LoginTypeFView view) { mContext = context; mLoginTypeFView = view; } @Override public void onFirstUserVisible() { isCreate = true; selector = selector(); mAdapter = new IndexViewAdapter(mContext, selector); mAdapter.setOnRecyclerItemClick(this); mLoginTypeFView.initRecycler(new LinearLayoutManager(mContext), mAdapter); if (null != selector && selector.size() > 0) { mLoginTypeFView.hideException(); } else { mLoginTypeFView.showException(); } } private ArrayList<God> selector() { return RealmHelper.getInstances(mContext).selector(mContext, position); } @Override public void onUserVisible() { } @Override public void onUserInvisible() { } public void onEventComing(EventCenter eventCenter) { if (isCreate) { if (eventCenter.getEventCode() == 1) { boolean data = (boolean) eventCenter.getData(); if (data) { selector = selector(); if (null != selector && selector.size() > 0) { mLoginTypeFView.hideException(); mAdapter.addAll(selector); } else { mLoginTypeFView.showException(); mAdapter.clearData(); } mAdapter.notifyDataSetChanged(); } } else if (eventCenter.getEventCode() == Constants.EVEN_BUS.CHANGE_PASS_WORD_SHOW) { mAdapter.notifyDataSetChanged(); } } } @Override public void onRecyclerItemClick(View view, int position) { mLoginTypeFView.readGo(EditActivity.class, Constants.VIEW_MODE, position, this.position); } public void getArgus(Bundle arguments) { position = arguments.getInt("position"); } }