|
@@ -54,12 +54,15 @@ import com.owncloud.android.files.services.FileUploader.FileUploaderBinder;
|
|
import com.owncloud.android.lib.resources.files.RemoteFile;
|
|
import com.owncloud.android.lib.resources.files.RemoteFile;
|
|
import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
|
|
import com.owncloud.android.services.OperationsService.OperationsServiceBinder;
|
|
import com.owncloud.android.ui.activity.ComponentsGetter;
|
|
import com.owncloud.android.ui.activity.ComponentsGetter;
|
|
|
|
+import com.owncloud.android.ui.events.FavoriteEvent;
|
|
import com.owncloud.android.ui.fragment.ExtendedListFragment;
|
|
import com.owncloud.android.ui.fragment.ExtendedListFragment;
|
|
import com.owncloud.android.ui.interfaces.OCFileListFragmentInterface;
|
|
import com.owncloud.android.ui.interfaces.OCFileListFragmentInterface;
|
|
import com.owncloud.android.utils.DisplayUtils;
|
|
import com.owncloud.android.utils.DisplayUtils;
|
|
import com.owncloud.android.utils.FileStorageUtils;
|
|
import com.owncloud.android.utils.FileStorageUtils;
|
|
import com.owncloud.android.utils.MimeTypeUtil;
|
|
import com.owncloud.android.utils.MimeTypeUtil;
|
|
|
|
|
|
|
|
+import org.greenrobot.eventbus.EventBus;
|
|
|
|
+
|
|
import java.io.File;
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
import java.util.Vector;
|
|
import java.util.Vector;
|
|
@@ -134,6 +137,29 @@ public class FileListListAdapter extends BaseAdapter {
|
|
return mFiles.get(position);
|
|
return mFiles.get(position);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ public void setFavoriteAttributeForItemID(String fileId, boolean favorite) {
|
|
|
|
+ for (int i = 0; i < mFiles.size(); i++) {
|
|
|
|
+ if (mFiles.get(i).getRemoteId().equals(fileId)) {
|
|
|
|
+ mFiles.get(i).setFavorite(favorite);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for (int i = 0; i < mFilesAll.size(); i++) {
|
|
|
|
+ if (mFilesAll.get(i).getRemoteId().equals(fileId)) {
|
|
|
|
+ mFilesAll.get(i).setFavorite(favorite);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ new Handler(Looper.getMainLooper()).post(new Runnable() {
|
|
|
|
+ @Override
|
|
|
|
+ public void run() {
|
|
|
|
+ notifyDataSetChanged();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public long getItemId(int position) {
|
|
public long getItemId(int position) {
|
|
if (mFiles == null || mFiles.size() <= position) {
|
|
if (mFiles == null || mFiles.size() <= position) {
|
|
@@ -218,7 +244,6 @@ public class FileListListAdapter extends BaseAdapter {
|
|
lastModV.setText(DisplayUtils.getRelativeTimestamp(mContext, file.getModificationTimestamp()));
|
|
lastModV.setText(DisplayUtils.getRelativeTimestamp(mContext, file.getModificationTimestamp()));
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
fileSizeSeparatorV.setVisibility(View.VISIBLE);
|
|
fileSizeSeparatorV.setVisibility(View.VISIBLE);
|
|
fileSizeV.setVisibility(View.VISIBLE);
|
|
fileSizeV.setVisibility(View.VISIBLE);
|
|
fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));
|
|
fileSizeV.setText(DisplayUtils.bytesToHumanReadable(file.getFileLength()));
|
|
@@ -326,6 +351,15 @@ public class FileListListAdapter extends BaseAdapter {
|
|
view.findViewById(R.id.favorite_action).setSelected(false);
|
|
view.findViewById(R.id.favorite_action).setSelected(false);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ final OCFile finalFile = file;
|
|
|
|
+ view.findViewById(R.id.favorite_action).setOnClickListener(new View.OnClickListener() {
|
|
|
|
+ @Override
|
|
|
|
+ public void onClick(View v) {
|
|
|
|
+ EventBus.getDefault().post(new FavoriteEvent(finalFile.getRemotePath(),
|
|
|
|
+ !finalFile.getIsFavorite(), finalFile.getRemoteId()));
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
// No Folder
|
|
// No Folder
|
|
if (!file.isFolder()) {
|
|
if (!file.isFolder()) {
|
|
if ((MimeTypeUtil.isImage(file) || MimeTypeUtil.isVideo(file)) && file.getRemoteId() != null) {
|
|
if ((MimeTypeUtil.isImage(file) || MimeTypeUtil.isVideo(file)) && file.getRemoteId() != null) {
|