From: masensio Date: Wed, 5 Feb 2014 11:52:55 +0000 (+0100) Subject: OC-2834: Access to unshare link from PreviewMediaFragment X-Git-Tag: oc-android-1.5.5~35^2~25 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/3f701c5bb8a072f11cc0bdffc590a72ff9750662?hp=--cc OC-2834: Access to unshare link from PreviewMediaFragment --- 3f701c5bb8a072f11cc0bdffc590a72ff9750662 diff --git a/res/values/strings.xml b/res/values/strings.xml index 0ecaadf4..b86d6085 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -250,4 +250,5 @@ Sorry, sharing is not enabled on your server. Please contact your administrator. Unable to share this file or folder. Please, make sure it exists An error occurred while trying to share this file or folder + An error occurred while trying to unshare this file or folder diff --git a/src/com/owncloud/android/ui/activity/FileActivity.java b/src/com/owncloud/android/ui/activity/FileActivity.java index 3c8a2011..fac275ca 100644 --- a/src/com/owncloud/android/ui/activity/FileActivity.java +++ b/src/com/owncloud/android/ui/activity/FileActivity.java @@ -43,6 +43,7 @@ import com.owncloud.android.lib.operations.common.RemoteOperation; import com.owncloud.android.lib.operations.common.RemoteOperationResult; import com.owncloud.android.lib.operations.common.RemoteOperationResult.ResultCode; import com.owncloud.android.operations.CreateShareOperation; +import com.owncloud.android.operations.UnshareLinkOperation; import com.owncloud.android.ui.dialog.LoadingDialog; import com.owncloud.android.utils.Log_OC; @@ -353,7 +354,11 @@ public class FileActivity extends SherlockFragmentActivity implements OnRemoteOp Log_OC.d(TAG, "Received result of operation in FileActivity - common behaviour for all the FileActivities "); if (operation instanceof CreateShareOperation) { onCreateShareOperationFinish((CreateShareOperation) operation, result); - } + + } else if (operation instanceof UnshareLinkOperation) { + onUnshareLinkOperationFinish((UnshareLinkOperation)operation, result); + + } } private void onCreateShareOperationFinish(CreateShareOperation operation, RemoteOperationResult result) { @@ -362,7 +367,7 @@ public class FileActivity extends SherlockFragmentActivity implements OnRemoteOp Intent sendIntent = operation.getSendIntent(); startActivity(sendIntent); - } else if (result.getCode() == ResultCode.FILE_NOT_FOUND) { // Error --> SHARE_NOT_FOUND + } else if (result.getCode() == ResultCode.SHARE_NOT_FOUND) { // Error --> SHARE_NOT_FOUND Toast t = Toast.makeText(this, getString(R.string.share_link_file_no_exist), Toast.LENGTH_LONG); t.show(); } else { // Generic error @@ -373,6 +378,17 @@ public class FileActivity extends SherlockFragmentActivity implements OnRemoteOp } + private void onUnshareLinkOperationFinish(UnshareLinkOperation operation, RemoteOperationResult result) { + dismissLoadingDialog(); + + if (!result.isSuccess()){ // Generic error + // Show a Message, operation finished without success + Toast t = Toast.makeText(this, getString(R.string.unshare_link_file_error), Toast.LENGTH_LONG); + t.show(); + } + + } + /** * Show loading dialog */ diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index 5691401d..55b89bd6 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -1315,24 +1315,20 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa } - private void onUnshareLinkOperationFinish(UnshareLinkOperation operation, RemoteOperationResult result) { - if (result.getCode() == ResultCode.FILE_NOT_FOUND) { - // Show a Message - Toast t = Toast.makeText(this, getString(R.string.share_link_file_no_exist), Toast.LENGTH_LONG); - t.show(); + + private void onCreateShareOperationFinish(CreateShareOperation operation, RemoteOperationResult result) { + if (result.isSuccess()) { + refeshListOfFilesFragment(); } - - refeshListOfFilesFragment(); - - dismissLoadingDialog(); } - private void onCreateShareOperationFinish(CreateShareOperation operation, RemoteOperationResult result) { + + private void onUnshareLinkOperationFinish(UnshareLinkOperation operation, RemoteOperationResult result) { if (result.isSuccess()) { refeshListOfFilesFragment(); } } - + /** * Updates the view associated to the activity after the finish of an operation trying to remove a diff --git a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java index 9215f7dd..60ce314c 100644 --- a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -316,6 +316,10 @@ public class PreviewMediaFragment extends FileFragment implements shareFileWithLink(); return true; } + case R.id.action_unshare_file: { + unshareFileWithLink(); + return true; + } case R.id.action_open_file_with: { openFile(); return true; @@ -334,6 +338,8 @@ public class PreviewMediaFragment extends FileFragment implements } } + + /** * {@inheritDoc} */ @@ -342,6 +348,11 @@ public class PreviewMediaFragment extends FileFragment implements super.onPrepareOptionsMenu(menu); } + private void unshareFileWithLink() { + stopPreview(false); + FileActivity activity = (FileActivity)((FileFragment.ContainerActivity)getActivity()); + activity.getFileOperationsHelper().unshareFileWithLink(getFile(), activity); + } private void shareFileWithLink() { stopPreview(false);