package com.util; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import android.util.Log; import com.limegroup.gnutella.RemoteFileDesc; import com.util.SearchResult; // Result for presentation in one batch. public class SearchResultBuffer { public static final int BUFFER_SIZE = 20; private ArrayList<SearchResult> mResults; public SearchResultBuffer() { mResults = new ArrayList<SearchResult>(BUFFER_SIZE); } public boolean isFull() { return mResults.size() == BUFFER_SIZE; } public int size() { return mResults.size(); } public SearchResult get(int i) { return mResults.get(i); } public void add(SearchResult result) { if (mResults.size() == BUFFER_SIZE) { throw new IllegalStateException("Adding result while it is full."); } // //remove the same // boolean isDumplicated = false; // SearchResult dum = null; // boolean removeOld = false; // for(Iterator<SearchResult> it = mResults.iterator();it.hasNext();){ // SearchResult inBuffer = it.next(); // if(inBuffer.getFileName().equals(result.getFileName()) // && Utils.getSizeInM(inBuffer.getFileSize()) == Utils.getSizeInM(result.getFileSize())) { // if(inBuffer.getAlt().size() > result.getAlt().size()) { // isDumplicated = true; // } // dum = inBuffer; // removeOld = true; // } // } // if(removeOld) // mResults.remove(dum); // if(!isDumplicated) // mResults.add(result); mResults.add(result); // resort(); } // public void resort() { // long t = System.currentTimeMillis(); // if (t - mTimeLastSorted > 1000) { // Collections.sort(mResults); // mTimeLastSorted = t; // } // } }