X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/59c0d67e6895fc1c99d6a82e4ce6e877e35f2d36..e5492540596256e511c4b00819640e804808764a:/src/com/owncloud/android/ui/activity/FileDisplayActivity.java diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index 093de7d3..90a6f48c 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -21,6 +21,8 @@ package com.owncloud.android.ui.activity; import java.io.File; import java.io.IOException; +import org.apache.commons.httpclient.methods.PostMethod; + import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AuthenticatorException; @@ -80,6 +82,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.operations.CreateFolderOperation; import com.owncloud.android.operations.CreateShareOperation; +import com.owncloud.android.operations.MoveFileOperation; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.operations.RenameFileOperation; import com.owncloud.android.operations.SynchronizeFileOperation; @@ -248,7 +251,7 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { Log_OC.e(TAG, "Initializing Fragments in onAccountChanged.."); initFragmentsWithFile(); if (file.isFolder()) { - startSyncFolderOperation(file); + startSyncFolderOperation(file, false); } } else { @@ -555,7 +558,18 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { } else if (requestCode == ACTION_MOVE_FILES && (resultCode == RESULT_OK || resultCode == MoveActivity.RESULT_OK_AND_MOVE)){ - requestMoveOperation(data, resultCode); + + final Intent fData = data; + final int fResultCode = resultCode; + getHandler().postDelayed( + new Runnable() { + @Override + public void run() { + requestMoveOperation(fData, fResultCode); + } + }, + DELAY_TO_REQUEST_OPERATION_ON_ACTIVITY_RESULTS + ); } } @@ -644,7 +658,8 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { */ private void requestMoveOperation(Intent data, int resultCode) { OCFile folderToMoveAt = (OCFile) data.getParcelableExtra(MoveActivity.EXTRA_CURRENT_FOLDER); - getFileOperationsHelper().moveFile(folderToMoveAt, getCurrentDir()); + OCFile targetFile = (OCFile) data.getParcelableExtra(MoveActivity.EXTRA_TARGET_FILE); + getFileOperationsHelper().moveFile(folderToMoveAt, targetFile); } @Override @@ -1138,7 +1153,7 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { OCFile root = getStorageManager().getFileByPath(OCFile.ROOT_PATH); listOfFiles.listDirectory(root); setFile(listOfFiles.getCurrentFile()); - startSyncFolderOperation(root); + startSyncFolderOperation(root, false); } cleanSecondFragment(); } @@ -1153,7 +1168,7 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { setNavigationListWithFolder(folder); listOfFiles.listDirectory(folder); setFile(listOfFiles.getCurrentFile()); - startSyncFolderOperation(folder); + startSyncFolderOperation(folder, false); } else { Log_OC.e(TAG, "Unexpected null when accessing list fragment"); } @@ -1172,7 +1187,7 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { cleanSecondFragment(); // Sync Folder - startSyncFolderOperation(directory); + startSyncFolderOperation(directory, false); } @@ -1289,7 +1304,7 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { @Override public void onSavedCertificate() { - startSyncFolderOperation(getCurrentDir()); + startSyncFolderOperation(getCurrentDir(), false); } @@ -1332,7 +1347,9 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { } else if (operation instanceof UnshareLinkOperation) { onUnshareLinkOperationFinish((UnshareLinkOperation)operation, result); - } + } else if (operation instanceof MoveFileOperation) { + onMoveFileOperationFinish((MoveFileOperation)operation, result); + } } @@ -1411,12 +1428,13 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { /** - * Updates the view associated to the activity after the finish of an operation trying create a new folder + * Updates the view associated to the activity after the finish of an operation trying to move a + * file. * - * @param operation Creation operation performed. - * @param result Result of the creation. + * @param operation Move operation performed. + * @param result Result of the move operation. */ - private void onCreateFolderOperationFinish(CreateFolderOperation operation, RemoteOperationResult result) { + private void onMoveFileOperationFinish(MoveFileOperation operation, RemoteOperationResult result) { if (result.isSuccess()) { dismissLoadingDialog(); refreshListOfFilesFragment(); @@ -1503,6 +1521,30 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { } } + /** + * Updates the view associated to the activity after the finish of an operation trying create a new folder + * + * @param operation Creation operation performed. + * @param result Result of the creation. + */ + private void onCreateFolderOperationFinish(CreateFolderOperation operation, RemoteOperationResult result) { + if (result.isSuccess()) { + dismissLoadingDialog(); + refreshListOfFilesFragment(); + } else { + dismissLoadingDialog(); + try { + Toast msg = Toast.makeText(FileDisplayActivity.this, + ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()), + Toast.LENGTH_LONG); + msg.show(); + + } catch (NotFoundException e) { + Log_OC.e(TAG, "Error while trying to show fail message " , e); + } + } + } + /** * {@inheritDoc} @@ -1550,7 +1592,7 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { return null; } - public void startSyncFolderOperation(OCFile folder) { + public void startSyncFolderOperation(OCFile folder, boolean ignoreTag) { long currentSyncTime = System.currentTimeMillis(); mSyncInProgress = true; @@ -1560,6 +1602,7 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { currentSyncTime, false, getFileOperationsHelper().isSharedSupported(), + ignoreTag, getStorageManager(), getAccount(), getApplicationContext() @@ -1679,7 +1722,7 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener { if (folder != null) { /*mFile = mContainerActivity.getStorageManager().getFileById(mFile.getFileId()); listDirectory(mFile);*/ - startSyncFolderOperation(folder); + startSyncFolderOperation(folder, true); } } }