Эх сурвалжийг харах

Fixed problem in first-ever synchronization introduced while refactoring list adapters

David A. Velasco 12 жил өмнө
parent
commit
c7a2866454

+ 8 - 3
src/com/owncloud/android/ui/adapter/FileListListAdapter.java

@@ -61,7 +61,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         mContext = context;
         mContext = context;
         mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);
         mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);
         mTransferServiceGetter = transferServiceGetter;
         mTransferServiceGetter = transferServiceGetter;
-        swapDirectory(file);
+        swapDirectory(file, mStorageManager);
         /*mFile = file;
         /*mFile = file;
         mFiles = mStorageManager.getDirectoryContent(mFile);*/
         mFiles = mStorageManager.getDirectoryContent(mFile);*/
     }
     }
@@ -195,10 +195,15 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 
 
     /**
     /**
      * Change the adapted directory for a new one
      * Change the adapted directory for a new one
-     * @param directory     New file to adapt. Can be NULL, meaning "no content to adapt".
+     * @param directory                 New file to adapt. Can be NULL, meaning "no content to adapt".
+     * @param updatedStorageManager     Optional updated storage manager; used to replace mStorageManager if is different (and not NULL)
      */
      */
-    public void swapDirectory(OCFile directory) {
+    public void swapDirectory(OCFile directory, DataStorageManager updatedStorageManager) {
         mFile = directory;
         mFile = directory;
+        if (updatedStorageManager != null && updatedStorageManager != mStorageManager) {
+            mStorageManager = updatedStorageManager;
+            mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);
+        }
         if (mStorageManager != null) {
         if (mStorageManager != null) {
             mFiles = mStorageManager.getDirectoryContent(mFile);
             mFiles = mStorageManager.getDirectoryContent(mFile);
         } else {
         } else {

+ 1 - 1
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

@@ -192,7 +192,7 @@ public class OCFileListFragment extends FragmentListView {
             }
             }
 
 
             mFile = directory;
             mFile = directory;
-            mAdapter.swapDirectory(mFile);
+            mAdapter.swapDirectory(mFile, storageManager);
             mList.setSelectionFromTop(0, 0);
             mList.setSelectionFromTop(0, 0);
             mList.invalidate();
             mList.invalidate();
         }
         }