package org.softeg.slartus.forpdaplus.classes;
import android.content.Context;
import org.softeg.slartus.forpdaplus.Client;
import java.util.ArrayList;
/**
* User: slinkin
* Date: 12.10.11
* Time: 11:16
*/
public class DownloadTasks extends ArrayList<DownloadTask> {
Client.OnProgressPositionChangedListener m_StateListener;
private int fullLength;
public void setOnStateListener(Client.OnProgressPositionChangedListener stateListener) {
m_StateListener = stateListener;
}
private Context m_Context;
public Context getContext() {
return m_Context;
}
public void setContext(Context context) {
this.m_Context = context;
for(int i=0;i<this.size();i++){
this.get(i).setContext(m_Context);
}
}
public DownloadTask getById(int id){
for(int i=0;i<this.size();i++){
if(this.get(i).getId()==id)
return this.get(i);
}
return null;
}
public DownloadTask getByUrl(String url){
for(int i=0;i<this.size();i++){
if(this.get(i).getUrl().equals(url))
return this.get(i);
}
return null;
}
public DownloadTask getByUrl(String url, int state){
for(int i=0;i<this.size();i++){
if(!this.get(i).getUrl().equals(url))continue;
if(this.get(i).getState()!=state)continue;
return this.get(i);
}
return null;
}
public DownloadTask add(String url, int notificationId,Client.OnProgressPositionChangedListener progressChangedListener) {
DownloadTask downloadTask = new DownloadTask(url,notificationId);
downloadTask.addStateListener(progressChangedListener);
downloadTask.addStateListener(new Client.OnProgressPositionChangedListener() {
public void onProgressChanged(Context context, DownloadTask downloadTask1, Exception ex) {
if (m_StateListener != null)
m_StateListener.onProgressChanged(getContext(),downloadTask1,ex );
}
});
add(0,downloadTask);
return downloadTask;
}
public void sort() {
}
public int getFullLength() {
return fullLength;
}
public void setFullSize(int fullSize) {
fullLength = fullSize;
}
}