From: masensio Date: Mon, 10 Feb 2014 08:36:46 +0000 (+0100) Subject: OC-2880: Fix bug: In the detail view, changing the orientation of the device and... X-Git-Tag: oc-android-1.5.5~48^2~21 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/15309cac8b8fa0bca450ef0cde2e00f922fcb8dd?ds=inline;hp=-c OC-2880: Fix bug: In the detail view, changing the orientation of the device and unsharing, menu is not refreshing --- 15309cac8b8fa0bca450ef0cde2e00f922fcb8dd diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index e4c853e8..0753525a 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -188,6 +188,11 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa mRightFragmentContainer = findViewById(R.id.right_fragment_container); if (savedInstanceState == null) { createMinFragments(); + } else { + Log_OC.d(TAG, "Init the secondFragment again"); + if (mDualPane) { + initFragmentsWithFile(); + } } // Action bar setup @@ -280,7 +285,7 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa transaction.add(R.id.left_fragment_container, listOfFiles, TAG_LIST_OF_FILES); transaction.commit(); } - + private void initFragmentsWithFile() { if (getAccount() != null && getFile() != null) { /// First fragment @@ -1343,6 +1348,10 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private void onCreateShareOperationFinish(CreateShareOperation operation, RemoteOperationResult result) { if (result.isSuccess()) { + OCFile file = getStorageManager().getFileByPath(getFile().getRemotePath()); + if (file != null) { + setFile(file); + } refreshShowDetails(); refeshListOfFilesFragment(); } @@ -1351,6 +1360,10 @@ OCFileListFragment.ContainerActivity, FileDetailFragment.ContainerActivity, OnNa private void onUnshareLinkOperationFinish(UnshareLinkOperation operation, RemoteOperationResult result) { if (result.isSuccess()) { + OCFile file = getStorageManager().getFileByPath(getFile().getRemotePath()); + if (file != null) { + setFile(file); + } refreshShowDetails(); refeshListOfFilesFragment(); } else if (result.getCode() == ResultCode.SHARE_NOT_FOUND) { diff --git a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java index 310da9cf..fb5b6a92 100644 --- a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java +++ b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java @@ -186,6 +186,10 @@ public class FileDetailFragment extends FileFragment implements super.onActivityCreated(savedInstanceState); if (mAccount != null) { mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver()); + OCFile file = mStorageManager.getFileByPath(getFile().getRemotePath()); + if (file != null) { + setFile(file); + } } } @@ -314,6 +318,8 @@ public class FileDetailFragment extends FileFragment implements // Options shareLink if (!file.isShareByLink()) { toHide.add(R.id.action_unshare_file); + } else { + toShow.add(R.id.action_unshare_file); } MenuItem item = null; diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 1516ae8d..bb4f165e 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -253,12 +253,6 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper public void onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); - // Trick to update the file - OCFile file = ((PreviewImageActivity) getActivity()).getStorageManager().getFileByPath(getFile().getRemotePath()); - if (file!= null) { - setFile(file); - } - MenuItem item = menu.findItem(R.id.action_unshare_file); // Options shareLink if (!getFile().isShareByLink()) { diff --git a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java index f83e1ab0..38251d9f 100644 --- a/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewMediaFragment.java @@ -313,11 +313,14 @@ public class PreviewMediaFragment extends FileFragment implements public void onPrepareOptionsMenu(Menu menu) { super.onPrepareOptionsMenu(menu); + MenuItem item = menu.findItem(R.id.action_unshare_file); // Options shareLink - if (!getFile().isShareByLink()) { - MenuItem item = menu.findItem(R.id.action_unshare_file); + if (!getFile().isShareByLink()) { item.setVisible(false); item.setEnabled(false); + } else { + item.setVisible(true); + item.setEnabled(true); } }