package com.openfarmanager.android.filesystem.commands;
import com.openfarmanager.android.core.AbstractCommand;
import com.openfarmanager.android.core.bus.RxBus;
import com.openfarmanager.android.core.bus.TaskErrorEvent;
import com.openfarmanager.android.core.bus.TaskOkEvent;
import com.openfarmanager.android.filesystem.actions.RenameTask;
import com.openfarmanager.android.fragments.MainPanel;
import com.openfarmanager.android.model.TaskStatusEnum;
import java.io.File;
/**
* @author Vlad Namashko
*/
public class RenameCommand implements AbstractCommand {
private MainPanel mPanel;
private String mDestinationFileName;
private File mLastSelectedFile;
public RenameCommand(MainPanel panel, String destinationFileName, File lastSelectedFile) {
mPanel = panel;
mDestinationFileName = destinationFileName;
mLastSelectedFile = lastSelectedFile;
}
@Override
public void execute(Object... args) {
TaskStatusEnum status = new RenameTask(mLastSelectedFile, mDestinationFileName).execute();
if (status == TaskStatusEnum.OK) {
RxBus.getInstance().postEvent(new TaskOkEvent(mPanel.getPanelLocation()));
} else {
RxBus.getInstance().postEvent(new TaskErrorEvent(mPanel.getPanelLocation()).setStatus(status));
}
}
}