import com.owncloud.android.lib.common.utils.Log_OC;
import com.owncloud.android.lib.resources.status.OwnCloudVersion;
import com.owncloud.android.services.OperationsService;
+ import com.owncloud.android.services.observer.FileObserverService;
import com.owncloud.android.ui.activity.FileActivity;
import com.owncloud.android.ui.dialog.ShareLinkToDialog;
public void sendDownloadedFile(OCFile file) {
if (file != null) {
+ String storagePath = file.getStoragePath();
+ String encodedStoragePath = WebdavUtils.encodePath(storagePath);
Intent sendIntent = new Intent(android.content.Intent.ACTION_SEND);
// set MimeType
sendIntent.setType(file.getMimetype());
- sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + file.getStoragePath()));
+ sendIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + encodedStoragePath));
sendIntent.putExtra(Intent.ACTION_SEND, true); // Send Action
-
+
// Show dialog, without the own app
String[] packagesToExclude = new String[] { mFileActivity.getPackageName() };
DialogFragment chooserDialog = ShareLinkToDialog.newInstance(sendIntent, packagesToExclude, file);
mFileActivity.startService(intent);
}
}
+
+ public void toggleFavorite(OCFile file, boolean isFavorite) {
+ file.setFavorite(isFavorite);
+ mFileActivity.getStorageManager().saveFile(file);
+
+ /// register the OCFile instance in the observer service to monitor local updates
+ Intent observedFileIntent = FileObserverService.makeObservedFileIntent(
+ mFileActivity,
+ file,
+ mFileActivity.getAccount(),
+ isFavorite);
+ mFileActivity.startService(observedFileIntent);
+
+ /// immediate content synchronization
+ if (file.isFavorite()) {
+ syncFile(file);
+ }
+ }
public void renameFile(OCFile file, String newFilename) {
// RenameFile
downloaderBinder.cancel(account, file);
// TODO - review why is this here, and solve in a better way
- // Remove etag for parent, if file is a keep_in_sync
- if (file.keepInSync()) {
+ // Remove etag for parent, if file is a favorite
+ if (file.isFavorite()) {
OCFile parent = mFileActivity.getStorageManager().getFileById(file.getParentId());
parent.setEtag("");
mFileActivity.getStorageManager().saveFile(parent);
}\r
\r
// share with me icon\r
- if (!file.isFolder()) {\r
- ImageView sharedWithMeIconV = (ImageView)\r
- view.findViewById(R.id.sharedWithMeIcon);\r
- sharedWithMeIconV.bringToFront();\r
- if (checkIfFileIsSharedWithMe(file)) {\r
- sharedWithMeIconV.setVisibility(View.VISIBLE);\r
- } else {\r
- sharedWithMeIconV.setVisibility(View.GONE);\r
- }\r
+ ImageView sharedWithMeIconV = (ImageView)\r
+ view.findViewById(R.id.sharedWithMeIcon);\r
+ sharedWithMeIconV.bringToFront();\r
+ if (checkIfFileIsSharedWithMe(file) &&\r
+ (!file.isFolder() || !mGridMode)) {\r
+ sharedWithMeIconV.setVisibility(View.VISIBLE);\r
+ } else {\r
+ sharedWithMeIconV.setVisibility(View.GONE);\r
++\r
}\r
\r
break;\r
\r
// this if-else is needed even though favorite icon is visible by default\r
// because android reuses views in listview\r
- if (!file.keepInSync()) {\r
+ if (!file.isFavorite()) {\r
view.findViewById(R.id.favoriteIcon).setVisibility(View.GONE);\r
} else {\r
view.findViewById(R.id.favoriteIcon).setVisibility(View.VISIBLE);\r