X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/ebca7fcb20843f43d54269f6c7b46f3d2d6859bd..a99a28cc61d48eca63803c3d661ea1be14f99aec:/src/com/owncloud/android/ui/activity/Uploader.java diff --git a/src/com/owncloud/android/ui/activity/Uploader.java b/src/com/owncloud/android/ui/activity/Uploader.java index 83b029f7..cd80a94e 100644 --- a/src/com/owncloud/android/ui/activity/Uploader.java +++ b/src/com/owncloud/android/ui/activity/Uploader.java @@ -84,6 +84,7 @@ import com.owncloud.android.ui.dialog.LoadingDialog; import com.owncloud.android.utils.CopyTmpFileAsyncTask; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.ErrorMessageAdapter; +import com.owncloud.android.utils.FileStorageUtils; /** @@ -334,7 +335,9 @@ public class Uploader extends FileActivity // click on folder in the list Log_OC.d(TAG, "on item click"); // TODO Enable when "On Device" is recovered ? - Vector tmpfiles = getStorageManager().getFolderContent(mFile /*, false*/); + Vector tmpfiles = getStorageManager().getFolderContent(mFile , false); + tmpfiles = sortFileList(tmpfiles); + if (tmpfiles.size() <= 0) return; // filter on dirtype Vector files = new Vector(); @@ -399,16 +402,17 @@ public class Uploader 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); @@ -419,20 +423,23 @@ public class Uploader extends FileActivity mFile = getStorageManager().getFileByPath(full_path); if (mFile != null) { // TODO Enable when "On Device" is recovered ? - Vector files = getStorageManager().getFolderContent(mFile/*, false*/); + Vector files = getStorageManager().getFolderContent(mFile, false); + files = sortFileList(files); + List> data = new LinkedList>(); for (OCFile f : files) { - HashMap h = new HashMap(); if (f.isFolder()) { + HashMap h = new HashMap(); h.put("dirname", f.getFileName()); + h.put("last_mod", DisplayUtils.getRelativeTimestamp(this, f)); data.add(h); } } SimpleAdapter sa = new SimpleAdapter(this, data, R.layout.uploader_list_item_layout, - new String[] {"dirname"}, - new int[] {R.id.filename}); + new String[] {"dirname", "last_mod"}, + new int[] {R.id.filename, R.id.last_mod}); mListView.setAdapter(sa); Button btnChooseFolder = (Button) findViewById(R.id.uploader_choose_folder); @@ -445,6 +452,18 @@ public class Uploader extends FileActivity } } + private Vector sortFileList(Vector 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.sortOcFolder(files); + return files; + } + private String generatePath(Stack dirs) { String full_path = ""; @@ -608,9 +627,11 @@ public class Uploader extends FileActivity RemoteOperationResult result) { if (result.isSuccess()) { dismissLoadingDialog(); + String remotePath = operation.getRemotePath().substring(0, operation.getRemotePath().length() -1); + String newFolder = remotePath.substring(remotePath.lastIndexOf("/") + 1); + mParents.push(newFolder); populateDirectoryList(); } else { - dismissLoadingDialog(); try { Toast msg = Toast.makeText(this, ErrorMessageAdapter.getErrorCauseMessage(result, operation, getResources()),