package com.codeest.geeknews.ui.zhihu.activity;
import android.app.ActivityOptions;
import android.content.Intent;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.View;
import com.codeest.geeknews.R;
import com.codeest.geeknews.app.Constants;
import com.codeest.geeknews.base.RootActivity;
import com.codeest.geeknews.model.bean.SectionChildListBean;
import com.codeest.geeknews.presenter.zhihu.SectionChildPresenter;
import com.codeest.geeknews.base.contract.zhihu.SectionChildContract;
import com.codeest.geeknews.ui.zhihu.adapter.SectionChildAdapter;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
/**
* Created by codeest on 16/8/28.
*/
public class SectionActivity extends RootActivity<SectionChildPresenter> implements SectionChildContract.View {
@BindView(R.id.view_main)
RecyclerView rvSectionContent;
@BindView(R.id.swipe_refresh)
SwipeRefreshLayout swipeRefresh;
@BindView(R.id.tool_bar)
Toolbar mToolBar;
List<SectionChildListBean.StoriesBean> mList;
SectionChildAdapter mAdapter;
int id;
String title;
@Override
protected void initInject() {
getActivityComponent().inject(this);
}
@Override
protected int getLayout() {
return R.layout.activity_section;
}
@Override
protected void initEventAndData() {
super.initEventAndData();
Intent intent = getIntent();
id = intent.getIntExtra("id", 0);
title = intent.getStringExtra("title");
setToolBar(mToolBar,title);
mList = new ArrayList<>();
mAdapter = new SectionChildAdapter(mContext, mList);
rvSectionContent.setLayoutManager(new LinearLayoutManager(mContext));
rvSectionContent.setAdapter(mAdapter);
swipeRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
mPresenter.getThemeChildData(id);
}
});
mAdapter.setOnItemClickListener(new SectionChildAdapter.OnItemClickListener() {
@Override
public void OnItemClick(int position, View shareView) {
mPresenter.insertReadToDB(mList.get(position).getId());
mAdapter.setReadState(position, true);
mAdapter.notifyItemChanged(position);
Intent intent = new Intent();
intent.setClass(mContext, ZhihuDetailActivity.class);
intent.putExtra(Constants.IT_ZHIHU_DETAIL_ID, mList.get(position).getId());
if (shareView != null) {
mContext.startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(mContext, shareView, "shareView").toBundle());
} else {
startActivity(intent, ActivityOptions.makeSceneTransitionAnimation(mContext).toBundle());
}
}
});
mPresenter.getThemeChildData(id);
stateLoading();
}
@Override
public void showContent(SectionChildListBean sectionChildListBean) {
if(swipeRefresh.isRefreshing()) {
swipeRefresh.setRefreshing(false);
}
stateMain();
mList.clear();
mList.addAll(sectionChildListBean.getStories());
mAdapter.notifyDataSetChanged();
}
@Override
public void stateError() {
super.stateError();
if(swipeRefresh.isRefreshing()) {
swipeRefresh.setRefreshing(false);
}
}
}