package com.rockchip.alexa.jacky.utils;
|
|
import android.content.Context;
|
|
import com.coolerfall.download.DownloadCallback;
|
import com.coolerfall.download.DownloadManager;
|
import com.coolerfall.download.DownloadRequest;
|
import com.coolerfall.download.OkHttpDownloader;
|
import com.coolerfall.download.Priority;
|
|
import java.util.concurrent.TimeUnit;
|
|
/**
|
* Created by cjs on 2017/5/5.
|
*/
|
|
public class HttpDownloader {
|
private Context mContext;
|
private int mDownloadId;
|
private DownloadManager mDownloadManager;
|
|
public HttpDownloader(Context context){
|
mContext = context;
|
mDownloadManager = new DownloadManager.Builder().context(mContext)
|
.downloader(OkHttpDownloader.create())
|
.threadPoolSize(2)
|
.build();
|
}
|
|
public int startDownload(String downloadUrlStr,String destPath,String fileName,DownloadCallback downloadCallback){
|
// prepare download
|
DownloadRequest request = new DownloadRequest.Builder()
|
.url(downloadUrlStr)
|
.retryTime(3)
|
.retryInterval(2, TimeUnit.SECONDS)
|
.progressInterval(1, TimeUnit.SECONDS)
|
.priority(Priority.HIGH)
|
.allowedNetworkTypes(DownloadRequest.NETWORK_WIFI)
|
.destinationFilePath(destPath + fileName)
|
.downloadCallback(downloadCallback)
|
.build();
|
mDownloadId = mDownloadManager.add(request);
|
return mDownloadId;
|
}
|
|
public void cancelTask(){
|
if(mDownloadId != 0){
|
mDownloadManager.cancel(mDownloadId);
|
mDownloadId = 0;
|
}
|
}
|
}
|