/** * This method removes listener from task when service disconnected. * * @param activityName name of activity, which the task attached to */ public void disconnected(String activityName) { LogUtils.d(TAG, "disconnected,activityName = " + activityName); BaseAsyncTask task = getActivityInfo(activityName).getTask(); if (task != null) { task.removeListener(); } }
/** * This method lists files of certain directory by starting a new ListFileTask. * * @param activityName name of activity, which the ListFileTask attached to * @param path the path of certain directory * @param listener listener of the ListFileTask */ public void listFiles(String activityName, String path, OperationEventListener listener) { LogUtils.d(TAG, "listFiles,activityName = " + activityName + ",path = " + path); /*if (isBusy(activityName)) { LogUtils.d(TAG, "listFiles,task is busy. "); listener.onTaskResult(OperationEventListener.ERROR_CODE_BUSY); } else {*/ if (isBusy(activityName)) { LogUtils.d(TAG, "listFiles, cancel other background task..."); BaseAsyncTask task = getActivityInfo(activityName).getTask(); if (task != null) { task.removeListener(); task.cancel(true); } } LogUtils.d(TAG, "listFiles,do list."); FileInfoManager fileInfoManager = getActivityInfo(activityName).getFileInfoManager(); int filterType = getActivityInfo(activityName).getFilterType(); if (fileInfoManager != null) { LogUtils.d(TAG, "listFiles fiterType = " + filterType); BaseAsyncTask task = new ListFileTask(getApplicationContext(), fileInfoManager, listener, path, filterType); getActivityInfo(activityName).setTask(task); task.execute(); } // } }