|
@@ -73,6 +73,7 @@ import com.owncloud.android.ui.fragment.TaskRetainerFragment;
|
|
|
import com.owncloud.android.ui.helpers.UriUploader;
|
|
|
import com.owncloud.android.utils.DisplayUtils;
|
|
|
import com.owncloud.android.utils.ErrorMessageAdapter;
|
|
|
+import com.owncloud.android.utils.FileStorageUtils;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
@@ -313,6 +314,8 @@ public class ReceiveExternalFilesActivity extends FileActivity
|
|
|
Log_OC.d(TAG, "on item click");
|
|
|
// TODO Enable when "On Device" is recovered ?
|
|
|
Vector<OCFile> tmpfiles = getStorageManager().getFolderContent(mFile /*, false*/);
|
|
|
+ tmpfiles = sortFileList(tmpfiles);
|
|
|
+
|
|
|
if (tmpfiles.size() <= 0) return;
|
|
|
// filter on dirtype
|
|
|
Vector<OCFile> files = new Vector<>();
|
|
@@ -378,15 +381,16 @@ public class ReceiveExternalFilesActivity extends FileActivity
|
|
|
setContentView(R.layout.uploader_layout);
|
|
|
|
|
|
ListView mListView = (ListView) findViewById(android.R.id.list);
|
|
|
+ ActionBar actionBar = getSupportActionBar();
|
|
|
|
|
|
String current_dir = mParents.peek();
|
|
|
if (current_dir.equals("")) {
|
|
|
- getSupportActionBar().setTitle(getString(R.string.default_display_name_for_root_folder));
|
|
|
+ actionBar.setTitle(getString(R.string.uploader_top_message));
|
|
|
} else {
|
|
|
- getSupportActionBar().setTitle(current_dir);
|
|
|
+ actionBar.setTitle(current_dir);
|
|
|
}
|
|
|
boolean notRoot = (mParents.size() > 1);
|
|
|
- ActionBar actionBar = getSupportActionBar();
|
|
|
+
|
|
|
actionBar.setDisplayHomeAsUpEnabled(notRoot);
|
|
|
actionBar.setHomeButtonEnabled(notRoot);
|
|
|
|
|
@@ -398,10 +402,14 @@ public class ReceiveExternalFilesActivity extends FileActivity
|
|
|
if (mFile != null) {
|
|
|
// TODO Enable when "On Device" is recovered ?
|
|
|
Vector<OCFile> files = getStorageManager().getFolderContent(mFile/*, false*/);
|
|
|
- List<HashMap<String, OCFile>> data = new LinkedList<>();
|
|
|
+ files = sortFileList(files);
|
|
|
+
|
|
|
+ List<HashMap<String, Object>> data = new LinkedList<>();
|
|
|
for (OCFile f : files) {
|
|
|
- HashMap<String, OCFile> h = new HashMap<>();
|
|
|
- h.put("dirname", f);
|
|
|
+ if (f.isFolder()) {
|
|
|
+ HashMap<String, Object> h = new HashMap<>();
|
|
|
+ h.put("dirname", f.getFileName());
|
|
|
+ h.put("last_mod", DisplayUtils.getRelativeTimestamp(this, f));
|
|
|
data.add(h);
|
|
|
}
|
|
|
|
|
@@ -409,7 +417,7 @@ public class ReceiveExternalFilesActivity extends FileActivity
|
|
|
data,
|
|
|
R.layout.uploader_list_item_layout,
|
|
|
new String[] {"dirname"},
|
|
|
- new int[] {R.id.filename},
|
|
|
+ new int[] {R.id.filename, R.id.last_mod});
|
|
|
getStorageManager(), getAccount());
|
|
|
|
|
|
mListView.setAdapter(sa);
|
|
@@ -446,6 +454,17 @@ public class ReceiveExternalFilesActivity extends FileActivity
|
|
|
synchFolderOp.execute(getAccount(), this, null, null);
|
|
|
}
|
|
|
|
|
|
+ private Vector<OCFile> sortFileList(Vector<OCFile> files) {
|
|
|
+ SharedPreferences sharedPreferences = PreferenceManager
|
|
|
+ .getDefaultSharedPreferences(this);
|
|
|
+
|
|
|
+ // Read sorting order, default to sort by name ascending
|
|
|
+ FileStorageUtils.mSortOrder = sharedPreferences.getInt("sortOrder", 0);
|
|
|
+ FileStorageUtils.mSortAscending = sharedPreferences.getBoolean("sortAscending", true);
|
|
|
+
|
|
|
+ files = FileStorageUtils.sortFolder(files);
|
|
|
+ return files;
|
|
|
+ }
|
|
|
|
|
|
private String generatePath(Stack<String> dirs) {
|
|
|
String full_path = "";
|