package com.openfarmanager.android.filesystem.actions.network; import android.support.v4.app.FragmentManager; import com.dropbox.client2.exception.DropboxException; import com.microsoft.live.LiveOperationException; import com.openfarmanager.android.core.bus.RxBus; import com.openfarmanager.android.core.bus.TaskErrorEvent; import com.openfarmanager.android.core.network.NetworkApi; import com.openfarmanager.android.filesystem.actions.OnActionListener; import com.openfarmanager.android.fragments.BaseFileSystemPanel; import com.openfarmanager.android.model.TaskStatusEnum; import com.openfarmanager.android.model.exeptions.NetworkException; import com.yandex.disk.client.exceptions.WebdavException; import java.io.File; import java.util.ArrayList; import static com.openfarmanager.android.model.TaskStatusEnum.*; /** * @author Vlad Namashko */ public class CreateNewAtNetworkTask extends NetworkActionTask { protected String mDestinationFolder; protected String mName; public CreateNewAtNetworkTask(BaseFileSystemPanel panel, String destinationForlder, String name) { super(panel, new ArrayList<>()); mDestinationFolder = destinationForlder; mName = name; } @Override protected TaskStatusEnum doInBackground(Void... params) { NetworkApi api = getApi(); try { return api.createDirectory(mDestinationFolder, mName) != null ? OK : ERROR_CREATE_DIRECTORY; } catch (DropboxException e) { return createNetworkError(NetworkException.handleNetworkException(e)); } catch (WebdavException e) { return createNetworkError(NetworkException.handleNetworkException(e)); } catch (LiveOperationException e) { return ERROR_CREATE_DIRECTORY; } catch (Exception e) { return ERROR_CREATE_DIRECTORY; } } @Override protected Object getExtra() { return mName; } }