package com.openfarmanager.android.filesystem.commands;
import android.widget.Toast;
import com.openfarmanager.android.App;
import com.openfarmanager.android.R;
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.TaskOkAndPostEvent;
import com.openfarmanager.android.fragments.BaseFileSystemPanel;
import com.openfarmanager.android.model.NetworkAccount;
import com.openfarmanager.android.model.TaskStatusEnum;
import com.openfarmanager.android.view.ToastNotification;
/**
* @author Vlad Namashko
*/
public class CreateBookmarkCommand implements AbstractCommand {
private BaseFileSystemPanel mPanel;
private final String mPath;
private final String mLabel;
private final NetworkAccount mAccount;
public CreateBookmarkCommand(BaseFileSystemPanel panel, String path, String label, NetworkAccount account) {
mPanel = panel;
mPath = path;
mLabel = label;
mAccount = account;
}
@Override
public void execute(Object... args) {
TaskStatusEnum status = App.sInstance.getBookmarkManager().createBookmark(mPath,
mLabel, mAccount);
if (status == TaskStatusEnum.OK) {
RxBus.getInstance().postEvent(new TaskOkAndPostEvent(mPanel.getPanelLocation(),
() -> ToastNotification.makeText(App.sInstance.getApplicationContext(),
App.sInstance.getString(R.string.bookmark_created), Toast.LENGTH_SHORT).show()));
} else {
RxBus.getInstance().postEvent(new TaskErrorEvent(mPanel.getPanelLocation()).setStatus(status));
}
}
}