From: masensio Date: Mon, 17 Feb 2014 07:45:52 +0000 (+0100) Subject: Merge branch 'develop' into send_file_pr311_with_develop X-Git-Tag: oc-android-1.5.5~22^2~27 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/99686805e16c9891bb68c0ae4e7478913e16270e?hp=-c Merge branch 'develop' into send_file_pr311_with_develop --- 99686805e16c9891bb68c0ae4e7478913e16270e diff --combined res/menu/file_actions_menu.xml index 73adda71,05722063..986ce3ed --- a/res/menu/file_actions_menu.xml +++ b/res/menu/file_actions_menu.xml @@@ -20,7 -20,8 +20,8 @@@ - + + @@@ -28,6 -29,6 +29,6 @@@ - + diff --combined res/values-de-rCH/strings.xml index f09e75c8,5693825a..db98bf62 --- a/res/values-de-rCH/strings.xml +++ b/res/values-de-rCH/strings.xml @@@ -10,7 -10,7 +10,7 @@@ Ordner anlegen Einstellungen Details - Datei Senden - Freigeben ++ Freigeben Allgemein Mehr Konten diff --combined res/values-de-rDE/strings.xml index 64b43cbe,494e22cc..7943ca7e --- a/res/values-de-rDE/strings.xml +++ b/res/values-de-rDE/strings.xml @@@ -10,7 -10,7 +10,7 @@@ Ordner anlegen Einstellungen Details - Datei senden - Teilen ++ Teilen Allgemein Mehr Konten @@@ -237,5 -237,6 +237,6 @@@ Entschuldigung, Freigaben sind auf Ihrem Server nicht aktiviert. Bitte kontaktieren Sie Ihren Administrator. Die Freigabe der Datei oder des Ordners ist nicht möglich. Bitte stellen Sie sicher, dass diese existiert. Es ist ein Fehler beim Freigeben der Datei oder des Ordners aufgetreten. + Das Entfernen der Freigabe für die Datei oder den Ordner ist nicht möglich. Diese existieren nicht. Es ist ein Fehler beim Entfernen der Freigabe für diese Datei oder den Ordner aufgetreten. diff --combined res/values-de/strings.xml index 95d370d7,c564a519..7fe82aa7 --- a/res/values-de/strings.xml +++ b/res/values-de/strings.xml @@@ -10,7 -10,7 +10,7 @@@ Ordner anlegen Einstellungen Details - Datei Senden - Teilen ++ Teilen Allgemein Mehr Konten @@@ -237,5 -237,6 +237,6 @@@ Entschuldigung, Freigaben sind auf Deinem Server nicht aktiviert. Bitte kontaktiere Deinen Administrator. Die Freigabe der Datei oder des Ordners ist nicht möglich. Bitte stelle sicher, dass diese existiert. Es ist ein Fehler beim Freigeben der Datei oder des Ordners aufgetreten. + Das Entfernen der Freigabe für die Datei oder den Ordner ist nicht möglich. Diese existieren nicht. Es ist ein Fehler beim Entfernen der Freigabe für diese Datei oder den Ordner aufgetreten. diff --combined res/values/strings.xml index 601a703d,6c392b24..822cb2a8 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@@ -11,7 -11,7 +11,7 @@@ Create directory Settings Details - Share + Send General More Accounts @@@ -250,7 -250,6 +250,8 @@@ 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 + Unable to unshare this file or folder. It does not exist. An error occurred while trying to unshare this file or folder + + Send diff --combined src/com/owncloud/android/ui/fragment/OCFileListFragment.java index d0f62aed,5780e58a..5c6817e3 --- a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java @@@ -222,7 -222,7 +222,7 @@@ public class OCFileListFragment extend toHide.add(R.id.action_cancel_upload); toHide.add(R.id.action_sync_file); toHide.add(R.id.action_see_details); - toHide.add(R.id.action_share_file); + toHide.add(R.id.action_send_file); if ( mContainerActivity.getFileDownloaderBinder().isDownloading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile) || mContainerActivity.getFileUploaderBinder().isUploading(AccountUtils.getCurrentOwnCloudAccount(getActivity()), targetFile) ) { toDisable.add(R.id.action_rename_file); @@@ -259,6 -259,11 +259,11 @@@ toHide.add(R.id.action_cancel_upload); } } + + // Options shareLink + if (!targetFile.isShareByLink()) { + toHide.add(R.id.action_unshare_file); + } for (int i : toHide) { item = menu.findItem(i); @@@ -284,12 -289,17 +289,17 @@@ public boolean onContextItemSelected (MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); mTargetFile = (OCFile) mAdapter.getItem(info.position); - switch (item.getItemId()) { + switch (item.getItemId()) { case R.id.action_share_file: { FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); activity.getFileOperationsHelper().shareFileWithLink(mTargetFile, activity); return true; } + case R.id.action_unshare_file: { + FileDisplayActivity activity = (FileDisplayActivity) getSherlockActivity(); + activity.getFileOperationsHelper().unshareFileWithLink(mTargetFile, activity); + return true; + } case R.id.action_rename_file: { String fileName = mTargetFile.getFileName(); int extensionStart = mTargetFile.isFolder() ? -1 : fileName.lastIndexOf("."); @@@ -351,19 -361,19 +361,19 @@@ ((FileFragment.ContainerActivity)getActivity()).showDetails(mTargetFile); return true; } - case R.id.action_share_file: { + case R.id.action_send_file: { Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); // set MimeType sharingIntent.setType(mTargetFile.getMimetype()); - sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://"+mTargetFile.getStoragePath())); - startActivity(Intent.createChooser(sharingIntent, "Share via")); + sharingIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + mTargetFile.getStoragePath())); + startActivity(Intent.createChooser(sharingIntent, getResources().getString(R.string.send_file_title_intent))); return true; } default: return super.onContextItemSelected(item); } } - + /** * Use this to query the {@link OCFile} that is currently @@@ -432,7 -442,7 +442,7 @@@ * @param file */ public void onBrowsedDownTo(OCFile folder); - + public void startDownloadForPreview(OCFile file); public void startMediaPreview(OCFile file, int i, boolean b); diff --combined src/com/owncloud/android/ui/preview/PreviewImageFragment.java index 84cdcc6b,88f40b82..80d5d1ed --- a/src/com/owncloud/android/ui/preview/PreviewImageFragment.java +++ b/src/com/owncloud/android/ui/preview/PreviewImageFragment.java @@@ -176,8 -176,22 +176,22 @@@ public class PreviewImageFragment exten 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; } @@@ -230,6 -244,11 +244,11 @@@ toHide.add(R.id.action_cancel_upload); toHide.add(R.id.action_download_file); toHide.add(R.id.action_rename_file); // by now + + // Options shareLink + if (!getFile().isShareByLink()) { + toHide.add(R.id.action_unshare_file); + } for (int i : toHide) { item = menu.findItem(i); @@@ -241,6 -260,27 +260,27 @@@ } + /** + * {@inheritDoc} + */ + @Override + public void onPrepareOptionsMenu(Menu menu) { + super.onPrepareOptionsMenu(menu); + + MenuItem item = menu.findItem(R.id.action_unshare_file); + // Options shareLink + OCFile file = ((FileActivity) getSherlockActivity()).getFile(); + if (!file.isShareByLink()) { + item.setVisible(false); + item.setEnabled(false); + } else { + item.setVisible(true); + item.setEnabled(true); + } + + } + + /** * {@inheritDoc} @@@ -253,6 -293,11 +293,11 @@@ act.getFileOperationsHelper().shareFileWithLink(getFile(), act); return true; } + case R.id.action_unshare_file: { + FileActivity act = (FileActivity)getSherlockActivity(); + act.getFileOperationsHelper().unshareFileWithLink(getFile(), act); + return true; + } case R.id.action_open_file_with: { openFile(); return true; @@@ -265,8 -310,8 +310,8 @@@ seeDetails(); return true; } - case R.id.action_share_file: { - shareFile(); + case R.id.action_send_file: { + sendFile(); return true; } @@@ -275,15 -320,16 +320,16 @@@ } } - private void shareFile(){ + private void sendFile(){ 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")); + startActivity(Intent.createChooser(sharingIntent, getResources().getString(R.string.send_file_title_intent))); } + private void seeDetails() { ((FileFragment.ContainerActivity)getActivity()).showDetails(getFile()); }