setting correct path on restore activity
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / activity / FileDisplayActivity.java
index e7ee4cc..17313e8 100644 (file)
@@ -76,9 +76,12 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         OnNavigationListener, OnClickListener {\r
     private ArrayAdapter<String> mDirectories;\r
     private DataStorageManager mStorageManager;\r
         OnNavigationListener, OnClickListener {\r
     private ArrayAdapter<String> mDirectories;\r
     private DataStorageManager mStorageManager;\r
+    private String[] mDirs = null;\r
 \r
     private SyncBroadcastReceiver syncBroadcastRevceiver;\r
 \r
 \r
     private SyncBroadcastReceiver syncBroadcastRevceiver;\r
 \r
+    private static final String KEY_DIR = "DIR";\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 DIALOG_SETUP_ACCOUNT = 0;\r
     private static final int DIALOG_CREATE_DIR = 1;\r
 \r
@@ -246,6 +249,16 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         if (!accountsAreSetup()) {\r
             showDialog(DIALOG_SETUP_ACCOUNT);\r
         }\r
         if (!accountsAreSetup()) {\r
             showDialog(DIALOG_SETUP_ACCOUNT);\r
         }\r
+        mDirs = savedInstanceState.getStringArray(KEY_DIR);\r
+    }\r
+    \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
+        }\r
     }\r
 \r
     @Override\r
     }\r
 \r
     @Override\r
@@ -263,6 +276,13 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         mDirectories = new CustomArrayAdapter<String>(this,\r
                 R.layout.sherlock_spinner_dropdown_item);\r
         mDirectories.add("/");\r
         mDirectories = new CustomArrayAdapter<String>(this,\r
                 R.layout.sherlock_spinner_dropdown_item);\r
         mDirectories.add("/");\r
+        if (mDirs != null) {\r
+            for (String s : mDirs)\r
+                mDirectories.insert(s, 0);\r
+            FileListFragment fileListFramgent = (FileListFragment) getSupportFragmentManager()\r
+                    .findFragmentById(R.id.fileList);\r
+            if (fileListFramgent != null) fileListFramgent.populateFileList();\r
+        }\r
 \r
         mStorageManager = new FileDataStorageManager(\r
                 AccountUtils.getCurrentOwnCloudAccount(this),\r
 \r
         mStorageManager = new FileDataStorageManager(\r
                 AccountUtils.getCurrentOwnCloudAccount(this),\r