X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/ebbc1793e23f67dc7aa2214a542fa2c037fcf4c2..1d5087d736b823c3ce22c80975e202059c44751c:/src/com/owncloud/android/ui/preview/PreviewImageFragment.java diff --git a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 1516ae8d..1582b6af 100644 --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@ -52,10 +52,10 @@ import com.actionbarsherlock.view.MenuItem; import com.owncloud.android.R; import com.owncloud.android.datamodel.FileDataStorageManager; import com.owncloud.android.datamodel.OCFile; -import com.owncloud.android.lib.network.webdav.WebdavUtils; -import com.owncloud.android.lib.operations.common.OnRemoteOperationListener; -import com.owncloud.android.lib.operations.common.RemoteOperation; -import com.owncloud.android.lib.operations.common.RemoteOperationResult; +import com.owncloud.android.lib.common.network.WebdavUtils; +import com.owncloud.android.lib.common.operations.OnRemoteOperationListener; +import com.owncloud.android.lib.common.operations.RemoteOperation; +import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.operations.RemoveFileOperation; import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.fragment.ConfirmationDialogFragment; @@ -176,8 +176,22 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver()); if (savedInstanceState != null) { if (!mIgnoreFirstSavedState) { - setFile((OCFile)savedInstanceState.getParcelable(PreviewImageFragment.EXTRA_FILE)); + OCFile file = (OCFile)savedInstanceState.getParcelable(PreviewImageFragment.EXTRA_FILE); mAccount = savedInstanceState.getParcelable(PreviewImageFragment.EXTRA_ACCOUNT); + + // Update the file + if (mAccount!= null) { + mStorageManager = new FileDataStorageManager(mAccount, getActivity().getApplicationContext().getContentResolver()); + OCFile updatedFile = mStorageManager.getFileByPath(file.getRemotePath()); + if (updatedFile != null) { + setFile(updatedFile); + } else { + setFile(file); + } + } else { + setFile(file); + } + } else { mIgnoreFirstSavedState = false; } @@ -253,15 +267,10 @@ 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()) { + OCFile file = ((FileActivity) getSherlockActivity()).getFile(); + if (!file.isShareByLink()) { item.setVisible(false); item.setEnabled(false); } else { @@ -301,11 +310,23 @@ public class PreviewImageFragment extends FileFragment implements OnRemoteOper seeDetails(); return true; } + case R.id.action_send_file: { + shareFile(); + return true; + } default: return false; } } + + private void shareFile(){ + Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); + // set MimeType + sharingIntent.setType(getFile().getMimetype()); + sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+getFile().getStoragePath())); + startActivity(Intent.createChooser(sharingIntent, "Share via")); + }