package com.gzsll.hupu.ui.thread.collect;
import android.app.Activity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import com.gzsll.hupu.R;
import com.gzsll.hupu.db.Thread;
import com.gzsll.hupu.ui.BaseFragment;
import com.gzsll.hupu.ui.main.MainComponent;
import com.gzsll.hupu.ui.thread.ThreadListAdapter;
import com.gzsll.hupu.widget.LoadMoreRecyclerView;
import com.yalantis.phoenix.PullToRefreshView;
import java.util.List;
import javax.inject.Inject;
import butterknife.BindView;
import butterknife.ButterKnife;
/**
* Created by sll on 2016/5/11.
*/
public class CollectThreadListFragment extends BaseFragment
implements CollectThreadListContract.View, PullToRefreshView.OnRefreshListener,
LoadMoreRecyclerView.LoadMoreListener {
@Inject
ThreadListAdapter mAdapter;
@Inject
Activity mActivity;
@Inject
ThreadCollectPresenter mCollectPresenter;
@BindView(R.id.recyclerView)
LoadMoreRecyclerView recyclerView;
@BindView(R.id.refreshLayout)
PullToRefreshView refreshLayout;
@Override
public void initInjector() {
getComponent(MainComponent.class).inject(this);
}
@Override
public int initContentView() {
return R.layout.base_phonix_list_layout;
}
@Override
public void getBundle(Bundle bundle) {
}
@Override
public void initUI(View view) {
ButterKnife.bind(this, view);
mCollectPresenter.attachView(this);
refreshLayout.setOnRefreshListener(this);
LinearLayoutManager layoutManager = new LinearLayoutManager(mActivity.getApplicationContext());
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(mAdapter);
recyclerView.setLoadMoreListener(this);
}
@Override
public void initData() {
mCollectPresenter.onThreadReceive();
}
@Override
public void showLoading() {
showProgress(true);
}
@Override
public void hideLoading() {
showContent(true);
}
@Override
public void renderThreads(List<Thread> threads) {
mAdapter.bind(threads);
recyclerView.getAdapter().notifyDataSetChanged();
}
@Override
public void onError(String error) {
setErrorText(error);
showError(true);
}
@Override
public void onEmpty() {
setEmptyText("没有收藏的帖子");
showEmpty(true);
}
@Override
public void onLoadCompleted(boolean hasMore) {
recyclerView.onLoadCompleted(hasMore);
}
@Override
public void onRefreshCompleted() {
refreshLayout.setRefreshing(false);
}
@Override
public void onRefresh() {
mCollectPresenter.onRefresh();
}
@Override
public void onDestroy() {
super.onDestroy();
mCollectPresenter.detachView();
}
@Override
public void onReloadClicked() {
mCollectPresenter.onReload();
}
@Override
public void onLoadMore() {
mCollectPresenter.onLoadMore();
}
}