public bool AddDownloadTask(string uri, string localPath, int fileSize, OnDownloadProgress onProgress, OnDownloadError onError, OnDownloadFinished onFinshed, OnDownloadBegin onBegin, OnDownloadValidCheck validChecker, bool logError) { if (m_IsDownloading) { Log.e("HttpDownloaderMgr is busy!"); return(false); } if (string.IsNullOrEmpty(uri) == true) { Log.e("uri is empty"); return(false); } if (string.IsNullOrEmpty(localPath) == true) { Log.e("LocalPath is empty"); return(false); } if (onError == null || onFinshed == null) { Log.e("onError & onFinshed should not be null!"); return(false); } Clear(); m_LogError = logError; m_FileSize = fileSize; m_OnProgress = onProgress; m_OnError = onError; m_OnFinished = onFinshed; m_OnDownloadBegin = onBegin; m_OnValidCheck = validChecker; m_Uri = uri; m_SaveFile = localPath; m_IsDownloading = true; m_PreSize = 0; m_LastChangeTime = currentTimeTick; StartCoroutine(StartIEnumeratorTask()); return(true); }
// 添加下载任务,目前只支持一个任务同时进行 public bool AddDownloadTask(string uri, string localPath, OnDownloadProgress onProgress, OnDownloadError onError, OnDownloadFinished onFinshed, OnDownloadBegin onBegin = null) { if (m_IsDownloading) { Log.e("HttpDownloaderMgr is busy!"); return(false); } if (string.IsNullOrEmpty(uri) == true) { Log.e("uri is empty"); return(false); } if (string.IsNullOrEmpty(localPath) == true) { Log.e("LocalPath is empty"); return(false); } if (onError == null || onFinshed == null) { Log.e("onError & onFinshed should not be null!"); return(false); } m_OnProgress = onProgress; m_OnError = onError; m_OnFinished = onFinshed; m_OnDownloadBegin = onBegin; m_Uri = uri; m_SaveFile = localPath; m_TaskCount++; //Log.i("[HttpDownload]about to download new data:" + m_Uri); return(true); }
public void Clear() { if (m_IsDownloading) { return; } if (m_WWW != null) { m_WWW.Dispose(); m_WWW = null; } m_PreSize = 0; m_LastChangeTime = currentTimeTick; m_Event.Clear(); m_OnProgress = null; m_OnError = null; m_OnFinished = null; m_OnDownloadBegin = null; m_OnValidCheck = null; //StopAllCoroutines(); }