newmodel of file in action
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / fragment / FileList.java
index cf5eaf3..4b1c53b 100644 (file)
@@ -18,6 +18,7 @@
 package eu.alefzero.owncloud.ui.fragment;\r
 \r
 import java.util.Stack;\r
+import java.util.Vector;\r
 \r
 import android.accounts.Account;\r
 import android.accounts.AccountManager;\r
@@ -46,11 +47,11 @@ import eu.alefzero.owncloud.ui.adapter.FileListListAdapter;
  *\r
  */\r
 public class FileList extends FragmentListView {\r
-  private Cursor mCursor;\r
   private Account mAccount;\r
   private AccountManager mAccountManager;\r
   private Stack<String> mDirNames;\r
   private Stack<String> mParentsIds;\r
+  private Vector<OCFile> mFiles;\r
 \r
   public FileList() {\r
     mDirNames = new Stack<String>();\r
@@ -68,12 +69,13 @@ public class FileList extends FragmentListView {
   \r
   @Override\r
   public void onItemClick(AdapterView<?> l, View v, int position, long id) {\r
-    if (!mCursor.moveToPosition(position)) {\r
+    if (mFiles.size() <= position) {\r
       throw new IndexOutOfBoundsException("Incorrect item selected");\r
     }\r
-    String id_ = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta._ID));\r
-    if (mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_CONTENT_TYPE)).equals("DIR")) {\r
-        String dirname = mCursor.getString(mCursor.getColumnIndex(ProviderTableMeta.FILE_NAME));\r
+    OCFile file = mFiles.get(position);\r
+    String id_ = String.valueOf(file.getFileId());\r
+    if (file.getMimetype().equals("DIR")) {\r
+        String dirname = file.getFileName();\r
 \r
         mDirNames.push(dirname);\r
         mParentsIds.push(id_);\r
@@ -103,24 +105,12 @@ public class FileList extends FragmentListView {
   }\r
 \r
   private void populateFileList() {\r
-    if (mParentsIds.empty()) {\r
-      OCFile file = new OCFile(getActivity().getContentResolver(), mAccount, "/");\r
-      Log.d("ASD", file.getFileName()+"");\r
-      Log.d("ASD", file.getFileId()+"");\r
-      if (file.getDirectoryContent() != null)\r
-      Log.d("ASD", file.getDirectoryContent().size()+"");\r
-      \r
-      mCursor = getActivity().getContentResolver().query(ProviderTableMeta.CONTENT_URI,\r
-        null,\r
-        ProviderTableMeta.FILE_ACCOUNT_OWNER+"=?",\r
-        new String[]{mAccount.name},\r
-        null);\r
-    } else {\r
-      mCursor = getActivity().managedQuery(Uri.withAppendedPath(ProviderTableMeta.CONTENT_URI_DIR, mParentsIds.peek()),\r
-          null,\r
-          ProviderTableMeta.FILE_ACCOUNT_OWNER + "=?",\r
-          new String[]{mAccount.name}, null);\r
-    }\r
-    setListAdapter(new FileListListAdapter(mCursor, getActivity()));\r
+    String s = "/";\r
+    for (String a : mDirNames)\r
+      s+= a+"/";\r
+\r
+    OCFile file = new OCFile(getActivity().getContentResolver(), mAccount, s);\r
+    mFiles = file.getDirectoryContent();\r
+    setListAdapter(new FileListListAdapter(file, getActivity()));\r
   }\r
 }\r