package com.example.administrator.cookman.ui.activity;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import com.example.administrator.cookman.IView.ICookSearchResultView;
import com.example.administrator.cookman.R;
import com.example.administrator.cookman.model.entity.CookEntity.CookDetail;
import com.example.administrator.cookman.model.entity.tb_cook.TB_CustomCategory;
import com.example.administrator.cookman.presenter.CookSearchResultPresenter;
import com.example.administrator.cookman.presenter.Presenter;
import com.example.administrator.cookman.ui.adapter.CookListAdapter;
import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.Footer.BottomProgressView;
import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.RefreshListenerAdapter;
import com.example.administrator.cookman.ui.component.twinklingrefreshlayout.TwinklingRefreshLayout;
import com.example.administrator.cookman.utils.ToastUtil;
import java.util.ArrayList;
import butterknife.Bind;
public class CookSearchResultActivity extends BaseSwipeBackActivity implements ICookSearchResultView {
@Bind(R.id.toolbar)
public Toolbar toolbar;
@Bind(R.id.refresh_layout)
public TwinklingRefreshLayout twinklingRefreshLayout;
@Bind(R.id.recyclerview_list)
public RecyclerView recyclerList;
private int totalPages;
private String name;
private ArrayList<CookDetail> list;
private CookListAdapter cookListAdapter;
private CookSearchResultPresenter cookSearchResultPresenter;
@Override
protected Presenter getPresenter(){
return null;
}
@Override
protected int getLayoutId(){
return R.layout.activity_cook_search_result;
}
@Override
protected void init(Bundle savedInstanceState){
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
getSupportActionBar().setDisplayUseLogoEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setDisplayShowTitleEnabled(true);
Intent intent = getIntent();
name = intent.getStringExtra(Intent_Key_Name);
totalPages = intent.getIntExtra(Intent_Key_TotalPages, 0);
list = intent.getParcelableArrayListExtra(Intent_Key_List);
getSupportActionBar().setTitle(name);
recyclerList.setLayoutManager(new LinearLayoutManager(recyclerList.getContext()));
cookListAdapter = new CookListAdapter(this);
recyclerList.setAdapter(cookListAdapter);
twinklingRefreshLayout.setOverScrollRefreshShow(false);
twinklingRefreshLayout.setEnableRefresh(false);
twinklingRefreshLayout.setEnableLoadmore(true);
BottomProgressView bottomProgressView = new BottomProgressView(twinklingRefreshLayout.getContext());
bottomProgressView.setAnimatingColor(getResources().getColor(R.color.colorPrimary));
twinklingRefreshLayout.setBottomView(bottomProgressView);
twinklingRefreshLayout.setOverScrollBottomShow(true);
twinklingRefreshLayout.setOnRefreshListener(new RefreshListenerAdapter() {
@Override
public void onRefresh(final TwinklingRefreshLayout refreshLayout) {
}
@Override
public void onLoadMore(final TwinklingRefreshLayout refreshLayout) {
cookSearchResultPresenter.loadMore();
}
});
cookListAdapter.setDataList(list);
cookListAdapter.notifyDataSetChanged();
cookSearchResultPresenter = new CookSearchResultPresenter(this, name, totalPages, this);
}
@Override
public void onBackPressed() {
boolean success = getSupportFragmentManager().popBackStackImmediate();
if (!success)
super.onBackPressed();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
finish();
}
return super.onOptionsItemSelected(item);
}
@Override
public void onCookSearchLoadMoreSuccess(ArrayList<CookDetail> list){
twinklingRefreshLayout.finishLoadmore();
cookListAdapter.addItems(list);
}
@Override
public void onCookSearchLoadMoreFaile(String msg){
twinklingRefreshLayout.finishLoadmore();
ToastUtil.showToast(this, msg);
}
@Override
public void onCookSearchLoadMoreNoData(){
ToastUtil.showToast(this, getString(R.string.toast_msg_no_more_data));
}
private final static String Intent_Key_Name = "name";
private final static String Intent_Key_TotalPages = "totalPages";
private final static String Intent_Key_List = "list";
public static void startActivity(Activity activity, String name, int totalPages, ArrayList<CookDetail> list){
Intent intent = new Intent(activity, CookSearchResultActivity.class);
intent.putExtra(Intent_Key_Name, name);
intent.putExtra(Intent_Key_TotalPages, totalPages);
intent.putParcelableArrayListExtra(Intent_Key_List, list);
activity.startActivity(intent);
}
}