Fixed navigation behaviour: HomeAsUp takes you up a dir
[pub/Android/ownCloud.git] / src / eu / alefzero / owncloud / ui / activity / FileDisplayActivity.java
index 47dae5f..93cf649 100644 (file)
 package eu.alefzero.owncloud.ui.activity;\r
 \r
 import java.io.File;\r
-import java.net.URLDecoder;\r
 import java.net.URLEncoder;\r
 import java.util.ArrayList;\r
-import java.util.Arrays;\r
 \r
 import android.accounts.Account;\r
 import android.accounts.AccountManager;\r
@@ -142,11 +140,14 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
                         ACTION_SELECT_FILE);\r
                 break;\r
             }\r
-    \r
+            case R.id.action_accounts: {\r
+                Intent accountIntent = new Intent(this, AccountSelectActivity.class);\r
+                startActivity(accountIntent);\r
+            }\r
             case android.R.id.home: {\r
-                Intent i = new Intent(this, AccountSelectActivity.class);\r
-                startActivity(i);\r
-                finish();\r
+                if(mCurrentDir != null && mCurrentDir.getParentId() != 0){\r
+                    onBackPressed(); \r
+                }\r
                 break;\r
             }\r
             default:\r
@@ -215,6 +216,11 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         popDirname();\r
         mFileList.onNavigateUp();\r
         mCurrentDir = mFileList.getCurrentFile();\r
+        \r
+        if(mCurrentDir.getParentId() == 0){\r
+            ActionBar actionBar = getSupportActionBar(); \r
+            actionBar.setDisplayHomeAsUpEnabled(false);\r
+        } \r
     }\r
 \r
     @Override\r
@@ -312,7 +318,12 @@ public class FileDisplayActivity extends SherlockFragmentActivity implements
         action_bar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);\r
         action_bar.setDisplayShowTitleEnabled(false);\r
         action_bar.setListNavigationCallbacks(mDirectories, this);\r
-        action_bar.setDisplayHomeAsUpEnabled(true);\r
+        if(mCurrentDir != null && mCurrentDir.getParentId() != 0){\r
+            action_bar.setDisplayHomeAsUpEnabled(true);\r
+        } else {\r
+            action_bar.setDisplayHomeAsUpEnabled(false);\r
+        }\r
+        \r
         \r
         // List dir here\r
         mFileList.listDirectory(mCurrentDir);\r