Browse Source

Fix favorites toggle

Mario Danic 8 years ago
parent
commit
a046fead8f

+ 0 - 1
src/main/java/com/owncloud/android/operations/RefreshFolderOperation.java

@@ -414,7 +414,6 @@ public class RefreshFolderOperation extends RemoteOperation {
                 updatedFile.setShareViaLink(localFile.isSharedViaLink());
                 updatedFile.setShareWithSharee(localFile.isSharedWithSharee());
                 updatedFile.setEtagInConflict(localFile.getEtagInConflict());
-                updatedFile.setFavorite(localFile.getIsFavorite());
             } else {
                 // remote eTag will not be updated unless file CONTENTS are synchronized
                 updatedFile.setEtag("");

+ 10 - 19
src/main/java/com/owncloud/android/ui/adapter/FileListListAdapter.java

@@ -87,7 +87,6 @@ public class FileListListAdapter extends BaseAdapter {
 
     private FilesFilter mFilesFilter;
     private OCFile currentDirectory;
-    private boolean isSpecialFilter;
 
     public FileListListAdapter(
             boolean justFolders,
@@ -346,9 +345,13 @@ public class FileListListAdapter extends BaseAdapter {
             }
 
             if (file.getIsFavorite()) {
-                view.findViewById(R.id.favorite_action).setPressed(true);
+                if (!view.findViewById(R.id.favorite_action).isSelected()) {
+                    view.findViewById(R.id.favorite_action).setSelected(true);
+                }
             } else {
-                view.findViewById(R.id.favorite_action).setPressed(false);
+                if (view.findViewById(R.id.favorite_action).isSelected()) {
+                    view.findViewById(R.id.favorite_action).setSelected(false);
+                }
             }
 
             final OCFile finalFile = file;
@@ -448,8 +451,6 @@ public class FileListListAdapter extends BaseAdapter {
      */
     public void swapDirectory(OCFile directory, FileDataStorageManager updatedStorageManager
             , boolean onlyOnDevice) {
-        isSpecialFilter = false;
-
         if (updatedStorageManager != null && !updatedStorageManager.equals(mStorageManager)) {
             mStorageManager = updatedStorageManager;
             mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);
@@ -487,9 +488,6 @@ public class FileListListAdapter extends BaseAdapter {
     }
 
     public void setData(ArrayList<Object> objects, ExtendedListFragment.SearchType searchType) {
-        isSpecialFilter = true;
-
-
         mFiles = new Vector<>();
         for (int i = 0; i < objects.size(); i++) {
             OCFile ocFile = FileStorageUtils.fillOCFile((RemoteFile) objects.get(i));
@@ -583,17 +581,10 @@ public class FileListListAdapter extends BaseAdapter {
             if (!TextUtils.isEmpty(constraint)) {
                 for (int i = 0; i < mFilesAll.size(); i++) {
                     OCFile currentFile = mFilesAll.get(i);
-                    if (!isSpecialFilter) {
-                        if (currentFile.getParentRemotePath().equals(currentDirectory.getRemotePath()) &&
-                                currentFile.getFileName().toLowerCase().contains(constraint.toString().toLowerCase()) &&
-                                !filteredFiles.contains(currentFile)) {
-                            filteredFiles.add(currentFile);
-                        }
-                    } else {
-                        if (currentFile.getFileName().toLowerCase().contains(constraint.toString().toLowerCase()) &&
-                                !filteredFiles.contains(currentFile)) {
-                            filteredFiles.add(currentFile);
-                        }
+                    if (currentFile.getParentRemotePath().equals(currentDirectory.getRemotePath()) &&
+                            currentFile.getFileName().toLowerCase().contains(constraint.toString().toLowerCase()) &&
+                            !filteredFiles.contains(currentFile)) {
+                        filteredFiles.add(currentFile);
                     }
                 }
             }