package com.quinn.githubknife.ui.fragments;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.quinn.githubknife.presenter.ReceivedEventPresenterImpl;
import com.quinn.githubknife.ui.adapter.EventAdapter;
import com.quinn.githubknife.ui.activity.UserInfoActivity;
import com.quinn.githubknife.ui.widget.RecycleItemClickListener;
import com.quinn.githubknife.utils.ToastUtils;
import com.quinn.httpknife.github.Event;
import com.quinn.httpknife.github.GithubConstants;
import com.quinn.httpknife.github.GithubImpl;
import com.quinn.httpknife.github.User;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Quinn on 7/16/15.
*/
public class ReceivedEventFragment extends BaseFragment implements RecycleItemClickListener {
private EventAdapter adapter;
public static ReceivedEventFragment getInstance(String user){
ReceivedEventFragment receivedEventFragment = new ReceivedEventFragment();
Bundle bundle = new Bundle();
bundle.putString("user", user);
receivedEventFragment.setArguments(bundle);
return receivedEventFragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
presenter = new ReceivedEventPresenterImpl(this.getActivity(),this);
dataItems = new ArrayList<Event>();
adapter = new EventAdapter(this.getActivity(),dataItems);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = super.onCreateView(inflater,container,savedInstanceState);
recyclerView.setAdapter(adapter);
adapter.setOnItemClickListener(this);
return view;
}
@Override
public void setItems(List<?> items) {
super.setItems(items);
for(Object repo:items){
dataItems.add((Event) repo);
}
loading = false;
if(items.size() < GithubImpl.DEFAULT_PAGE_SIZE)
haveMore = false;
adapter.notifyDataSetChanged();
}
@Override
public void onItemClick(View view, int position) {
intoItem(position);
}
@Override
public void intoItem(final int position) {
Event event = (Event)dataItems.get(position);
if(event.getOrg() != null && event.getType().equals(GithubConstants.MemberEvent)){
ToastUtils.showMsg(this.getActivity(),"Orgnization...");
}else {
User user = (User) event.getActor();
Bundle bundle = new Bundle();
bundle.putSerializable("user", user);
UserInfoActivity.launch(ReceivedEventFragment.this.getActivity(), bundle);
}
}
}