- sort dialog shows the right selected item
authortobiasKaminsky <tobias@kaminsky.me>
Sat, 4 Oct 2014 10:40:35 +0000 (12:40 +0200)
committertobiasKaminsky <tobias@kaminsky.me>
Sat, 4 Oct 2014 10:40:35 +0000 (12:40 +0200)
src/com/owncloud/android/ui/activity/FileDisplayActivity.java
src/com/owncloud/android/ui/adapter/FileListListAdapter.java
src/com/owncloud/android/ui/fragment/OCFileListFragment.java

index 58da14b..2d10ab9 100644 (file)
@@ -154,8 +154,6 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener {
     
     private OCFile mWaitingToSend;
     
     
     private OCFile mWaitingToSend;
     
-    private Integer sortItemChecked = 0;
-
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         Log_OC.d(TAG, "onCreate() start");
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         Log_OC.d(TAG, "onCreate() start");
@@ -494,12 +492,18 @@ OnSslUntrustedCertListener, SwipeRefreshLayout.OnRefreshListener {
             break;
         }
         case R.id.action_sort: {
             break;
         }
         case R.id.action_sort: {
+            SharedPreferences appPreferences = PreferenceManager
+                    .getDefaultSharedPreferences(getApplicationContext());
+            
+            // Read sorting order, default to sort by name ascending
+            Integer sortOrder = appPreferences
+                    .getInt("sortOrder", 0);
+            
             AlertDialog.Builder builder = new AlertDialog.Builder(this);
             builder.setTitle(R.string.actionbar_sort_title)
             AlertDialog.Builder builder = new AlertDialog.Builder(this);
             builder.setTitle(R.string.actionbar_sort_title)
-            .setSingleChoiceItems(R.array.actionbar_sortby, sortItemChecked , new DialogInterface.OnClickListener() {
+            .setSingleChoiceItems(R.array.actionbar_sortby, sortOrder , new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int which) {
                 public void onClick(DialogInterface dialog, int which) {
-                    sortItemChecked = which;
-
+                    
                     switch (which){
                     case 0:
                         sortByName(true);
                     switch (which){
                     case 0:
                         sortByName(true);
index 378fe05..a90773e 100644 (file)
@@ -66,7 +66,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
     private FileDataStorageManager mStorageManager;
     private Account mAccount;
     private ComponentsGetter mTransferServiceGetter;\r
     private FileDataStorageManager mStorageManager;
     private Account mAccount;
     private ComponentsGetter mTransferServiceGetter;\r
-    private String sortOrder;\r
+    private Integer sortOrder;\r
     private Boolean sortAscending;\r
     private SharedPreferences appPreferences;\r
     \r
     private Boolean sortAscending;\r
     private SharedPreferences appPreferences;\r
     \r
@@ -85,7 +85,7 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         \r
         // Read sorting order, default to sort by name ascending\r
         sortOrder = appPreferences\r
         \r
         // Read sorting order, default to sort by name ascending\r
         sortOrder = appPreferences\r
-                .getString("sortOrder", "name");\r
+                .getInt("sortOrder", 0);\r
         sortAscending = appPreferences.getBoolean("sortAscending", true);\r
         \r
     }
         sortAscending = appPreferences.getBoolean("sortAscending", true);\r
         \r
     }
@@ -317,14 +317,18 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
      * Sorts all filenames, regarding last user decision \r
      */\r
     private void sortDirectory(){\r
      * Sorts all filenames, regarding last user decision \r
      */\r
     private void sortDirectory(){\r
-        if (sortOrder.equals("name")){\r
-           sortByName(sortAscending);\r
-        } else if (sortOrder.equals("size")){\r
-            sortBySize(sortAscending);\r
-        } else if (sortOrder.equals("date")){\r
+        switch (sortOrder){\r
+        case 0:\r
+            sortByName(sortAscending);\r
+            break;\r
+        case 1:\r
             sortByDate(sortAscending);\r
             sortByDate(sortAscending);\r
+            break;\r
+        case 2: \r
+            sortBySize(sortAscending);\r
+            break;\r
         }\r
         }\r
-\r
+        \r
         notifyDataSetChanged();\r
     }\r
     \r
         notifyDataSetChanged();\r
     }\r
     \r
@@ -446,9 +450,9 @@ public class FileListListAdapter extends BaseAdapter implements ListAdapter {
         });\r
     }\r
 \r
         });\r
     }\r
 \r
-    public void setSortOrder(String order, boolean ascending) {\r
+    public void setSortOrder(Integer order, boolean ascending) {\r
         SharedPreferences.Editor editor = appPreferences.edit();\r
         SharedPreferences.Editor editor = appPreferences.edit();\r
-        editor.putString("sortOrder", order);\r
+        editor.putInt("sortOrder", order);\r
         editor.putBoolean("sortAscending", ascending);\r
         editor.commit();\r
         \r
         editor.putBoolean("sortAscending", ascending);\r
         editor.commit();\r
         \r
index 1db98c0..7cac16e 100644 (file)
@@ -386,15 +386,15 @@ public class OCFileListFragment extends ExtendedListFragment {
         }
     }
     
         }
     }
     
+    public void sortByName(boolean descending){
+        mAdapter.setSortOrder(0, descending);
+    } 
+    
     public void sortByDate(boolean descending){
     public void sortByDate(boolean descending){
-        mAdapter.setSortOrder("date", descending);
+        mAdapter.setSortOrder(1, descending);
     }
 
     public void sortBySize(boolean descending){
     }
 
     public void sortBySize(boolean descending){
-        mAdapter.setSortOrder("size", descending);
-    }
-
-    public void sortByName(boolean descending){
-        mAdapter.setSortOrder("name", descending);
-    } 
+        mAdapter.setSortOrder(2, descending);
+    }    
 }
 }