Fixed problem in first-ever synchronization introduced while refactoring list adapters
authorDavid A. Velasco <dvelasco@solidgear.es>
Mon, 15 Oct 2012 10:57:14 +0000 (12:57 +0200)
committerDavid A. Velasco <dvelasco@solidgear.es>
Mon, 15 Oct 2012 10:57:14 +0000 (12:57 +0200)
src/com/owncloud/android/ui/adapter/FileListListAdapter.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

index e8ff4cd..49fa7a0 100644 (file)
@@ -61,7 +61,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         mContext = context;\r
         mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);\r
         mTransferServiceGetter = transferServiceGetter;\r
-        swapDirectory(file);\r
+        swapDirectory(file, mStorageManager);\r
         /*mFile = file;\r
         mFiles = mStorageManager.getDirectoryContent(mFile);*/\r
     }\r
@@ -195,10 +195,15 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
 \r
     /**\r
      * Change the adapted directory for a new one\r
-     * @param directory     New file to adapt. Can be NULL, meaning "no content to adapt".\r
+     * @param directory                 New file to adapt. Can be NULL, meaning "no content to adapt".\r
+     * @param updatedStorageManager     Optional updated storage manager; used to replace mStorageManager if is different (and not NULL)\r
      */\r
-    public void swapDirectory(OCFile directory) {\r
+    public void swapDirectory(OCFile directory, DataStorageManager updatedStorageManager) {\r
         mFile = directory;\r
+        if (updatedStorageManager != null && updatedStorageManager != mStorageManager) {\r
+            mStorageManager = updatedStorageManager;\r
+            mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);\r
+        }\r
         if (mStorageManager != null) {\r
             mFiles = mStorageManager.getDirectoryContent(mFile);\r
         } else {\r
index 4f6e66b..60ded05 100644 (file)
@@ -192,7 +192,7 @@ public class OCFileListFragment extends FragmentListView {
             }
 
             mFile = directory;
-            mAdapter.swapDirectory(mFile);
+            mAdapter.swapDirectory(mFile, storageManager);
             mList.setSelectionFromTop(0, 0);
             mList.invalidate();
         }