/** Pause all task */ public void pauseAll() { FileDownloadEventPool.getImpl().shutdownSendPool(); final BaseDownloadTask[] downloadList = FileDownloadList.getImpl().copy(); synchronized (pauseLock) { for (BaseDownloadTask baseDownloadTask : downloadList) { baseDownloadTask.pause(); } } // double check, for case: File Download progress alive but ui progress has died and relived, // so FileDownloadList not always contain all running task exactly. if (FileDownloadServiceUIGuard.getImpl().isConnected()) { FileDownloadServiceUIGuard.getImpl().pauseAllTasks(); } else { if (pauseAllRunnable == null) { pauseAllRunnable = new Runnable() { @Override public void run() { FileDownloadServiceUIGuard.getImpl().pauseAllTasks(); } }; } FileDownloadServiceUIGuard.getImpl() .bindStartByContext(FileDownloadHelper.getAppContext(), pauseAllRunnable); } }
/** * Unbind & stop ':filedownloader' process manually(Do not need, will unbind & stop automatically * by System if leave unused period) */ public void unBindService() { if (isServiceConnected()) { FileDownloadServiceUIGuard.getImpl().unbindByContext(FileDownloadHelper.getAppContext()); } }
/** * Bind & start ':filedownloader' process manually(Do not need, will bind & start automatically by * Download Engine if real need) */ public void bindService() { if (!isServiceConnected()) { FileDownloadServiceUIGuard.getImpl().bindStartByContext(FileDownloadHelper.getAppContext()); } }