package com.king.tv.mvp.adapter;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.support.annotation.LayoutRes;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.jude.easyrecyclerview.EasyRecyclerView;
import com.jude.easyrecyclerview.adapter.BaseViewHolder;
import com.jude.easyrecyclerview.adapter.RecyclerArrayAdapter;
import com.jude.easyrecyclerview.decoration.SpaceDecoration;
import com.king.base.adapter.HolderRecyclerAdapter;
import com.king.tv.Constants;
import com.king.tv.R;
import com.king.tv.bean.LiveInfo;
import com.king.tv.bean.Recommend;
import com.king.tv.mvp.activity.ContentActivity;
import com.king.tv.util.DensityUtil;
import java.util.List;
/**
* @author Jenly <a href="mailto:jenly1314@gmail.com">Jenly</a>
* @since 2017/3/17
*/
public class RecommendAdapter extends RecyclerArrayAdapter<Recommend.RoomBean> {
public RecommendAdapter(Context context, List<Recommend.RoomBean> objects) {
super(context, objects);
}
@Override
public BaseViewHolder OnCreateViewHolder(ViewGroup parent, int viewType) {
return new RecommendViewHolder(parent);
}
public class RecommendViewHolder extends BaseViewHolder<Recommend.RoomBean>{
ImageView iv;
TextView tvCategroy;
TextView tvMore;
EasyRecyclerView recyclerView;
RecommendChildAdapter adapter;
public RecommendViewHolder(ViewGroup parent) {
super(parent, R.layout.list_remmend_item);
iv = $(R.id.iv);
tvCategroy = $(R.id.tvCategroy);
tvMore = $(R.id.tvMore);
recyclerView = $(R.id.recyclerView);
SpaceDecoration spaceDecoration = new SpaceDecoration(DensityUtil.dp2px(getContext(),6));
recyclerView.addItemDecoration(spaceDecoration);
adapter = new RecommendChildAdapter(getContext(),null);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(),2);
// gridLayoutManager.setSpanSizeLookup(recommendAdapter.obtainGridSpanSizeLookUp(2));
recyclerView.setLayoutManager(gridLayoutManager);
recyclerView.setAdapter(adapter);
adapter.setOnItemClicklistener(new HolderRecyclerAdapter.OnItemClicklistener() {
@Override
public void onItemClick(View v, int position) {
//-1去掉头部位置
Recommend.RoomBean.ListBean listBean = getAllData().get(getAdapterPosition()-1).getList().get(position);
startRoom(getContext(),listBean);
}
});
}
public void startLive(Context context,String title,String slug){
Intent intent = new Intent(context, ContentActivity.class);
intent.putExtra(Constants.KEY_FRAGMENT,Constants.LIVE_FRAGMENT);
intent.putExtra(Constants.KEY_TITLE,title);
intent.putExtra(Constants.KEY_SLUG,slug);
context.startActivity(intent);
}
public void startRoom(Context context,Recommend.RoomBean.ListBean listBean){
Intent intent = new Intent(context, ContentActivity.class);
int fragmentKey = Constants.ROOM_FRAGMENT;
if(Constants.SHOWING.equalsIgnoreCase(listBean.getCategory_slug())){
fragmentKey = Constants.FULL_ROOM_FRAGMENT;
}
intent.putExtra(Constants.KEY_FRAGMENT,fragmentKey);
intent.putExtra(Constants.KEY_UID,String.valueOf(listBean.getUid()));
intent.putExtra(Constants.KEY_COVER,listBean.getThumb());
context.startActivity(intent);
}
@Override
public void setData(final Recommend.RoomBean data) {
super.setData(data);
Glide.with(getContext()).load(data.getIcon()).error(R.drawable.default_recommend_icon).crossFade().centerCrop().diskCacheStrategy(DiskCacheStrategy.SOURCE).into(iv);
tvCategroy.setText(data.getName());
tvMore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startLive(getContext(),data.getName(),data.getSlug());
}
});
adapter.setListData(data.getList());
adapter.notifyDataSetChanged();
}
}
}