/** * Copyright 2010 Eric Taix * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ package com.bigpupdev.synodroid.action; import com.bigpupdev.synodroid.server.SynoServer; import com.bigpupdev.synodroid.protocol.ResponseHandler; import com.bigpupdev.synodroid.R; import com.bigpupdev.synodroid.data.Task; import com.bigpupdev.synodroid.data.TaskStatus; /** * Delete a torrent * * @author Eric Taix (eric.taix at gmail dot com) */ public class DeleteTaskAction implements SynoAction { // The task to resume private Task task; private boolean requireConfirm = false; public DeleteTaskAction(Task taskP) { task = taskP; if (TaskStatus.getOnGoingTasks().contains(taskP.status)){ requireConfirm = true; } } /* * (non-Javadoc) * * @see com.bigpupdev.synodroid.common.SynoAction#execute(com.bigpupdev.synodroid.ds.TorrentListActivity, com.bigpupdev.synodroid.common.SynoServer) */ public void execute(ResponseHandler handlerP, SynoServer serverP) throws Exception { serverP.getDSMHandlerFactory().getDSHandler().delete(task.getStrID()); } /* * (non-Javadoc) * * @see com.bigpupdev.synodroid.common.SynoAction#getName() */ public String getName() { if (task.taskId == -1) { return "Removing all completed tasks..."; } return "Removing task " + task.taskId; } /* * (non-Javadoc) * * @see com.bigpupdev.synodroid.common.SynoAction#getToastId() */ public int getToastId() { if (task.taskId == -1) { return R.string.action_clearall; } return R.string.action_deleting; } /* * (non-Javadoc) * * @see com.bigpupdev.synodroid.ds.action.TaskAction#requireConfirm() */ public boolean requireConfirm() { return this.requireConfirm; } /* * (non-Javadoc) * * @see com.bigpupdev.synodroid.common.SynoAction#isToastable() */ public boolean isToastable() { return true; } /* * (non-Javadoc) * * @see com.bigpupdev.synodroid.ds.action.TaskAction#getTask() */ public Task getTask() { return task; } }