\r
import android.accounts.Account;\r
import android.content.Context;\r
+import android.content.SharedPreferences;\r
+import android.preference.PreferenceManager;\r
import android.view.LayoutInflater;\r
import android.view.View;\r
import android.view.ViewGroup;\r
private FileDataStorageManager mStorageManager;
private Account mAccount;
private ComponentsGetter mTransferServiceGetter;\r
- public enum sortOrders { NAME, DATE, SIZE }\r
- private sortOrders sort = sortOrders.NAME;\r
- private boolean sortAscending = true;\r
+ private String sortOrder;\r
+ private Boolean sortAscending;\r
+ private SharedPreferences appPreferences;\r
\r
public FileListListAdapter(\r
boolean justFolders, \r
mContext = context;\r
mAccount = AccountUtils.getCurrentOwnCloudAccount(mContext);\r
mTransferServiceGetter = transferServiceGetter;\r
+ \r
+ appPreferences = PreferenceManager\r
+ .getDefaultSharedPreferences(mContext);\r
+ \r
+ // Read sorting order, default to sort by name ascending\r
+ sortOrder = appPreferences\r
+ .getString("sortOrder", "name");\r
+ sortAscending = appPreferences.getBoolean("sortAscending", true);\r
+ \r
}
\r
@Override\r
* Sorts all filenames, regarding last user decision \r
*/\r
private void sortDirectory(){\r
- switch (sort){\r
- case NAME:\r
- sortByName(sortAscending);\r
- break;\r
-\r
- case SIZE:\r
+ if (sortOrder.equals("name")){\r
+ sortByName(sortAscending);\r
+ } else if (sortOrder.equals("size")){\r
sortBySize(sortAscending);\r
- break;\r
-\r
- case DATE:\r
+ } else if (sortOrder.equals("date")){\r
sortByDate(sortAscending);\r
- break;\r
}\r
\r
notifyDataSetChanged();\r
});\r
}\r
\r
- public void setSortOrder(sortOrders order, boolean descending) {\r
- sort = order;\r
- sortAscending = descending;\r
-\r
+ public void setSortOrder(String order, boolean ascending) {\r
+ SharedPreferences.Editor editor = appPreferences.edit();\r
+ editor.putString("sortOrder", order);\r
+ editor.putBoolean("sortAscending", ascending);\r
+ editor.commit();\r
+ \r
+ sortOrder = order;\r
+ sortAscending = ascending;\r
+ \r
sortDirectory();\r
} \r
}\r
import com.owncloud.android.ui.activity.FileDisplayActivity;
import com.owncloud.android.ui.activity.MoveActivity;
import com.owncloud.android.ui.adapter.FileListListAdapter;
-import com.owncloud.android.ui.adapter.FileListListAdapter.sortOrders;
import com.owncloud.android.ui.dialog.ConfirmationDialogFragment;
import com.owncloud.android.ui.dialog.RemoveFileDialogFragment;
import com.owncloud.android.ui.dialog.RenameFileDialogFragment;
}
public void sortByDate(boolean descending){
- mAdapter.setSortOrder(sortOrders.DATE, descending);
+ mAdapter.setSortOrder("date", descending);
}
public void sortBySize(boolean descending){
- mAdapter.setSortOrder(sortOrders.SIZE, descending);
+ mAdapter.setSortOrder("size", descending);
}
public void sortByName(boolean descending){
- mAdapter.setSortOrder(sortOrders.NAME, descending);
+ mAdapter.setSortOrder("name", descending);
}
}