package com.util; import com.limegroup.gnutella.Downloader; public abstract class DownloadInfo { public static final int PENDING = 100; public static boolean isDownloading(int state) { return (state == Downloader.CONNECTING || state == Downloader.DOWNLOADING || state == Downloader.REMOTE_QUEUED || state == Downloader.SAVING || state == Downloader.IDENTIFY_CORRUPTION || state == Downloader.QUEUED || state == Downloader.PAUSED || state == Downloader.WAITING_FOR_RETRY || state == Downloader.WAITING_FOR_USER || state == Downloader.WAITING_FOR_RESULTS || state == Downloader.WAITING_FOR_CONNECTIONS || state == Downloader.ITERATIVE_GUESSING); } protected int mTotalBytes; protected int mCurrentBytes; protected String mError; public abstract int getState(); public boolean showToastForLongPress() { return false; } public boolean ableToResume() {return false;} public boolean ableToRetry() {return true;} public boolean isScheduled() { return true; } public abstract void download(DownloadService mDownloadService); public abstract void resumeDownload(); public void setScheduled(boolean scheduled) { } public abstract void setFailed(boolean failed); public abstract boolean hasFailed(); public boolean pendingFailed() { return false; } public abstract boolean valid(); public boolean same(DownloadInfo info) { return getTarget().equals(info.getTarget()); } public abstract String getTarget(); public abstract void stopDownload(); public abstract void pauseDownload(); public abstract void deleteDownload(); public abstract String getFileName(); public abstract SearchResult getSearchResult(); public void setTotalBytes(int totalBytes) { mTotalBytes = totalBytes; } public int getTotalBytes() { return mTotalBytes; } public void setCurrentBytes(int currentBytes) { mCurrentBytes = currentBytes; } public int getCurrentBytes() { return mCurrentBytes; } public void setError(String error) { mError = error; } public String getError() { return mError; } }