From 2b8588ab0b544f48b5fd263ee9bd41785ce24144 Mon Sep 17 00:00:00 2001 From: masensio Date: Mon, 3 Feb 2014 11:22:39 +0100 Subject: [PATCH] OC-2732: Create 'unshare' option menu for a shared file/folder --- res/menu/file_actions_menu.xml | 3 ++- res/values/strings.xml | 1 + .../android/ui/fragment/FileDetailFragment.java | 4 ++++ .../android/ui/fragment/OCFileListFragment.java | 20 ++++++++++++++++++++ .../android/ui/preview/PreviewImageFragment.java | 19 +++++++++++++++++++ .../android/ui/preview/PreviewMediaFragment.java | 18 ++++++++++++++++++ 6 files changed, 64 insertions(+), 1 deletion(-) diff --git a/res/menu/file_actions_menu.xml b/res/menu/file_actions_menu.xml index dcd451c4..1e78a367 100644 --- a/res/menu/file_actions_menu.xml +++ b/res/menu/file_actions_menu.xml @@ -20,7 +20,8 @@ - + + diff --git a/res/values/strings.xml b/res/values/strings.xml index 7ae67dc1..854a53b6 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -60,6 +60,7 @@ Refresh file File was renamed to %1$s during upload Share link + Unshare link Yes No OK diff --git a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java index 49895260..14562720 100644 --- a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java +++ b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java @@ -310,6 +310,10 @@ public class FileDetailFragment extends FileFragment implements toHide.add(R.id.action_remove_file); } + // Options shareLink + if (!file.isShareByLink()) { + toHide.add(R.id.action_unshare_file); + } MenuItem item = null; for (int i : toHide) { diff --git a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java index 91abe7d1..5cd4a152 100644 --- a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -21,6 +21,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import com.actionbarsherlock.view.Menu; import com.owncloud.android.R; import com.owncloud.android.authentication.AccountUtils; import com.owncloud.android.datamodel.FileDataStorageManager; @@ -352,6 +353,25 @@ public class OCFileListFragment extends ExtendedListFragment implements EditName /** + * {@inheritDoc} + */ + @Override + public void onPrepareOptionsMenu(Menu menu) { + super.onPrepareOptionsMenu(menu); + + List toHide = new ArrayList(); + MenuItem item = null; + for (int i : toHide) { + item = (MenuItem) menu.findItem(i); + if (item != null) { + item.setVisible(false); + item.setEnabled(false); + } + } + } + + + /** * Use this to query the {@link OCFile} that is currently * being displayed by this fragment * @return The currently viewed OCFile diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 8555fa77..e7c497e4 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -266,6 +266,25 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper } + /** + * {@inheritDoc} + */ + @Override + public void onPrepareOptionsMenu(Menu menu) { + super.onPrepareOptionsMenu(menu); + + List toHide = new ArrayList(); + MenuItem item = null; + for (int i : toHide) { + item = (MenuItem) menu.findItem(i); + if (item != null) { + item.setVisible(false); + item.setEnabled(false); + } + } + } + + private void seeDetails() { ((FileFragment.ContainerActivity)getActivity()).showDetails(getFile()); } diff --git a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java index 464ea6db..1de8bb1d 100644 --- a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -324,6 +324,24 @@ public class PreviewMediaFragment extends FileFragment implements return false; } } + + /** + * {@inheritDoc} + */ + @Override + public void onPrepareOptionsMenu(Menu menu) { + super.onPrepareOptionsMenu(menu); + + List toHide = new ArrayList(); + MenuItem item = null; + for (int i : toHide) { + item = (MenuItem) menu.findItem(i); + if (item != null) { + item.setVisible(false); + item.setEnabled(false); + } + } + } private void seeDetails() { -- 2.11.0