public void delDownTask(DownTask downTask) { // TODO Auto-generated method stub if (getPlayTaskUrl() != null && downTask.getMovieUrl().equals(getPlayTaskUrl())) return; // 正在播放不能删 updateDownTaskNum(false); downTask.delete(); }
public void addJob(DownLoadInfo downInfo) { for (DownTask downTask : mDownTaskList) if (downTask.getMovieUrl().equals(downInfo.getDownUrl())) return; DownTask downTask = new DownTask(downInfo); mDownTaskList.add(downTask); startDown(downTask); }
/** 暂停当前正在下载的任务 */ public void pauseLoadingTask(String urlstr) { updateDownTaskNum(false); for (DownTask task : mDownTaskList) { if (task.getDownLoadInfo().getDownState() == DownTask.TASK_DOWNLOADING) { if (!task.getDownLoadInfo().getDownUrl().equals(urlstr)) // 排除当前播放电影下载任务 task.waiting(); } } }
/** 网络引起全部暂停 */ public void pauseAllTaskByError() { for (DownTask temp : mDownTaskList) { if (temp.getDownLoadInfo().getDownState() == DownTask.TASK_WAITING_DOWNLOAD || temp.getDownLoadInfo().getDownState() == DownTask.TASK_DOWNLOADING || temp.getDownLoadInfo().getDownState() == DownTask.TASK_RESUME_DOWNLOAD) { temp.pauseErr(); } } }
/** 自动恢复下载状态 */ public void ResumeAllTask() { for (DownTask temp : mDownTaskList) { if (temp.getDownLoadInfo().getDownState() == DownTask.TASK_WIFI_ERROR) { temp.getDownLoadInfo().setDownState(DownTask.TASK_RESUME_DOWNLOAD); temp.waiting(); } } autoDown(); }
/** 开启下个等待下载任务 */ private void startDown(DownTask task) { if (canActivite()) { task.getDownLoadInfo().setDownState(DownTask.TASK_DOWNLOADING); task.start(); } else { task.getDownLoadInfo().setDownState(DownTask.TASK_WAITING_DOWNLOAD); // task.waiting(); } }
public void delDownTask(String uri) { // TODO Auto-generated method stub DownTask downTask = getTaskByUrl(uri); if (downTask == null) { return; } updateDownTaskNum(false); downTask.delete(); mDownTaskList.remove(downTask); }
public void refreshFragment() { DownTask task = new DownTask(); if (NetWorkUtil.isNetworkAvailable(getActivity())) { task.execute("http://jwcweb.jnu.edu.cn/index-new.asp"); } else { setdefaultdata(); Toast.makeText(getActivity(), "无网络连接", Toast.LENGTH_LONG).show(); } }
/** 更新未下载数量标识 */ private void updateDownTaskNum(boolean isFirst) { if (mHandler == null || mDownTaskList == null) return; int num = 0; for (DownTask task : mDownTaskList) { if (task.getDownLoadInfo().getDownState() != DownTask.TASK_FINISHED) { num++; } } if (isFirst && num == 0) return; Message message = new Message(); message.what = PipiPlayerConstant.BadgeView; message.obj = num; mHandler.sendMessage(message); }
public List<String> getDownTaskListHashID() { // 获取所有hashid List<String> HashIDList = new ArrayList<String>(); // 将 for (DownTask downTask : mDownTaskList) { if (!MD5Util.getFromHttpfilm(downTask.getMovieUrl())) { String ppfilmHashID = MD5Util.getMD5HashIDByUrl(downTask.getMovieUrl()); if (ppfilmHashID != null) HashIDList.add(ppfilmHashID); else { return null; // 皮皮资源验证失败其中一个,则无法判断要删除的是哪个,中断操作 } } } // 最近播放影片hashid String preMovie = sharedPreferences.getString("preMovie", null); // 上次影片 if (preMovie != null && !MD5Util.getFromHttpfilm(preMovie)) { String ppfilmHashID = MD5Util.getMD5HashIDByUrl(preMovie); if (ppfilmHashID != null) HashIDList.add(ppfilmHashID); else return null; } return HashIDList; }
/** 判断当前下载数是否超过下载限制数 */ private boolean canActivite() { updateDownTaskNum(false); if (mDownTaskList.size() < MAX_THREAD_NUMS + 1) { return true; } else { int num = 0; for (DownTask task : mDownTaskList) { if (task.getDownLoadInfo().getDownState() == DownTask.TASK_DOWNLOADING || task.getDownLoadInfo().getDownState() == DownTask.TASK_FileMerge) { // 合并完在开启下个下载 num++; if (num >= MAX_THREAD_NUMS) { break; } } } if (num < MAX_THREAD_NUMS) { return true; } else { return false; } } }
public String startPlayTask2(final String ppfilmURL) { new Thread( new Runnable() { // 删除缓存 public void run() { // TODO Auto-generated method stub FileUtils.deleteMovieFile(ppfilmURL); } }) .start(); for (DownTask downTask : mDownTaskList) { if (downTask.getMovieUrl().equals(ppfilmURL)) { if (downTask.getDownLoadInfo().getDownState() == DownTask.TASK_FINISHED) { // 下载完成 播放本地文件 String localfilename = downTask.getDownLoadInfo().getDownPath(); try { File file = new File(localfilename); if (file != null && file.exists()) { // 数据库存在,在检查文件是否被意外删除掉 return "file://" + localfilename; } else break; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } } } } // 销毁上一次播放下载任务 if (playTask != null) playTask = null; // 开始播放下载任务 playTask = new PlayTask(ppfilmURL); playTask.start(); return playTask.getppfilmstr(); }
/** 自动开启任务判定的方法 */ public void autoDown() { for (DownTask temp : mDownTaskList) { Boolean canActive = canActivite(); if (!canActive) return; // 不存在将要下载的 if (temp.getDownLoadInfo().getDownState() == DownTask.TASK_WAITING_DOWNLOAD) { temp.getDownLoadInfo().setDownState(DownTask.TASK_DOWNLOADING); temp.start(); break; } if (canActive && temp.getDownLoadInfo().getDownState() == DownTask.TASK_RESUME_DOWNLOAD) { temp.getDownLoadInfo().setDownState(DownTask.TASK_RESUME_DOWNLOAD); temp.resume(); break; } } }
public boolean isExsitJob(String uri) { for (DownTask downTask : mDownTaskList) if (downTask.getMovieUrl().equals(uri)) return true; return false; }
public void pauseDownTasks() { for (DownTask downTask : mDownTaskList) { downTask.getDownLoadInfo().setDownState(DownTask.TASK_PAUSE_DOWNLOAD); } }
public void pauseDownTask(String uri) { // TODO Auto-generated method stub DownTask downTask = getTaskByUrl(uri); downTask.getDownLoadInfo().setDownState(DownTask.TASK_PAUSE_DOWNLOAD); }
public void stopDownTasks() { for (DownTask downTask : mDownTaskList) { downTask.stop(); } }
public void stopUpdate() { for (DownTask task : mDownTaskList) { task.setHandler(null); } }
// 是否所有文件已完成 public boolean isAllDownTaskFinish() { for (DownTask downTask : mDownTaskList) if (downTask.getDownLoadInfo().getDownState() != DownTask.TASK_FINISHED) return false; return true; }