Filelisting using intents and OCFile.getId() instead of string matching
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / activity / FileDisplayActivity.java
index ef31ce8..832ccae 100644 (file)
@@ -20,8 +20,6 @@ package eu.alefzero.owncloud.ui.activity;
 \r
 import java.io.File;\r
 import java.net.URLDecoder;\r
 \r
 import java.io.File;\r
 import java.net.URLDecoder;\r
-import java.net.URLEncoder;\r
-\r
 import android.accounts.Account;\r
 import android.accounts.AccountManager;\r
 import android.app.AlertDialog;\r
 import android.accounts.Account;\r
 import android.accounts.AccountManager;\r
 import android.app.AlertDialog;\r
@@ -62,7 +60,6 @@ import eu.alefzero.owncloud.datamodel.OCFile;
 import eu.alefzero.owncloud.files.services.FileUploader;\r
 import eu.alefzero.owncloud.syncadapter.FileSyncService;\r
 import eu.alefzero.owncloud.ui.fragment.FileListFragment;\r
 import eu.alefzero.owncloud.files.services.FileUploader;\r
 import eu.alefzero.owncloud.syncadapter.FileSyncService;\r
 import eu.alefzero.owncloud.ui.fragment.FileListFragment;\r
-import eu.alefzero.owncloud.utils.OwnCloudVersion;\r
 import eu.alefzero.webdav.WebdavClient;\r
 \r
 /**\r
 import eu.alefzero.webdav.WebdavClient;\r
 \r
 /**\r
@@ -84,8 +81,6 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
     \r
     private static final int DIALOG_SETUP_ACCOUNT = 0;\r
     private static final int DIALOG_CREATE_DIR = 1;\r
     \r
     private static final int DIALOG_SETUP_ACCOUNT = 0;\r
     private static final int DIALOG_CREATE_DIR = 1;\r
-\r
-    private static final int REQUEST_ACCOUNT_SETUP = 0;\r
     private static final int ACTION_SELECT_FILE = 1;\r
 \r
     public void pushPath(String path) {\r
     private static final int ACTION_SELECT_FILE = 1;\r
 \r
     public void pushPath(String path) {\r
@@ -175,8 +170,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
 \r
         requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);\r
         setProgressBarIndeterminateVisibility(false);\r
 \r
         requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);\r
         setProgressBarIndeterminateVisibility(false);\r
-        // if (getSupportFragmentManager().findFragmentById(R.id.fileList) ==\r
-        // null)\r
+        \r
         setContentView(R.layout.files);\r
 \r
     }\r
         setContentView(R.layout.files);\r
 \r
     }\r
@@ -185,41 +179,36 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
     public boolean onOptionsItemSelected(MenuItem item) {\r
         boolean retval = true;\r
         switch (item.getItemId()) {\r
     public boolean onOptionsItemSelected(MenuItem item) {\r
         boolean retval = true;\r
         switch (item.getItemId()) {\r
-        case R.id.settingsItem: {\r
-            Intent i = new Intent(this, Preferences.class);\r
-            startActivity(i);\r
-            break;\r
-        }\r
-        case R.id.createDirectoryItem: {\r
-            showDialog(DIALOG_CREATE_DIR);\r
-            break;\r
-        }\r
-        case R.id.startSync: {\r
-            Bundle bundle = new Bundle();\r
-            bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);\r
-            ContentResolver.requestSync(\r
-                    AccountUtils.getCurrentOwnCloudAccount(this),\r
-                    "org.owncloud", bundle);\r
-            break;\r
-        }\r
-        case R.id.action_upload: {\r
-            Intent action = new Intent(Intent.ACTION_GET_CONTENT);\r
-            action = action.setType("*/*")\r
-                    .addCategory(Intent.CATEGORY_OPENABLE);\r
-            startActivityForResult(\r
-                    Intent.createChooser(action, "Upload file from..."),\r
-                    ACTION_SELECT_FILE);\r
-            break;\r
-        }\r
-\r
-        case android.R.id.home: {\r
-            Intent i = new Intent(this, AccountSelectActivity.class);\r
-            startActivity(i);\r
-            finish();\r
-            break;\r
-        }\r
-        default:\r
-            retval = false;\r
+            case R.id.createDirectoryItem: {\r
+                showDialog(DIALOG_CREATE_DIR);\r
+                break;\r
+            }\r
+            case R.id.startSync: {\r
+                Bundle bundle = new Bundle();\r
+                bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);\r
+                ContentResolver.requestSync(\r
+                        AccountUtils.getCurrentOwnCloudAccount(this),\r
+                        "org.owncloud", bundle);\r
+                break;\r
+            }\r
+            case R.id.action_upload: {\r
+                Intent action = new Intent(Intent.ACTION_GET_CONTENT);\r
+                action = action.setType("*/*")\r
+                        .addCategory(Intent.CATEGORY_OPENABLE);\r
+                startActivityForResult(\r
+                        Intent.createChooser(action, "Upload file from..."),\r
+                        ACTION_SELECT_FILE);\r
+                break;\r
+            }\r
+    \r
+            case android.R.id.home: {\r
+                Intent i = new Intent(this, AccountSelectActivity.class);\r
+                startActivity(i);\r
+                finish();\r
+                break;\r
+            }\r
+            default:\r
+                retval = false;\r
         }\r
         return retval;\r
     }\r
         }\r
         return retval;\r
     }\r
@@ -260,9 +249,11 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
     @Override\r
     protected void onSaveInstanceState(Bundle outState) {\r
         super.onSaveInstanceState(outState);\r
     @Override\r
     protected void onSaveInstanceState(Bundle outState) {\r
         super.onSaveInstanceState(outState);\r
-        mDirs = new String[mDirectories.getCount()-1];\r
-        for (int j = mDirectories.getCount() - 2, i = 0; j >= 0; --j, ++i) {\r
-            mDirs[i] = mDirectories.getItem(j);\r
+        if(mDirectories != null){\r
+            mDirs = new String[mDirectories.getCount()-1];\r
+            for (int j = mDirectories.getCount() - 2, i = 0; j >= 0; --j, ++i) {\r
+                mDirs[i] = mDirectories.getItem(j);\r
+            }\r
         }\r
     }\r
 \r
         }\r
     }\r
 \r
@@ -285,7 +276,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
                 mDirectories.insert(s, 0);\r
             FileListFragment fileListFramgent = (FileListFragment) getSupportFragmentManager()\r
                     .findFragmentById(R.id.fileList);\r
                 mDirectories.insert(s, 0);\r
             FileListFragment fileListFramgent = (FileListFragment) getSupportFragmentManager()\r
                     .findFragmentById(R.id.fileList);\r
-            if (fileListFramgent != null) fileListFramgent.populateFileList();\r
+            if (fileListFramgent != null) fileListFramgent.listDirectory();\r
         }\r
 \r
         mStorageManager = new FileDataStorageManager(\r
         }\r
 \r
         mStorageManager = new FileDataStorageManager(\r
@@ -469,7 +460,7 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
                 FileListFragment fileListFramgent = (FileListFragment) getSupportFragmentManager()\r
                         .findFragmentById(R.id.fileList);\r
                 if (fileListFramgent != null)\r
                 FileListFragment fileListFramgent = (FileListFragment) getSupportFragmentManager()\r
                         .findFragmentById(R.id.fileList);\r
                 if (fileListFramgent != null)\r
-                    fileListFramgent.populateFileList();\r
+                    fileListFramgent.listDirectory();\r
             }\r
         }\r
 \r
             }\r
         }\r
 \r