X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/9cdaddefa33a73b15e0845e7db6111b0d96a153c..c4f6cac7659ddfce23a51027e7a41bb99e6e7c0b:/src/com/owncloud/android/ui/activity/FileActivity.java diff --git a/src/com/owncloud/android/ui/activity/FileActivity.java b/src/com/owncloud/android/ui/activity/FileActivity.java index 92452395..249ae8df 100644 --- a/src/com/owncloud/android/ui/activity/FileActivity.java +++ b/src/com/owncloud/android/ui/activity/FileActivity.java @@ -67,7 +67,9 @@ import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode; import com.owncloud.android.lib.common.utils.Log_OC; -import com.owncloud.android.operations.CreateShareOperation; +import com.owncloud.android.operations.CreateShareViaLinkOperation; +import com.owncloud.android.operations.CreateShareWithShareeOperation; +import com.owncloud.android.operations.GetSharesForFileOperation; import com.owncloud.android.operations.SynchronizeFileOperation; import com.owncloud.android.operations.SynchronizeFolderOperation; import com.owncloud.android.operations.UnshareOperation; @@ -105,7 +107,7 @@ public class FileActivity extends AppCompatActivity private static final String KEY_TRY_SHARE_AGAIN = "TRY_SHARE_AGAIN"; private static final String KEY_ACTION_BAR_TITLE = "ACTION_BAR_TITLE"; - protected static final long DELAY_TO_REQUEST_OPERATION_ON_ACTIVITY_RESULTS = 200; + protected static final long DELAY_TO_REQUEST_OPERATIONS_LATER = 200; /** OwnCloud {@link Account} where the main {@link OCFile} handled by the activity is located.*/ @@ -711,6 +713,8 @@ public class FileActivity extends AppCompatActivity mFileOperationsHelper.setOpIdWaitingFor(Long.MAX_VALUE); + dismissLoadingDialog(); + if (!result.isSuccess() && ( result.getCode() == ResultCode.UNAUTHORIZED || result.isIdPRedirection() || @@ -728,18 +732,37 @@ public class FileActivity extends AppCompatActivity } mTryShareAgain = false; - } else if (operation instanceof CreateShareOperation) { - onCreateShareOperationFinish((CreateShareOperation) operation, result); + } else if (operation == null || + operation instanceof CreateShareWithShareeOperation || + operation instanceof UnshareOperation || + operation instanceof SynchronizeFolderOperation + ) { + if (result.isSuccess()) { + updateFileFromDB(); + + } else if (result.getCode() != ResultCode.CANCELLED) { + Toast t = Toast.makeText(this, + ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()), + Toast.LENGTH_LONG); + t.show(); + } - } else if (operation instanceof UnshareOperation) { - onUnshareLinkOperationFinish((UnshareOperation)operation, result); + } else if (operation instanceof CreateShareViaLinkOperation) { + onCreateShareViaLinkOperationFinish((CreateShareViaLinkOperation) operation, result); - } else if (operation instanceof SynchronizeFolderOperation) { - onSynchronizeFolderOperationFinish((SynchronizeFolderOperation)operation, result); + } else if (operation instanceof SynchronizeFileOperation) { + onSynchronizeFileOperationFinish((SynchronizeFileOperation) operation, result); - }else if (operation instanceof SynchronizeFileOperation) { - onSynchronizeFileOperationFinish((SynchronizeFileOperation)operation, result); + } else if (operation instanceof GetSharesForFileOperation) { + if (result.isSuccess()) { + updateFileFromDB(); + } else if (result.getCode() != ResultCode.SHARE_NOT_FOUND) { + Toast t = Toast.makeText(this, + ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()), + Toast.LENGTH_LONG); + t.show(); + } } } @@ -755,14 +778,13 @@ public class FileActivity extends AppCompatActivity - private void onCreateShareOperationFinish(CreateShareOperation operation, - RemoteOperationResult result) { - dismissLoadingDialog(); + private void onCreateShareViaLinkOperationFinish(CreateShareViaLinkOperation operation, + RemoteOperationResult result) { if (result.isSuccess()) { mTryShareAgain = false; updateFileFromDB(); - Intent sendIntent = operation.getSendIntent(); + Intent sendIntent = operation.getSendIntentWithSubject(this); startActivity(sendIntent); } else { // Detect Failure (403) --> needs Password @@ -788,34 +810,8 @@ public class FileActivity extends AppCompatActivity } } - - private void onUnshareLinkOperationFinish(UnshareOperation operation, - RemoteOperationResult result) { - dismissLoadingDialog(); - - if (result.isSuccess()){ - updateFileFromDB(); - - } else { - Toast t = Toast.makeText(this, ErrorMessageAdapter.getErrorCauseMessage(result, - operation, getResources()), Toast.LENGTH_LONG); - t.show(); - } - } - - private void onSynchronizeFolderOperationFinish( - SynchronizeFolderOperation operation, RemoteOperationResult result - ) { - if (!result.isSuccess() && result.getCode() != ResultCode.CANCELLED){ - Toast t = Toast.makeText(this, ErrorMessageAdapter.getErrorCauseMessage(result, - operation, getResources()), Toast.LENGTH_LONG); - t.show(); - } - } - private void onSynchronizeFileOperationFinish(SynchronizeFileOperation operation, RemoteOperationResult result) { - dismissLoadingDialog(); OCFile syncedFile = operation.getLocalFile(); if (!result.isSuccess()) { if (result.getCode() == ResultCode.SYNC_CONFLICT) {