package com.sromku.simple.fb.example.fragments;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import uk.co.senab.actionbarpulltorefresh.library.ActionBarPullToRefresh;
import uk.co.senab.actionbarpulltorefresh.library.PullToRefreshLayout;
import uk.co.senab.actionbarpulltorefresh.library.listeners.OnRefreshListener;
import com.example.hal.model.Offre;
import com.example.hal.model.OffreController;
import com.sromku.simple.fb.example.OffreAddActivity;
import com.sromku.simple.fb.example.R;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
public class OffreFragment extends ListFragment implements OnRefreshListener{
private List<Offre> listsOffre = null;
private List<String> listsName = null;
private ArrayAdapter<String> offreArray;
private PullToRefreshLayout mPullToRefreshLayout;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view =inflater.inflate(R.layout.fragment_offre, container, false);
ViewGroup viewGroup = (ViewGroup) view;
mPullToRefreshLayout = new PullToRefreshLayout(viewGroup.getContext());
ActionBarPullToRefresh.from(getActivity())
.insertLayoutInto(viewGroup)
.theseChildrenArePullable(android.R.id.list, android.R.id.empty)
.listener(this)
.setup(mPullToRefreshLayout);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
if(offreArray==null){
getAllOffre();
offreArray= new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_1, listsName);
setListAdapter(offreArray);
}
}
private void getAllOffre() {
OffreController list = new OffreController();
if(listsName==null)
listsName = new ArrayList<String>();
try {
listsOffre = list.getAllOffre();
} catch (Exception e) {
e.printStackTrace();
}
if (listsOffre != null) {
for (Object o : listsOffre) {
Offre u=(Offre) o;
if (u != null)
listsName.add(u.getTitre() + "\n" + u.getTexte());
}
}
}
private String[] getStringsOffre() {
OffreController list = new OffreController();
int i=0;
try {
listsOffre = list.getAllOffre();
} catch (Exception e) {
e.printStackTrace();
}
String[] stringsName ={};
if (listsOffre != null) {
stringsName = new String[listsOffre.size()];
for (Object o : listsOffre) {
Offre u=(Offre) o;
if (u != null)
stringsName[i]=u.getTitre() + "\n" + u.getTexte();
i++;
}
}
return stringsName;
}
final void newOffre(){
startActivity(new Intent(getActivity(), OffreAddActivity.class));
}
@Override
public void onRefreshStarted(View view) {
new AsyncTask<Void, Void, Void>() {
@Override
protected Void doInBackground(Void... params) {
getAllOffre();
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
offreArray.notifyDataSetChanged();
mPullToRefreshLayout.setRefreshComplete();
}
}.execute();
}
}