package com.basket.lists; import java.util.ArrayList; import android.app.ListFragment; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Toast; import com.basket.activities.BidWinActivity; import com.basket.activities.BidsOnProductActivity; import com.basket.adapters.BidsInSellingProductAdapter; import com.basket.containers.BasketSession; import com.basket.general.Bid; import com.basket.general.BidEvent; import com.basket.general.CarJsonSpringAndroidSpiceService; import com.basket.restrequest.BidOnEventList; import com.basket.restrequest.BidOnEventRequest; import com.example.basket.R; import com.octo.android.robospice.SpiceManager; import com.octo.android.robospice.exception.RequestCancelledException; import com.octo.android.robospice.persistence.DurationInMillis; import com.octo.android.robospice.persistence.exception.SpiceException; import com.octo.android.robospice.request.listener.RequestListener; import com.octo.android.robospice.request.listener.RequestProgress; import com.octo.android.robospice.request.listener.RequestProgressListener; import eu.erikw.PullToRefreshListView; import eu.erikw.PullToRefreshListView.OnRefreshListener; public class BidsListView extends ListFragment{ //private String[] list_items; private SpiceManager spiceManager= new SpiceManager(CarJsonSpringAndroidSpiceService.class); private int itemClicked; private PullToRefreshListView listView; private ArrayList<Bid> bidsOnProduct; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ View rootView = inflater.inflate(R.layout.bids_list, container, false); bidsOnProduct = BasketSession.getBidSearch(); itemClicked = (Integer) this.getActivity().getIntent().getExtras().get("itemClicked"); setListAdapter(new BidsInSellingProductAdapter(getActivity(), bidsOnProduct)); listView = (PullToRefreshListView) rootView.findViewById(R.id.pull_to_refresh_listview); listView.setShowLastUpdatedText(true); listView.setOnRefreshListener(new OnRefreshListener() { @Override public void onRefresh() { if(!spiceManager.isStarted()) { spiceManager.start(getActivity()); BidOnEventRequest JsonSpringAndroidRequest = new BidOnEventRequest(BasketSession.getUser().getCurrentlySellingOnBid().get(itemClicked).getId()); spiceManager.execute(JsonSpringAndroidRequest, "", DurationInMillis.ALWAYS_EXPIRED, new GetBidsListener()); } } }); return rootView; } private class GetBidsListener implements RequestListener<BidOnEventList>, RequestProgressListener { @Override public void onRequestFailure(SpiceException arg0) { Log.d("error",arg0.getMessage()); if (!(arg0 instanceof RequestCancelledException)) { Toast.makeText(getActivity(), "No connection to server", Toast.LENGTH_SHORT).show(); } spiceManager.shouldStop(); listView.onRefreshComplete(); } @Override public void onRequestSuccess(BidOnEventList bids) { spiceManager.shouldStop(); BasketSession.setBids(bids.getBids()); bidsOnProduct.clear(); for (Bid b:bids.getBids()) { bidsOnProduct.add(b); } listView.onRefreshComplete(); } @Override public void onRequestProgressUpdate(RequestProgress arg0) { } } }