<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/action_share_file" android:title="@string/action_share_file" android:icon="@android:drawable/ic_menu_share" android:orderInCategory="1" />
- <item android:id="@+id/action_open_file_with" android:title="@string/actionbar_open_with" android:icon="@android:drawable/ic_menu_edit" android:orderInCategory="1" />
+ <item android:id="@+id/action_unshare_file" android:title="@string/action_unshare_file" android:icon="@android:drawable/ic_menu_share" android:orderInCategory="1" />
+ <item android:id="@+id/action_open_file_with" android:title="@string/actionbar_open_with" android:icon="@android:drawable/ic_menu_edit" android:orderInCategory="1" />
<item android:id="@+id/action_download_file" android:title="@string/filedetails_download" android:icon="@drawable/ic_action_download" android:orderInCategory="1" />
<item android:id="@+id/action_sync_file" android:title="@string/filedetails_sync_file" android:icon="@drawable/ic_action_refresh" android:orderInCategory="1" />
<item android:id="@+id/action_cancel_download" android:title="@string/common_cancel_download" android:icon="@android:drawable/ic_menu_close_clear_cancel" android:orderInCategory="1" />
<item android:id="@+id/action_rename_file" android:title="@string/common_rename" android:icon="@android:drawable/ic_menu_set_as" android:orderInCategory="1" />
<item android:id="@+id/action_remove_file" android:title="@string/common_remove" android:icon="@android:drawable/ic_menu_delete" android:orderInCategory="1" />
<item android:id="@+id/action_see_details" android:title="@string/actionbar_see_details" android:icon="@android:drawable/ic_menu_info_details" android:orderInCategory="1" />
- <item android:id="@+id/action_share_file" android:title="@string/actionbar_share_file" android:icon="@android:drawable/ic_menu_info_details" android:orderInCategory="1" />
+ <item android:id="@+id/action_send_file" android:title="@string/actionbar_send_file" android:icon="@android:drawable/ic_menu_info_details" android:orderInCategory="1" />
</menu>
<string name="actionbar_mkdir">Ordner anlegen</string>
<string name="actionbar_settings">Einstellungen</string>
<string name="actionbar_see_details">Details</string>
- <string name="actionbar_send_file">Datei Senden</string>
- <string name="actionbar_share_file">Freigeben</string>
++ <string name="actionbar_send_file">Freigeben</string>
<string name="prefs_category_general">Allgemein</string>
<string name="prefs_category_more">Mehr</string>
<string name="prefs_accounts">Konten</string>
<string name="actionbar_mkdir">Ordner anlegen</string>
<string name="actionbar_settings">Einstellungen</string>
<string name="actionbar_see_details">Details</string>
- <string name="actionbar_send_file">Datei senden</string>
- <string name="actionbar_share_file">Teilen</string>
++ <string name="actionbar_send_file">Teilen</string>
<string name="prefs_category_general">Allgemein</string>
<string name="prefs_category_more">Mehr</string>
<string name="prefs_accounts">Konten</string>
<string name="share_link_no_support_share_api">Entschuldigung, Freigaben sind auf Ihrem Server nicht aktiviert. Bitte kontaktieren Sie Ihren Administrator.</string>
<string name="share_link_file_no_exist">Die Freigabe der Datei oder des Ordners ist nicht möglich. Bitte stellen Sie sicher, dass diese existiert.</string>
<string name="share_link_file_error">Es ist ein Fehler beim Freigeben der Datei oder des Ordners aufgetreten.</string>
+ <string name="unshare_link_file_no_exist">Das Entfernen der Freigabe für die Datei oder den Ordner ist nicht möglich. Diese existieren nicht.</string>
<string name="unshare_link_file_error">Es ist ein Fehler beim Entfernen der Freigabe für diese Datei oder den Ordner aufgetreten.</string>
</resources>
<string name="actionbar_mkdir">Ordner anlegen</string>
<string name="actionbar_settings">Einstellungen</string>
<string name="actionbar_see_details">Details</string>
- <string name="actionbar_send_file">Datei Senden</string>
- <string name="actionbar_share_file">Teilen</string>
++ <string name="actionbar_send_file">Teilen</string>
<string name="prefs_category_general">Allgemein</string>
<string name="prefs_category_more">Mehr</string>
<string name="prefs_accounts">Konten</string>
<string name="share_link_no_support_share_api">Entschuldigung, Freigaben sind auf Deinem Server nicht aktiviert. Bitte kontaktiere Deinen Administrator.</string>
<string name="share_link_file_no_exist">Die Freigabe der Datei oder des Ordners ist nicht möglich. Bitte stelle sicher, dass diese existiert.</string>
<string name="share_link_file_error">Es ist ein Fehler beim Freigeben der Datei oder des Ordners aufgetreten.</string>
+ <string name="unshare_link_file_no_exist">Das Entfernen der Freigabe für die Datei oder den Ordner ist nicht möglich. Diese existieren nicht.</string>
<string name="unshare_link_file_error">Es ist ein Fehler beim Entfernen der Freigabe für diese Datei oder den Ordner aufgetreten.</string>
</resources>
<string name="actionbar_mkdir">Create directory</string>
<string name="actionbar_settings">Settings</string>
<string name="actionbar_see_details">Details</string>
- <string name="actionbar_share_file">Share</string>
+ <string name="actionbar_send_file">Send</string>
<string name="prefs_category_general">General</string>
<string name="prefs_category_more">More</string>
<string name="prefs_accounts">Accounts</string>
<string name="share_link_no_support_share_api">Sorry, sharing is not enabled on your server. Please contact your administrator.</string>
<string name="share_link_file_no_exist">Unable to share this file or folder. Please, make sure it exists</string>
<string name="share_link_file_error">An error occurred while trying to share this file or folder</string>
+ <string name="unshare_link_file_no_exist">Unable to unshare this file or folder. It does not exist.</string>
<string name="unshare_link_file_error">An error occurred while trying to unshare this file or folder</string>
+
+ <string name="send_file_title_intent">Send</string>
</resources>
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);
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);
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(".");
((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
* @param file
*/
public void onBrowsedDownTo(OCFile folder);
-
+
public void startDownloadForPreview(OCFile file);
public void startMediaPreview(OCFile file, int i, boolean b);
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;
}
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);
}
+ /**
+ * {@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}
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;
seeDetails();
return true;
}
- case R.id.action_share_file: {
- shareFile();
+ case R.id.action_send_file: {
+ sendFile();
return true;
}
}
}
- 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());
}