From: purigarcia Date: Wed, 8 Jul 2015 08:17:27 +0000 (+0200) Subject: add the action in the context menu X-Git-Tag: oc-android-1.8~60^2~9 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/f226b5f93ab711200f79dd171b12e29de4c617d7?ds=inline;hp=--cc add the action in the context menu --- f226b5f93ab711200f79dd171b12e29de4c617d7 diff --git a/src/com/owncloud/android/files/FileOperationsHelper.java b/src/com/owncloud/android/files/FileOperationsHelper.java index 75fae370..5899e7a5 100644 --- a/src/com/owncloud/android/files/FileOperationsHelper.java +++ b/src/com/owncloud/android/files/FileOperationsHelper.java @@ -40,6 +40,7 @@ import com.owncloud.android.lib.common.network.WebdavUtils; 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; @@ -223,6 +224,25 @@ public class FileOperationsHelper { mFileActivity.startService(intent); } } + + public void toggleKeepInSync(OCFile file, boolean isFavorite) { + Log_OC.e(TAG, "KeepInSync"); + file.setKeepInSync(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.keepInSync()) { + syncFile(file); + } + } public void renameFile(OCFile file, String newFilename) { // RenameFile diff --git a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java index 4f099e49..7983c27c 100644 --- a/src/com/owncloud/android/ui/fragment/FileDetailFragment.java +++ b/src/com/owncloud/android/ui/fragment/FileDetailFragment.java @@ -282,6 +282,7 @@ public class FileDetailFragment extends FileFragment implements OnClickListener private void toggleKeepInSync() { + Log_OC.e(TAG, "toggleKeepInSync"); CheckBox cb = (CheckBox) getView().findViewById(R.id.fdKeepInSync); OCFile file = getFile(); file.setKeepInSync(cb.isChecked()); diff --git a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java index 424b0d59..2fb525fb 100644 --- a/src/com/owncloud/android/ui/fragment/OCFileListFragment.java +++ b/src/com/owncloud/android/ui/fragment/OCFileListFragment.java @@ -42,6 +42,7 @@ import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.files.FileMenuFilter; import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.resources.status.OwnCloudVersion; +import com.owncloud.android.services.observer.FileObserverService; import com.owncloud.android.ui.activity.FileActivity; import com.owncloud.android.ui.activity.FileDisplayActivity; import com.owncloud.android.ui.activity.FolderPickerActivity; @@ -341,6 +342,14 @@ public class OCFileListFragment extends ExtendedListFragment { getActivity().startActivityForResult(action, FileDisplayActivity.ACTION_MOVE_FILES); return true; } + case R.id.action_favorite_file:{ + mContainerActivity.getFileOperationsHelper().toggleKeepInSync(mTargetFile, true); + return true; + } + case R.id.action_unfavorite_file:{ + mContainerActivity.getFileOperationsHelper().toggleKeepInSync(mTargetFile, false); + return true; + } default: return super.onContextItemSelected(item); } @@ -492,8 +501,7 @@ public class OCFileListFragment extends ExtendedListFragment { public void sortBySize(boolean descending) { mAdapter.setSortOrder(FileStorageUtils.SORT_SIZE, descending); - } - - + } + }