package com.hyrt.cei.predownload;
import java.io.File;
import java.net.URL;
import com.hyrt.cei.db.DataHelper;
import com.hyrt.cei.ui.phonestudy.PreloadActivity;
import com.hyrt.cei.util.ThreadPoolWrap;
import com.hyrt.cei.vo.Preload;
/**
* 监视下载量,并通知视图更新条目长度
*
*/
public class FileDownloader {
private DataHelper dataHelper;
private Preload preload;
public int waitCheck;
public FileDownloader(DataHelper dataHelper, Preload preload) throws Exception {
waitCheck = 1000;
this.dataHelper = dataHelper;
this.preload = preload;
}
public int download(DownloadProgressListener downloadprogresslistener)
throws Exception {
File file = new File(preload.getLoadLocalPath() + PreloadActivity.FLASH_UNPOSTFIX);
URL url = new URL(preload.getLoadUrl());
DownloadThread dt = new DownloadThread(url, file, preload,dataHelper);
dt.setPriority(7);
DownloadThreadManager.addThread(dt);
ThreadPoolWrap.getThreadPool().executeTask(dt);
while (true) {
dataHelper.updatePreload(preload);
if (preload.getLoading() == 1 && !dt.isStop) {
Thread.sleep(waitCheck);
downloadprogresslistener.onDownloadSize();
if (preload.getLoadFinish()==1) {
return preload.getLoadCurrentByte();
}
} else {
return preload.getLoadCurrentByte();
}
}
}
public Preload getPreload() {
return preload;
}
public void setPreload(Preload preload) {
this.preload = preload;
}
}